Доброго дня.
Есть процесс согласования, в котором два предмета: Основной - ВнутреннийДокумент и Заполняемый - Контрагент. Процесс сделан схемой, до задачи Согласование стоит квадратик обработки, в нём этот заполняемый предмет заполняется. Но в результате в процессе этот предмет заполнен, а в задаче Согласовать отображается незаполненный предмет. Почему так? Я так понимаю, предметы копируются из процесса в момент создания задачи Согласование, а в этот момент предмет заполнен уже.
Есть процесс согласования, в котором два предмета: Основной - ВнутреннийДокумент и Заполняемый - Контрагент. Процесс сделан схемой, до задачи Согласование стоит квадратик обработки, в нём этот заполняемый предмет заполняется. Но в результате в процессе этот предмет заполнен, а в задаче Согласовать отображается незаполненный предмет. Почему так? Я так понимаю, предметы копируются из процесса в момент создания задачи Согласование, а в этот момент предмет заполнен уже.
По теме из базы знаний
- Технология внедрения программ системы 1С:Предприятие
- Предметно-ориентированное проектирование (3D) в 1С. Виртуальная машина.
- Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика
- Как превратить бизнес-заказчиков и разработчиков в единую команду?
- ФинОфис. Контроль и управление финансами. Практика применения
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Что самое странное, если эту задачу согласовать, то следующая за ней задача создаётся с заполненным предметом! Вот скрин процесса. В квадратике "добавить контрагента в предметы" как раз заполняется предмет "Контрагент" у процесса. Задача "Согласовать повышение уровня контрагента" создаётся с незаполненным предметом, а задача "Согласовать 2" - уже с заполненным. WTF?
Прикрепленные файлы:
То есть - не обещал? А как вы будете например договор согласовывать тогда? Делается у процесса предмет - внутренний документ. И потом во всех подпроцессах, согласования, утверждения и т.д. он копируется автоматом, чтобы его сразу в задаче было видно.
Опять же, в приведённом примере во второй процесс "Согласование" копируется нормально. "На первый-второй второй процесс рассчитайсь!", блин.
Опять же, в приведённом примере во второй процесс "Согласование" копируется нормально. "На первый-второй второй процесс рассчитайсь!", блин.
С чего вы взяли что "Согласование" у меня комплексное или самописное? Самое обычное. Рисуется квадратик на схеме, открывается выбор типа процесса, там выбирается "Согласование", указывается ровно 1 согласующий, срок 1 день и всё, записать и закрыть. Обработчиков именно согласования нет никаких, да и как там можно повесить обработчик? Код выполняется только в квадратике Обработки с названием "Добавить контрагента в предметы".
Процесс рисовал сам. Код Обработки простой как три копейки:
Последних двух строк сначала не было, я подумал, может не записываются изменения в процессе до создания задача Согласование, вотнул принудительную запись. То же самое.
Процесс рисовал сам. Код Обработки простой как три копейки:
ВрЗапрос = новый запрос;
ВрЗапрос.Текст = "ВЫБРАТЬ
| Стороны.Сторона КАК Контр
|ИЗ
| Справочник.ВнутренниеДокументы.Стороны КАК Стороны
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ БизнесПроцесс.КомплексныйПроцесс.Предметы КАК Предметы
| ПО Стороны.Ссылка = Предметы.Предмет
| И Предметы.Ссылка = &Ссыль
| И Предметы.Предмет ССЫЛКА Справочник.ВнутренниеДокументы
| И Стороны.Сторона ССЫЛКА Справочник.Контрагенты";
ВрЗапрос.УстановитьПараметр("Ссыль", Процесс.Ссылка);
РезЗапр = ВрЗапрос.Выполнить().Выгрузить();
Если РезЗапр.Количество() > 0 Тогда
ИмяПредмета = Справочники.ИменаПредметов.найтиПоНаименованию("Контрагент");
Мультипредметность.ЗаписатьПредметБизнесПроцесса(Процесс.Ссылка, ИмяПредмета, РезЗапр[0].Контр);
ПроцОб = Процесс.Ссылка.ПолучитьОбъект();
ПроцОб.Записать();
КонецЕсли;
ПоказатьПоследних двух строк сначала не было, я подумал, может не записываются изменения в процессе до создания задача Согласование, вотнул принудительную запись. То же самое.
Первый предмет идет как основной, второй как заполняемый.
Процедура создания второго на основании первого, и запись его в предметы комплексного процесса.
Документооборот 8 КОРП, редакция 2.1 (2.1.14.4)
Процедура создания второго на основании первого, и запись его в предметы комплексного процесса.
Документооборот 8 КОРП, редакция 2.1 (2.1.14.4)
ПредметОснование = Процесс.Предметы[0].Предмет;
НовыйПредмет = Справочники.Мероприятия.СоздатьЭлемент();
НовыйПредмет.Заполнить(ПредметОснование);
НовыйПредмет.Записать();
Процесс.Предметы[1].Предмет = НовыйПредмет.Ссылка;
РаботаСБизнесПроцессами.ЗаписатьПроцесс(Процесс,
"ЗаписьСОбновлением_Предметов_ПредметовЗадач_Проекта_ОбщегоС пискаПроцессов_РабочихГруппПредметов_РабочихГруппПроцессов_Д опРеквизитовПоПредметам");
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот