1.1 MiB
title, slug
| title | slug |
|---|---|
| Подключение объекта к подсистеме | примеры-сниппеты-бсп-и-типовые-erp-согласования-ух/подключение-объекта-к-подсистеме |
Общие настройки
В зависимости от типа объекта одобрения (справочник или документ) проведем привязку его к одобрению. В подсистеме Интеграция и управление мастер-данными выбрать раздел: Настройки документов или Настройки справочников. В качестве примера возьмем документ Заказ поставщику.
Для привязки документа к одобрению воспользуемся Справкой, открыв документ из списка журнала Настройки документов в 1С
Выбрать справку Подключение объекта к согласованию.
Настройки объекта
В конфигурации в определяемый тип — ОбъектыДляСогласования нужно добавить согласуемый объект;
Настройки формы объекта
Добавить код в модуль формы объекта (Как есть):
ПриЧтенииНаСервере
ДействияСогласованиеУХСервер.НарисоватьПанельСогласованияИОпределитьСостояниеОбъекта(ЭтотОбъект);
ОбработкаОповещения
В случае, если форма не обновляется при согласовании этапа, нужно прописать в процедуре «ОбработкаОповещения» следующее:
Если ИмяСобытия = "ОбъектСогласован"
Или ИмяСобытия = "ОбъектОтклонен"
Или ИмяСобытия = "МаршрутИнициализирован"
Или ИмяСобытия = "СостояниеЗАявкиПриИзменении" Тогда
ЭтотОбъект.Прочитать();
КонецЕсли;
Служебные процедуры и функции
&НаКлиенте
Процедура ПринятьКСогласованию_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.ПринятьКСогласованию(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ИсторияСогласования_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.ИсторияСогласования(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура СогласоватьДокумент_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.СогласоватьДокумент(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтменитьСогласование_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.ОтменитьСогласование(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура МаршрутСогласования_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.МаршрутСогласования(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры
Прочее
Для ручного управления элементами подсистемы, можно явно обращаться к ним в коде. Например, для запрета нажатия команды К согласованию, если объект помечен на удаление в процедуре ПриЧтенииНаСервере прописываем:
Если Объект.ПометкаУдаления Тогда
// ИмяЭлемента = "ФормаОбщаяКомандаУниверсальноеСогласование_ПринятьКСогласованию",
// "ПринятьКСогласованию", "ПринятьКСогласованию1"
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Элементы, ИмяЭлемента) Тогда
ЭтотОбъект.Элементы[ИмяЭлемента].Доступность = Ложь;
КонецЕсли;
КонецЕсли;
Обновление данных
После ввода изменений в конфигураторе, в пользовательском режиме в подсистеме: Интеграция и управление мастер данными — Настройки документов(справочников) – нажать команду Обновить по данным текущий ИБ.
Открыть нужный объект в настройках документа (справочника) и заполнить необходимые реквизиты:
В документе появится кнопка с командой На согласование, а также перечень статусов, изменяющихся в процессе согласования