Имя: Пароль:
1C
1С v8
Динамический список документов с вычисляемым доппараметром.
0 Target1025
 
15.04.23
11:07
Задача выглядит ак: в ручных операциях в списке документов долждно быть видно, где движения выключены.

В самом документе поля такого нет. Сам при открытии формы документ анализирует все сохраненные движения всех регистров на предмет активности. Если все неактивны ставится признак неактивности на форму.
    АктивностьДвижений = Истина;
    
    Для каждого СтрокаРегистра Из Регистры Цикл
...                Если СтрокаРегистра.Записывать Тогда
                    АктивностьДвижений = АктивностьДвижений И ЭтотОбъект[ИмяРеквизита][0].Активность;
                КонецЕсли;
    КонецЦикла;
...

Но в списке операций такое не реализовано. Список динаминческий и собирается запросом:
...
    ДокументОперацияБух.ТиповаяОперация КАК ТиповаяОперация,
    ДокументОперацияБух.МоментВремени КАК МоментВремени,
    ВЫБОР
        КОГДА ДокументОперацияБух.ПометкаУдаления = ИСТИНА
            ТОГДА 2
        ИНАЧЕ 1
    КОНЕЦ КАК СостояниеДокумента,
    ВЫБОР
...

Возник вопрос, как можно или из запроса вызывать функцию, чтобы каждый док проверить на активность/неактивность. Или же подготовить данные связки "док-активность" на требуемый список заранее и потом подгрузить в запросс. Но подготовка данных по всем докам будет долгой и хотелось бы понять, можно ли выяснить тот список доков, что планируется к показу, чтобы не собирать данные по документам, что на экран пользователю не попадут.
1 butterbean
 
15.04.23
11:44
(0) дык все же документы ОперацияБух потенциально попадут в список
Такое вообще нужно реализовывать через реквизит документа или отдельный регистр сведений, остальные методы показа будут нещадно тормозить
2 RomanYS
 
15.04.23
11:54
(0) в запросе дс соединить с первой проводкой
3 ptiz
 
15.04.23
14:45
(0) наверняка хватит условия "хотя бы одно движение неактивно". Сделай новое поле в запросе "ЕстьНеактивноеДвижение" путем соединения с любой записью регистра бухгалтерии, в котором Активность=Ложь