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

![image.png](data:image/png;base64,[encoded data, 138032 characters])

Для привязки документа к одобрению воспользуемся **Справкой**, открыв документ из списка журнала **`Настройки документов в 1С`**
![image.png](data:image/png;base64,[encoded data, 281940 characters])

Выбрать справку **`Подключение объекта к согласованию`**.
![image.png](data:image/png;base64,[encoded data, 115456 characters])
![image.png](data:image/png;base64,[encoded data, 202744 characters])

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

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

### ПриЧтенииНаСервере
```bsl
ДействияСогласованиеУХСервер.НарисоватьПанельСогласованияИОпределитьСостояниеОбъекта(ЭтотОбъект);
```
### ОбработкаОповещения
В случае, если форма не обновляется при согласовании этапа, нужно прописать в процедуре «ОбработкаОповещения» следующее:
```bsl
Если ИмяСобытия = "ОбъектСогласован"
    Или ИмяСобытия = "ОбъектОтклонен"
    Или ИмяСобытия = "МаршрутИнициализирован"
    Или ИмяСобытия = "СостояниеЗАявкиПриИзменении" Тогда
    ЭтотОбъект.Прочитать();
КонецЕсли;
```
### Служебные процедуры и функции
```bsl
&НаКлиенте
Процедура ПринятьКСогласованию_Подключаемый() Экспорт
         ДействияСогласованиеУХКлиент.ПринятьКСогласованию(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры
 
&НаКлиенте
Процедура ИсторияСогласования_Подключаемый() Экспорт
         ДействияСогласованиеУХКлиент.ИсторияСогласования(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры
 
&НаКлиенте
Процедура СогласоватьДокумент_Подключаемый() Экспорт
         ДействияСогласованиеУХКлиент.СогласоватьДокумент(ЭтотОбъект);
КонецПроцедуры
 
&НаКлиенте
Процедура ОтменитьСогласование_Подключаемый() Экспорт
         ДействияСогласованиеУХКлиент.ОтменитьСогласование(ЭтотОбъект);
КонецПроцедуры
 
&НаКлиенте
Процедура МаршрутСогласования_Подключаемый() Экспорт
         ДействияСогласованиеУХКлиент.МаршрутСогласования(ЭтотОбъект, Объект.Ссылка);
КонецПроцедуры

```

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

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

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

Открыть нужный объект в настройках документа (справочника) и заполнить необходимые реквизиты:
![image.png](data:image/png;base64,[encoded data, 259048 characters])

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

![image.png](data:image/png;base64,[encoded data, 158764 characters])

[Ссылка на Koderline](https://www.koderline.ru/expert/narabotki/article-soglasovanie-spravochnikov-tsnsi-v-1s-erp-upravlenie-kholdingom/)