Многострадальная процедура ПриПолученииДанных #681939


#0 by CyberDream
Есть задача. Нужно чтобы, при определнных условиях раскрашивались поля в форме списка справочника. Справочник - ФизическиеЛица. Если, СотрудникОрганмзации, к которому привязано данное физическое лицо уволен, то поле с физическим лдицом должно быть закрашено. Поскольку физических лиц дофига, процедура ПриВыводе строки - не тру, поскольку есть обращение к БД и вся эта фигня будет жестко тормозить. Вот тут вопрос. Форма списка ФизическиеЛица простейшая, никаких отборов там не используется. Ставим в процедуре "ПриПолученииДанных" точку останова и открываем форму списка... Тут... происходит какая-то нездоровая фигня. Процедура вызывается для каждой строчки табличного поля отдельно, более того, ситуация повторяется, если прокрутить список вниз или вверх.... Пока туплю.... объяснения сему нет.... Помагайте....
#1 by Euguln
Принудительное обновление формы?
#2 by CyberDream
Перекопал все - ничего похожего не нашел
#3 by Жан Пердежон
переходите на управляемые формы, там это реализовано)
#4 by ДемонМаксвелла
ИМХО при получении данных ты заставляешь платформу получать данные заново
#5 by CyberDream
УФ это круто, но, к сожалению, Бухгалтерии для Украины на УФ еще не придумали
#6 by CyberDream
Догда какая разница между ПриВыводеСтроки и ПриПолученииДанных. Сами 1С в ИТС для обработки данных из БД рекомендуют использовать ПриПолученииДанных вместо ПриВыводеСтроки
#7 by МойКодУныл
при прокрутке оно и будет вызываться, т.к. появляются новые "видимые данные". А вот при выводе - и правда нездоровая фигня))).
#8 by Поросенок Петр
Напили одну упр форму для справочника и включи галку юзать УФ в обычном режиме.
#9 by CyberDream
Короче... заманался я искать.... время поджимает. Ща сделал через ПривыводеСтроки. Как-нить на досуге поковыряю. Пока пусть клиент хавает так. Вроде глазами тормозов не заметно, а там подумаем.
#10 by Старик Юзергад
Читай СП
#11 by CyberDream
у тебя такое в СП написано? ---------- ТабличноеПоле (TableBox) ПриПолученииДанных (OnDataGet) Синтаксис: ПриПолученииДанных(<ОформленияСтрок>) Параметры: <ОформленияСтрок> Тип: ОформленияСтрок. Коллекция оформления строк табличного поля. Данную коллекцию нельзя использовать вне обработчика, т.к в момент вызова обработчика события она напрямую связана с коллекцией видимых строк табличного поля, а после окончания обработки события ее содержимое может не соответствовать коллекции видимых строк. Описание: Возникает при получении данных табличным полем, после обработки событий ПриВыводеСтроки. ---------- Думаешь я не читал???
#12 by Kreont
да ниче там не скажется на скорости, все нормально ,аналогично доделывал такое
#13 by y22-k
так и должно по идее быть в чем проблема то? первый раз он обрабатывает одну строку потом все что на экране
#14 by Bober
около 9 лет 1с пишет, что при выводе строки оставлено для совместимости, пользуйтесь ПриПолученииДанных. Если меняются данные при получении данных, то процесс обновления запускается снова и так до бесконечности.
#15 by Bober
ПриПолученииДанных
#16 by Михаил Козлов
Можно еще хранить свой кэш, в котором запоминать (для физ. лица) нужное значение (например, соответствие с ключом = ссылке на физ. лицо); при прокрутке туда-сюда не нужно будет формировать данные.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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