Skip to content

Подключение объекта к подсистеме

Общие настройки

В зависимости от типа объекта одобрения (справочник или документ) проведем привязку его к одобрению. В подсистеме Интеграция и управление мастер-данными выбрать раздел: Настройки документов или Настройки справочников. В качестве примера возьмем документ Заказ поставщику.

image.png

Для привязки документа к одобрению воспользуемся Справкой, открыв документ из списка журнала Настройки документов в 1С image.png

Выбрать справку Подключение объекта к согласованию. image.png image.png

Настройки объекта

В конфигурации в определяемый типОбъектыДляСогласования нужно добавить согласуемый объект;

Настройки формы объекта

Добавить код в модуль формы объекта (Как есть):

ПриЧтенииНаСервере

ДействияСогласованиеУХСервер.НарисоватьПанельСогласованияИОпределитьСостояниеОбъекта(ЭтотОбъект);

ОбработкаОповещения

В случае, если форма не обновляется при согласовании этапа, нужно прописать в процедуре «ОбработкаОповещения» следующее:

Если ИмяСобытия = "ОбъектСогласован"
Или ИмяСобытия = "ОбъектОтклонен"
Или ИмяСобытия = "МаршрутИнициализирован"
Или ИмяСобытия = "СостояниеЗАявкиПриИзменении" Тогда
ЭтотОбъект.Прочитать();
КонецЕсли;

Служебные процедуры и функции

&НаКлиенте
Процедура ПринятьКСогласованию_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.ПринятьКСогласованию(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ИсторияСогласования_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.ИсторияСогласования(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура СогласоватьДокумент_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.СогласоватьДокумент(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ОтменитьСогласование_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.ОтменитьСогласование(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура МаршрутСогласования_Подключаемый() Экспорт
ДействияСогласованиеУХКлиент.МаршрутСогласования(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры

Прочее

Для ручного управления элементами подсистемы, можно явно обращаться к ним в коде. Например, для запрета нажатия команды К согласованию, если объект помечен на удаление в процедуре ПриЧтенииНаСервере прописываем:

Если Объект.ПометкаУдаления Тогда
// ИмяЭлемента = "ФормаОбщаяКомандаУниверсальноеСогласование_ПринятьКСогласованию",
// "ПринятьКСогласованию", "ПринятьКСогласованию1"
Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Элементы, ИмяЭлемента) Тогда
ЭтотОбъект.Элементы[ИмяЭлемента].Доступность = Ложь;
КонецЕсли;
КонецЕсли;

Обновление данных

После ввода изменений в конфигураторе, в пользовательском режиме в подсистеме: Интеграция и управление мастер даннымиНастройки документов(справочников) – нажать команду Обновить по данным текущий ИБ.

Открыть нужный объект в настройках документа (справочника) и заполнить необходимые реквизиты: image.png

В документе появится кнопка с командой На согласование, а также перечень статусов, изменяющихся в процессе согласования

image.png

Ссылка на Koderline