(8) мимо. В браузере 1С window.ScrollY всегда равен нулю. window.pageyoffset тоже равно нулю.
Вообще все методы на прокрученной до конца вниз странице дают 0:
function bus_scroll_click(event) {
//alert('click');
var bus_scroll = document.getElementById("bus_scroll");
bus_scroll.setAttribute("scrollY", window.scrollY);
bus_scroll.setAttribute("pageYOffset", window.pageYOffset);
bus_scroll.setAttribute("document_documentElement_scrollTop", document.documentElement.scrollTop);
bus_scroll.setAttribute("document_body_scrollTop", document.body.scrollTop);
}
(1) Не по теме вопрос, но может у тебя такая разработка есть.
В ОСВ по 62 счету в 1С Бухгалтерии есть суммы с плюсом и с минусом. Их нужно "схлопнуть". Сделать ручную операцию по 62 счету, которая эти суммы взаимно зачтет. Причем так, чтобы обороты не увеличивались.
Документ «Корректировка долга» не выполнил свою функцию корректно. Поэтому пришлось сделать ручной операцией, но бухгалтер все равно остался недоволен, потому что увеличились обороты.
Есть ли у тебя обработка, которая правильно сформирует проводки по "схлопыванию" сумм с плюсом и с минусом на 62 счете? Или может ты что-то подобное видел.
Чтобы получить позицию вертикального скроллера (вертикальную прокрутку) в JavaScript, можно использовать следующие свойства:
1. Для всего документа (страницы):
javascript
// Совместимый способ (работает в большинстве браузеров)
const scrollPosition = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
console.log(scrollPosition); // Выведет текущую позицию скролла по вертикали
2. Для конкретного элемента с прокруткой:
javascript
const element = document.getElementById('scrollable-element');
const scrollPosition = element.scrollTop;
console.log(scrollPosition); // Позиция скролла внутри элемента
3. Современный способ (лучшая практика):
javascript
const scrollPosition = window.scrollY; // Только для вертикального скролла
// или
const scrollPosition = window.scrollX; // Для горизонтального скролла
(2) я чуть выше писал, что ScrollY всегда возвращает ноль. Такое ощущение, что 1С рассматривает документ как не скроллируемый.
Я написал небольшой файл HTML+JS, где выполняется onScroll. Так вот в браузере все ОК, а в 1С onScroll не вызывается тупо.
function addTextToEnd(text) {
// Создаем новый элемент параграфа
const paragraph = document.createElement('p');
// Устанавливаем текст для параграфа
paragraph.textContent = text;
// Добавляем параграф в конец body
document.body.appendChild(paragraph);
}
window.addEventListener('scroll',()=>{
addTextToEnd("Scroll Y: " + window.scrollY);
//console.log(document.documentElement.scrollTop || document.body.scrollTop);
});
(17) насколько я понял, совет заключается в слушателе события scroll.
Так вот один и тот же html код в браузере ловит событие scroll, а в полетхтмл документа не ловит.
Такое ощущение, что все поле хтмл документа 1с считает одним большим полотном, которое прокручивает не средствами браузера, а своими
Хотя я ещё попробую и выложу версию со слушателем сюда.
(20) Это из серии "как все нормальные посоны делают это".
Кстати, ты в курсе про встроенный в 1С отладчик JS? Контрл+Шифт+Альт+Ф12. Там и консолька есть. Погляди в свойства глазками своими.
(25) Какую обработку? На картинке? Так это фрма, в ней один реквизит типа строка, выведенный в поле ХТМЛ, в коде строке присваивается "хтмл/боди/див стайл = блабла" - т.е. строка. Код на картинке - это тот самый документ.боди.скроллтоп. Для разных позиций скролла он у меня показывает разные цЫфры.
24.
starik-2005
317930.04.25 23:56 Сейчас в теме+0.2 $m
(20) В общем хз, что ты там куришь, но вот я не поленился и в линухе своем залез глянуть. В итоге у меня работает один из методов, который дипсик выдал. Смотри картинку.
ЗЫ: ну ты же понимаешь, что див тут просто для того, чтобы в принципе скроллбар был виден, да? Ну т.е. что это не скорлл внутри дива...
21.
vadim1011985
10330.04.25 22:58 Сейчас в теме+1.5 $m
(18) Так оно и есть. Если в стилях для Body задать высоту например как height: 100% то появляется вторая полоса прокрутки которая получает и возвращает scrollTop