|
Как вывести реквизит измерения регистра в динамический список?
Stepashkin, , PR, Hawk_1c, Chai Nic, Михаил Козлов, denk, maxab72, Волшебник, arsik, Ёпрст, okmail, Ногаминебить, , Zombi, Prog_man, elka302, Климов Сергей, laeg, ads55, Лирик, banco, Ненавижу 1С, maxar, 2S, PuhUfa
| ☑ |
0
Chai Nic
14.03.25
✎
08:19
|
Есть регистр, с измерением типа ДокументСсылка (все документы). В форме списка регистра хочу вывести признак, проведен документ или нет. Но через настройку динамического списка это сделать невозможно, измерение не "раскрывается" по реквизитам. Если делаю через "произвольный запрос", то если добавить в запрос реквизит ".Проведен", то при выходе из текста запроса редактор динамического списка ругается "Поле не найдено".
В то же время, если тот же самый запрос выполнить не в динамическом списке, а через обычный объект Запрос - то всё отрабатывает без ошибок.
Подскажите, как сделать? Можно конечно без динамического списка как крайний случай обойтись, заполняя таблицу на форме по результатам запроса, но может быть кто-то подскажет лучшее решение?
|
|
1
denk
14.03.25
✎
08:46
|
А в реквизите, где "все документы", реально ссылки разных видов документов? Если все-таки там ограниченный набор видов документов, то можно попробовать в запросе их присоединить левым соединением и вывести поле "Проведен" из присоединенной таблицы.
|
|
2
Chai Nic
14.03.25
✎
08:48
|
Нашел способ. В настройках ДС создаем вычисляемое поле, не задавая выражение, а потом его программно заполняем в обработчике ДС ПриПолученииДанныхНаСервере.
Вот так:
&НаСервереБезКонтекста
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
Для Каждого Строка Из Строки Цикл
ДанныеСтроки=Строка.Значение.Данные;
ДанныеСтроки.ПроведенПД=ДанныеСтроки.ПервичныйДокумент.Проведен;
КонецЦикла;
КонецПроцедуры
|
|
3
Волшебник
14.03.25
✎
08:50
|
Это же форма регистра, там все документы проведённые
|
|
4
Chai Nic
14.03.25
✎
08:51
|
(3) Регистраторы то проведенные, а речь о измерениях типа ДокументСсылка.
|
|
5
Климов Сергей
14.03.25
✎
08:53
|
(2) Запрос к базе данных в цикле. Харам!
|
|
6
Chai Nic
14.03.25
✎
08:56
|
(5) Предложите способ лучше?
|
|
7
PR
14.03.25
✎
09:01
|
(0) Лучшее решение — разобраться, почему у тебя не работают обычные решения, а не закапывать проблему
Обычные — это добавить через ссылку и в сам текст запроса
|
|
8
Климов Сергей
14.03.25
✎
09:02
|
(6) Увы :-(
Разве что извращение типа хранить признак проведённости документа прямо в регистре. Или в связанном РС.
|
|
9
Chai Nic
14.03.25
✎
09:33
|
(7) Я так понимаю, это защита СКД от обращения через точку к полям множественного типа. Чтобы не создавать мегасоединения таблиц в запросах. А из кода в обработчике можно, потому что на этапе его выполнения вид документа уже известен, и обращение идет к конкретной таблице. Но эта защита только для СКД применяется, в обычных запросах через точку к множественному типу обращаться можно.
|
|
10
PR
14.03.25
✎
09:44
|
(9) 🤦
|
|