ПодключитьОбработчикИзмененияДанных в УФ, как? #803388


#0 by novichok79
Доброго времени суток, дорогие коллеги. Вопрос - как отловить событие изменения отбора в динамическом списке? Платформа - 1С:Предприятие 8.3 (8.3.10.2299). Заранее благодарю за помощь.
#1 by novichok79
ПриПолученииДанных, ОбновлениеОтображения?
#2 by novichok79
можно попробовать конечно еще ПриОбновленииСоставаПользовательскихНастроекНаСервере кто-нибудь плавал, знает?
#3 by novichok79
не, не вариант
#4 by novichok79
Отстойные эти управляемые формы, не знаю почему на них здесь так много фапают. Такой гемор нало ловить, по сути, для реализации типовых функций - отловить изменение отбора в динамическом списке. Для моих целей подходит обработчик - ПриПолученииДанныхНаСервере, но он на СервереБезКонтекста, то есть добраться до элементов формы я не могу. Кто б***ь это придумал?
#5 by Вафель
до недавнего времени и его не было
#6 by novichok79
А смысл придумывать эту функцию, если она применима к каким-то общим данным базы, а не к элементам формы? Можно придумать недоступные элементы отбора и через элементы на форме устанавливать их в списке (по типу отбора по периоду на форме в УТ 11), тогда эти недоступные наборы всегда будут присутствовать в компоновщике списка, и я смогу отловить их значение когда угодно. Но до тех пор пока не попадется крутой бесстрашный пользователь, который способен сам установить произвольный отбор в демоническом списке, то что тогда?
#7 by novichok79
решено обработчиком ожидания + при быстрых отборов на форме. еще раз, УФ - кусок какашки, даже в 8.3.10
#8 by Вафель
Это называется "Жри что дают"
#9 by novichok79
только об этом подумал, что дали красивый велосипед с немножко квадратными колесами, без подписанных передач на переключателе.
#10 by Господин ПЖ
>не знаю почему на них здесь так много фапают тупорезы не умеют настроить привязки в УФ все неплохо пока задача в рамках "2+2"
#11 by novichok79
не понимаю чего сложного в привязках, там все предельно ясно - 4 стороны и 3 типа привязок, остается только комбинировать, да и то, если привязывать левую границу, то по вертикали ее точно не увязать. уж лучше привязки с четкими размерами, чем плавучая хрень в УФ, где надо изращаться с декорациями заданной длины, вместо наименований, чтобы сделать аналогичную ОФ шапку документа.
#12 by Вафель
Основная проблема ОФ была не в самих привязках, а то что в конфигураторе не растягивались элементы при изменении размера формы
#13 by Господин ПЖ
>а то что в конфигураторе не растягивались элементы при изменении размера формы щито вы говорите...
#14 by novichok79
чего? по умолчанию они тянутся, там даже думать не надо про привязки иногда.
#15 by Fedor-1971
ну зачем же, вот так, категорично. 1С развивает свою систему, несколько скачками (туда, сюда, обратно ...), но движется к балансу производительность/удобство и для программиста, и для пользователя. Что УФ, что ОФ имеют свои ограничения (что-то проще в ОФ, что-то в УФ). Сейчас в УФ добавляются некоторые плюшки из арсенала ОФ. На мой взгляд, чисто моё мнение, от ОФ отказались из-за слишком хитрых программеров (очень уж просто выдать го-но код без раздумий "А что будет с системой"). Хотя тормозов на УФ можно устроить больше, при грамотном использовании они ничем не хуже ОФ, а ограничения программера не такие уж и больше (хоть мысли появляются "а что и где я собственно делаю?". Веток "как показать ТабличныйДокумент" или "как открыть форму" наСервере предостаточно). Лично мне несколько не понятно принятое 1С решение: об отсутствии "Напечатать" у ТабличногоДокумента на сервере - с одной стороны, печатаем на принтер у пользователя и тут всё логично, но с другой стороны PDF принтер можно поставить только на сервере и всем выдавать готовые PDF файлы (админу проще) и доступ раздавать не нужно
#16 by novichok79
потрачен был час времени, чтобы сделать вывод состояния отбора в форме списка, да и то с костылями. это не какая уж сильно "нагружающая сервер или клиент" операция, это что-то элементарное в моем понимании. время бесценно, поэтому мои суждения столь категоричны. только на полностью УГ можно потратить час, чтобы вывести надпись на форме.
#17 by Fedor-1971
так нужна была просто универсальная индикация выставленных пользователем отборов?
#18 by Fedor-1971
17+ примерно как в журнале платежей на БП 3? (там такси и отображаются выставленные пользователем фильтры и отборы с пометкой "Х", типа удалить)
#19 by novichok79
Была старая крутая CRM на Delphi и BDE, при пролистывании списков тормозила, да и вообще, по сравнению с 1С с тем же объемом данных и работающих пользователей - тормозила. Я переписал ее на управляемые формы на базе БСП 2.4.2 В данный момент, осталось допиливание рюшечек в формах, "сделай как было в старой программе", или максимально похоже. Индикация отборов - это не совсем то, что нужно, но довольно близко.
#20 by novichok79
ну то есть посчитать количество документов заданного вида с таким-то статусом, с учетом наложенного (наклатого :D ?) пользователем фильтра в динамическом списке.
#21 by novichok79
вот надпись под фильтром по периоду, как сделать ее вычисление только по нужному событию, а не по таймеру, я не знаю.
#22 by Вафель
так пользовательские отборы сами создают элементы. Зачем еще какая то индикация?
#23 by novichok79
задача - вывести количество ссылок в списке по каждому статусу, в зависимости от отбора, установленного в дин. списке. как это сделать быстро?
#24 by FIXXXL
ПодключитьОбработчикОжидания с интервалом 0,1
#25 by novichok79
а, то есть, вызывать сервер каждые 0.1 секунды? замечательное решение.
#26 by Вафель
с таким интервалом только разово
#27 by FIXXXL
соответственно на событие повесить
#28 by Вафель
на какое?
#29 by FIXXXL
ПриОбновленииСоставаПользовательскихНастроекНаСервере прокатит?
#30 by novichok79
см. и
#31 by Вафель
и ты хочешь подключить обработчик ожидания из события на сервере?
#32 by FIXXXL
не хочу что не получилось?
#33 by novichok79
не всегда отрабатывает
#34 by Вафель
может ты поиск (помимо отбора) тоже хочешь обрабатывать?
#35 by novichok79
только отбор в дин. списке
#36 by lexasan
Метод Оповестить и ОбработкаОповещения не пробовали?
#37 by lexasan
Немного тупанул, невнимательно прочитал постановку задачи. Нашел вот такую статейку от 1С
#38 by lexasan
Но чтобы получить количество ссылок по отбору, нужно будет делать отдельный запрос с этим отбором, либо получать СКД динамического списка и колдовать уже с ним, например изменять текст запроса так, чтобы посчитать количество ссылок с доп. условиями
#39 by novichok79
метод недоступен в режиме тонкого клиента. я и сделал отдельный запрос.
#40 by novichok79
когда конкретно оповещать, если нет события, откуда можно выполнить команду?
#41 by Fedor-1971
Оповестить не работал (не работает?) между сеансами, т.е. один пользователь изменил, второму пользователю пришло оповещение про изменение для ДС - это надо поколдовать. вот из ОбработкаОповещения и выполняй свой подсчёт. Суть идеи в : например, в подписке на событие ПослеЗаписи всего что влияет на данный ДС ставим Оповестить("ИзмененыДанныеДСЛяЛя"), а в ОбработкаОповещения проверяем Если Событие="ИзмененыДанныеДСЛяЛя" тогда считаем, что нужно КонецЕсли; Недостаток описан выше. Тогда уж лучше использовать: ОповеститьОбИзменении(<Ссылка>), то же есть НО, у ДС должна быть заполнена таблица по умолчанию. Сработает ли ОбработкаОповещеия не скажу, надо проверять
#42 by novichok79
автообновление списка документов происходит каждые 30 секунд и по обработке оповещения тоже. как отловить событие, когда пользователь, знающий не по наслышке что такое управляемый интерфейс, добрался до настроек отбора в динамическом списке и поменял их?
#43 by Fedor-1971
Можно попробовать: ПодключитьОбработчикИзмененияДанных(<ИмяДанных>, <ИмяПроцедуры>, <ОтслеживатьПодчиненныеДанные>) с отслеживание м изменения отбора, или таки выяснить причины почему не всегда срабатывает
#44 by novichok79
ха, если бы обработчик ПодключитьОбработчикИзмененияДанных для управляемых форм был доступен, этой темы бы не появилось.
#45 by Fedor-1971
да, тупанул малость. Тогда остаётся разобраться с ПриОбновленииСоставаПользовательскихНастроекНаСервере. Надо выделить время порыться в новых версиях 8.3
#46 by novichok79
Это тоже не помогло. Я тоже сначала на этот обработчик подумал.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С