helpf.pro
Регистрация

v8.3: Как добавить вычисляемое поле в форму списка справочника

LUN2
17.09.2018 22:01Прочитано: 3934

Добрый день! Мне необходимо добавить в форму списка справочника новое поле (УФ), которое будет вычисляться на основании других полей той же строки справочника. Для вычислений будет использоваться моя функция общего модуля. Форма списка строится на основании данных произвольного запроса. Каким образом, я могу добавить такое поле ? Пробовал сформировать его в произвольном запросе, но функцию общего модуля не вызвать (если это можно, подскажите каким образом). Если бы было доступно событие ПриВыводеСтроки ... но оно только для ТЧ. Подскажите, пожалуйста, какие есть варианты, как проще это сделать (версия 8.3.8, т.е. <ПриПолученииДанныхНаСервере> не годится).

PS: 1С в процессе изучения, поэтому если вопрос задан косячно, не обессудьте...

Yandex
Возможно, вас также заинтересует
Реклама на портале
АВП
18.09.2018 20:29Ответ № 1

Попробуйте программно создать новое поле и заполнить его

В ПриСозданииНаСервере

Код 1C v 8.3
 НовПоле = Список.КомпоновщикНастроек.Настройки.ПользовательскиеПоля.Элементы.Добавить(Тип("ПользовательскоеПолеВыборКомпоновкиДанных"));   
Код 1C v 8.3
 НовПоле.Использование = Истина;   

И дальше заполняете это НовПоле

LUN2
18.09.2018 22:31Ответ № 2

Спасибо, я не очень понял, в какой момент (в каком событии) заполнять это поле.

Если я правильно понимаю, то создать пустое поле можно в произвольном запросе: сначала заполнить его пустой строкой, а затем присвоить ему значение.

Но проблема в том, что в произв. запросе я не могу вызвать функцию общего модуля.

А если не в запросе заполнять, то где тогда ? (в этом-то и вопрос...)

АВП
18.09.2018 23:10Ответ № 3

В событии ПриСозданииНаСервере в конце. Запрос выводящий список уже отработал. Вы программно добавляете поле и программно заполняете его. 

LUN2
19.09.2018 21:36Ответ № 4

АВП, все же я правильно понимаю, что вместо программного добавления можно в запросе:

ВЫБРАТЬ ..... "" КАК НОВОЕПОЛЕ ... 

и далее программно его заполнить, как Вы говорите ?

АВП
19.09.2018 23:18Ответ № 5

В запросе вы сразу определяете тип данных. Например, в вашем приведенном коде - это строка ("") Если вычисляемое поле это тоже строка, то ДА можно и так

LUN2
20.09.2018 21:31Ответ № 6

АВП, спасибо за помощь!

LUN2
25.09.2018 21:26Ответ № 7

"...событии ПриСозданииНаСервере в конце. Запрос выводящий список уже отработал. Вы программно добавляете поле и программно заполняете его. "

АВП, прошу прощения за повтор, но попробовав заполнить это новое поле, которое создано в запросе, я понял, что не очень понимаю, а как к нему подступиться, чтобы заполнить в ПриСозданииНаСервере. Не могли бы Вы подсказать мне ?

Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.