#0
by pavel_tr
Есть документ, в нём 3 вычисляемые колонки, все нужны для работы. При открытии формы 1С начинает считать формулы, причём для документа из 1 строки считает она по 3 раза каждую. Можно ли с этим что-то сделать? При количестве строк в документе > 50 открытие заметно подтормаживает
#2
by DrZombi
Читать мануал по 1С и юзать функцию ПриЗаписиПерепроводить(<?>); Синтаксис: ПриЗаписиПерепроводить(<Режим>) Назначение: Установить режим перепроведения при записи проведенного документа. Параметры: <Режим> - число: 1 - обязательно перепроведение при записи уже проведенного документа; 0 - не обязательно перепроведение при записи уже проведенного документа. Замечание: Метод доступен только в Модуле формы документа и работает с документом доступным в локальном контексте.
#3
by DrZombi
+ Сори немого опичатался ВыполнятьФормулуТолькоПриИзменении(<?>); Синтаксис: ВыполнятьФормулуТолькоПриИзменении(<Режим>) Назначение: Установка режима выполнения формулы выбранного поля табличной части документа. Параметры: <Режим> - число: 1 - формула вызывается только при изменении значения поля, 0 - вызывается и при переходе между полями. Замечание: Доступ к методу возможен только в контексте Модуля формы через атрибут Форма. Подробнее см. в документации, глава 'Атрибуты и методы контекста Модуля формы'
#5
by pavel_tr
Поясните пожалуйста, как эта функцифя влияет на многократный вызов формул элементов диалога? Мне нужно чтоб на форме в колонках были нужные мне цифры, но чтобы считалось всё по 1 разу для каждой колонки
#9
by pavel_tr
+ никакой разницы! При открытии формы считает трижды формулы для всех строк, потом при перемещении по строкам независимо от режима, - считает формулу текущей строки В принципе, тормозит только открытие, при перемещении пересчёт устраивает. Как можно с этой проблемой бороться?
#10
by savaB
1. если СКЛ - прямой запрос 2. первая функция - получение данных, остальные две обращаються к готовым переменным
#13
by pavel_tr
уже на прямых всё, так бы повесились. Да, так пробовал делать, но всё равно оставшаяся формула будет трижды вызываться, т.е. никакой разницы
#14
by pavel_tr
в ПриОткрытии ничего подозрительного - устанавливается идимость некоторых реквизитов, ПриЗаписиПерепроводить, да и всё...
#16
by savaB
разница в том, что не будет обращения к базе ( первая функция выполняет запрос, устанавливает итоги в переменные, а вторая функция просто возвращает переменную)
#17
by pavel_tr
Сейчас попробовал оставить 1 колонку с формулой - она тоже вызывается три раза! Где-то косяк чтоли? Там вроде негде косячить-то... 1й раз понятно - отрисовка формы при открытии, 2й тоже понятно - т.к. 1я строка является текущей после открытия, но зачем 3й раз вызов? И откуда?
#18
by pavel_tr
Порядок вызова функции при открытии документа из 3 строк: (оставлена 1 колонка с функцией)
#19
by pavel_tr
неа. просто вместо того, чтобы вычисляться в формуле каждой ячейки, значения будут вычисляться в формуле одной из них. Общее количество обращений к базе не изменится (только если одним запросом всё выдёргивать, а тут данные разные, это не выгодно делать)
#20
by AlexP
А нет ли где "Форма.Обновить" или каких других функций, вызывающих перерисовку формы ???
#22
by AlexP
Она вызывается другой функции, которая в свою очередь вызывается из текста на форме? :)
#23
by pavel_tr
Она вызывается после выгрузки ТЧ в ТЗ, свёртки и загрузки обратно. На форме были 3 строки с суммами ещё Сейчас вот издеваюсь... Скопировал тот гнусный документ, оставил 1 колонку с формулой, все реквизиты с формы удалил. Всё равно, зараза, 3 раза считает формулу. Добавил новый документ + 3 вычисляемые колонки в него - считаются по 1 разу каждая. Пытаюсь вот понять, вдеж всё-таки косяк...
#24
by pavel_tr
Разобрался! Текстовым колонкам с формулой был назначен идентификатор! Как только его убрал - всё отлично, все формулы считаются 1 раз для каждой строки. Ура!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Вычисляемая колонка в табличной части документа или формы списка
- Вычисляемая колонка в форме табличной части документа, как?
- УФ Не отображается вычисляемая колонка в ТЧ документа
- Вычисляемая колонка в динамическом списке. Получение цены согласно курса.
- Как в управляемой форме посчитать итог по колонке тч на форме?
В этой группе 1С
- Высота ячейки в печатной форме
- v7: Сохраняется ли средний заработок при реорганизации предприятия?
- Как в цикле обойти все открытые формы (при помощи WScript)?
- ЗУП 2.5 Учет договоров добровольного мед. страхования
- Ошибка R6025 - pure virtual function call !
- Как в ЗУП ввести тарифную сетку?...
- Как изменить трудовой договор в КАМИН 2.0
- отчет в 1С 7.7 ред.9.2 Торг+склад
- Напоминания
- Плановая себестоимость и Себестоимость в спр.Номенклатура (Бух.учет)
- Как получить движения документа используя свойство Движения?
- Товар не распределился по партиям
- Не закрывается регистр ПартииНаличие 1с 7.7
- Мировые лидеры САПР, PLM и ERP соберутся в Новосибирске
- Как из макета обработки выгрузить правило в файл для загрузки в КД
- ЗУП2.5.8 Как вернуть работнику ошибочно перечисленную через банк зарплату?
- v7: Выгрузка в xml
- Создание базы на сервере 1С:Предприятия 8.1
- Как в запросе проверит пустая ли строка?
- v7: Можно ли реализовать оплату пластиковыми картами