Проверка наличия несогласованных виз в 1С Документообороте
В больших шаблонах маршрутизации нередко можно встретить вложенные подпроцессы, но тут может оказаться неприятный нюанс
Когда вложенный подпроцесс завершается с отрицательными результатами согласования, система всё равно расценивает это как успешное завершение и переходит к следующим этапам
В этом случае может пригодиться условие, в котором проверяется наличие несогласованных виз
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Документ = Предмет.Ссылка; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВизыСогласования.РезультатСогласования КАК РезультатСогласования, | ВизыСогласования.Документ КАК Документ |ИЗ | Справочник.ВизыСогласования КАК ВизыСогласования |ГДЕ | ВизыСогласования.Документ = &Документ | И ВизыСогласования.РезультатСогласования = ЗНАЧЕНИЕ(Перечисление.РезультатыСогласования.НеСогласовано) | И ВизыСогласования.ПомещенаВИсторию = ЛОЖЬ | И ВизыСогласования.ПометкаУдаления = ЛОЖЬ | И ВизыСогласования.Удалена = ЛОЖЬ"; Запрос.УстановитьПараметр("Документ",Документ); РезультатЗапроса = Запрос.Выполнить(); ВыборкаЗапрос = РезультатЗапроса.Выбрать(); Если ВыборкаЗапрос.Количество() > 0 Тогда Результат = Ложь; // Есть визы НЕ согласования Иначе Результат = Истина; // Всеми согласовано КонецЕсли; |
Комментарии закрыты