Проверка статуса документа

1. Denium79 15 28.04.20 09:08 Сейчас в теме
В компании 1С: ДО интегрированный с 1С:КА2. Конфигурации на замке.

В ДО 2 процесса согласования и исполнения. По логике после процесса согласования необходимо отправить на исполнение. Необходимо чтобы программа на исполнение отправляла только согласованные документы.

Пытаюсь сделать через условия шаблона для процесса исполнения.

Не могу понять, как проверить статус согласования документа. В режиме конструктора состояние документа не участвуют. Как можно проверить или конструктором или встроенным языком.

Может быть есть какой то более правильный способ?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Denium79 15 28.04.20 09:38 Сейчас в теме
Сделал так:

УстановитьПривилегированныйРежим(Истина);
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ТекущиеСостоянияДокументов.Документ КАК Документ
		|ИЗ
		|	РегистрСведений.ТекущиеСостоянияДокументов КАК ТекущиеСостоянияДокументов
		|ГДЕ
		|	ТекущиеСостоянияДокументов.Документ = &Документ
		|	И ТекущиеСостоянияДокументов.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияДокументов.Согласован)";
	
	Запрос.УстановитьПараметр("Документ",  Предмет.Ссылка);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	Если РезультатЗапроса.Пустой() Тогда
		Результат=Ложь;
	Иначе
		Результат = Истина;
	КонецЕсли;

УстановитьПривилегированныйРежим(Ложь);

Показать


Вроде работает. Есть еще какие то способы?
Прикрепленные файлы:
3. Denium79 15 28.04.20 10:38 Сейчас в теме
Не сработал. В ДО все отлично. Если нет статуса "Согласовано", то даже шаблона нет в списке. А в КА проблема. Не срабатывает. И шаблон видно и запускает без проблем.
4. ReDvAlL 28.04.20 12:28 Сейчас в теме
(3) Вам нужно создать шаблон КОМПЛЕКСНОГО процесса и добавить туда два действия: СОГЛАСОВАНИЕ и ИСПОЛНЕНИЕ. Выбрать порядок СМЕШАННЫЙ, появится колонка ПОРЯДОК ВЫПОЛНЕНИЯ. Тыкаете в неё во второй строке (это у вас как раз исполнение) и там настраиваете условия. У меня автоматом прописалось условие "ЕСЛИ СОГЛАСОВАН 1". Картинку если надо, позже прикреплю
5. ReDvAlL 28.04.20 12:29 Сейчас в теме
Скриншот:
Прикрепленные файлы:
6. Denium79 15 28.04.20 13:19 Сейчас в теме
Понял, спасибо за ответ.
Такой вариант не очень подойдет, т.к. исполнение и согласование по времени необходимо разделить. Поэтому сделал разные процессы. Сейчас проблема в том, что условия, которые срабатывают в ДО , не срабатывают в КА при отправлении на исполнение.
Если в ДО, при условии несогласованного документа шаблон исполнения даже в списке не отображается, то в КА при получении перечня шаблонов, отображаются все. И процесс исполнения не только отображается, но и запускается.

Придется видимо на стороне КА решать эту проблему
8. ReDvAlL 28.04.20 13:35 Сейчас в теме
(6)
Такой вариант не очень подойдет, т.к. исполнение и согласование по времени необходимо разделить. Поэтому сделал разные процессы.

Для этого есть отложенный старт процесса. Указывается количество дней и часов. И не надо разделять на два независимых процесса
7. Denium79 15 28.04.20 13:33 Сейчас в теме
Как не хотел править код, но пришлось. Заодно решил проблему отображения тучи шаблонов при создании процесса в КА.

Сделал следующее:
1. Закинул в расширение модуль: Обработки.ИнтеграцияС1СДокументооборот - Форма "Создание бизнес процесса" - ЗаполнитьДеревоШаблонов(ПолучатьВидДокумента)

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

Вот кусок кода


В дальнейшем если понадобятся другие документы или шаблоны, можно будет добавлять по мере необходимости по названию и сделать группировки.
9. ReDvAlL 28.04.20 13:37 Сейчас в теме
(7)
Заодно решил проблему отображения тучи шаблонов при создании процесса в КА
Шаблоны привязываются к виду документа, соответственно если все настроено в ДО корректно, то и не будет отображаться "туча" шаблонов. Будут показываться только те шаблоны, которые привязаны к этому виду документа.
10. Denium79 15 28.04.20 13:39 Сейчас в теме
(9) Видимо при интеграции это не срабатывает. В ДО показывает корректно и только привязанные, но в КА почему то вываливаются все шаблоны и процессы по умолчанию.

Сейчас всего 2 нужных и третий если позволяет статус.
11. ReDvAlL 28.04.20 13:42 Сейчас в теме
(10) Всё срабатывает, проверено на ERP и УХ, иначе не писал бы. Порядок действий распишите, как создается процесс из КА. Лучше со скриншотами
P.S. Правила интеграции настроены?
12. Denium79 15 28.04.20 16:10 Сейчас в теме
(11) Смотрите, вроде бы все стандартно. В ДО все настроено, все работает. Единственно пока не научился оставить в процессах только те, что назначены без процессов по умолчанию.

В КА тоже все настроено стандартно. Но при попытке запустить процесс по документу выходит много строк. Шаблоны и процессы по умолчанию
Прикрепленные файлы:
13. ReDvAlL 28.04.20 16:32 Сейчас в теме
(12) Да, все настроено стандартно. А процессы по умолчанию и правда выводятся, хотя внутри самой ДО - нет. Так что я был не прав по поводу интеграции. Но в сторону комплексного процесса всё же посмотрите
14. c-denis 29.04.20 22:07 Сейчас в теме
Полностью поддерживаю ReDvAlL, зачем пилить костыли, если в ДО есть отличный типовой функционал в виде Комплексных процессов.
Даже если процессы сильно разнесены по времени, это не мешает его использованию.

В вашем случае сотрудник должен запустить документ на исполнение после согласовании.
Каким образом только будет происходить контроль - вовремя ли его отправили на исполнение или нет. И вообще отправили?
В комплексном процессе сразу после согласования (и только после согласования), либо через определенный интервал времени (через час. день, неделю в соответствии с регламентом) у вас стартует задача Исполнить.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот