Задача = Для документа "Расход материалов(Требование-накладная)" в Бухгалтерия 3.0 получать автоматически статус согласования из Документооборот 3.0 из документа(процесса) "Внутреннее потребление"(наименование процесса у вас свое).
На основе данной публикации можно по сути связать любой документ из БП с документом(процессом) из ДО.
В данной публикации будем рассматривать живой пример для документа "Расход материалов(Требование-накладная)".
В основе данной публикации лежит публикация Добавление состояния согласования из 1С: Документооборот. Автору публикации выражаю благодарность.
Алгоритм применения расширения:
1.Вначале необходимо выполнить типовую настройку бесшовной интеграции БП с ДО
2. Далее настроить правила обмена по бесшовной интеграции
Тут привожу кусок текстового кода из Картинки_6 для копирования в базу:
Согласования = Новый Массив();
Согласования.Добавить(Параметры.Источник.status_52bc5d20_b082_11ee_8127_98ded001121c);
Согласования.Добавить(Параметры.Источник.status_6892d241_f7f1_11ee_8127_98ded001121c);
Для Каждого Согласование Из Согласования Цикл
Если Согласование = "AwaitingApproval" Тогда // НаСогласовании
Параметры.Результат = Перечисления.СостоянияСогласованияВДокументообороте.НаСогласовании;
Прервать;
ИначеЕсли Согласование = "NotApproved" Тогда // НеСогласован
Параметры.Результат = Перечисления.СостоянияСогласованияВДокументообороте.НеСогласован;
Прервать;
ИначеЕсли Согласование = "Approved" Тогда // Согласован
Параметры.Результат = Перечисления.СостоянияСогласованияВДокументообороте.Согласован;
Иначе
Параметры.Результат = Перечисления.СостоянияСогласованияВДокументообороте.ПустаяСсылка();
КонецЕсли;
КонецЦикла;
3. Далее собственно создаем документ "Расход материалов(Требование-накладная)" (или у вас он прилетает по синхре из другой базы например). Переходим внутри документа по гиперссылке "Документооборот".
4. Далее гиперссылка "Создать" или "Выбрать". Запустили процесс в ДО.
5. На стороне ДО создан документ-процесс. Запущена обработка процесса. И как только отработают регзадания в обеих базах и произойдет обмен статусом согласования - на стороне БП сразу отобразится текущий статус Согласования по документу-процессу.
На согласовании:
Согласован:
В расширении дописано:
1. ОбщийМодуль с 2мя процедурами создания программно колонки для формы списка и создания программно поля для формы документа.
2. В ФормеСписка программно добавлен новый реквизит в текст запроса
3. В ФормеДокумента программно добавлен ЭлементФормы
4. Добавлен новый реквизит в ДокументОбъект ТребованиеНакладная для хранения статуса согласования, потому что этот реквизит должен быть виден при настройках правил обмена бесшовной интеграции между базами. Даже, если слетит расширение - все данные находятся на стороне ДО и нет сложности их восстановить снова.
После добавления расширения в базу БП, выполнения всех настроек по интеграции - необходимо на стороне ДО запустить типовую обработку ГрупповоеИзменениеРевизитов, с помощью которой просто перезаписать все документы(процессы) для того, чтобы статусы по старым документам(процессам) улетели в БП.
Данное расширение не является таблеткой для ваших задач. Это лишь болванка-заготовка-инструкция-алгоритм для решения конкретно ваших задач.
Расширение подключается к базе БП стандартным способом через механизм Расширений (Через Предприятие).(Администрирование => Печатные формы, отчеты и обработки => Расширения).
Пожелания, замечания, предложения - оставляйте в комментах.
Лучшая ваша благодарность - плюс на статью.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.153.21
- Документооборот КОРП, редакция 3.0, релизы 3.0.14.31