silverbook fd07bd2918 фвв
2025-05-14 09:09:27 +05:00

1.1 MiB
Raw Blame History

title, slug
title slug
Подключение объекта к подсистеме примеры-сниппеты-бсп-и-типовые-erp-согласования-ух/подключение-объекта-к-подсистеме

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

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

image.png

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

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

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

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

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

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

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

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

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

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

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

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

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

Прочее

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

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

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

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

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

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

image.png

Ссылка на Koderline