Добавление собственных автоподстановок в про...
-

Добавление собственных автоподстановок в программе 1С:Документооборот

1
18036
16.03.2021 Максим Федоров

Содержание:

  1. Постановка проблемы
  2. Решение задачи в 1С:Документооборот

В программе 1С Документооборот встроено достаточно большое количество типовых автоподстановок.

 

Автоподстановки в программе 1С Документооборот

Автоподстановки в программе 1С Документооборот


Но на этапе доработок иногда возникает необходимость добавить свои "автоподстановки". Например, в процессе согласования должен участвовать еще какой-нибудь сотрудник. В данной статье будет подробно описано, как решить эту задачу в конфигурации 1С:Документооборот.  


1.     Постановка проблемы

 

У предприятия сложная структура подчинения и для эффективности процесса согласования необходимо, чтобы тот или иной документ согласовывал не только руководитель подразделения, но и руководитель направления. Для этого у "Внутреннего документа" добавили дополнительный реквизит документа – Руководитель направления. Но также необходимо добавить и автоподстановку "Руководитель направления". Значение этой "автоподстановки" должны получаться из дополнительного реквизита документа "Руководитель направления".

 

расширения в 1С 8 Документооборот

Добавление дополнительного реквизита документа  

    

2. Решение задачи в 1С:Документооборот

 

Для разработки в программной части 1С:Документооборот и добавления этой автоподстановки мы создадим расширение "ДополнительныеАвтоподстановки".

 

Создание расширения в 1С 8 Документооборот

Создание расширения в 1С 8 Документооборот


Теперь необходимо описать механизм получения значения нашей автоподстановки. Для этого захватываем в расширение общий модуль "ШаблоныБизнесПроцессовПереопределяемый". Добавляем в него функцию, в которой описываем алгоритм получения автоподстановки.


//            Получает руководителя направления из дополнительного значения дополнительного реквизита "Руководитель направления".

//

//            Параметры:

//                           ДокументОбъект - СправочникОбъект.ВнутреннийДокумент,

//              СправочникОбъект.ВходящийДокумент,

//              СправочникОбъект.ИсходящийДокумент - создаваемый документ.

//

//            Возвращаемое значение:

//                           СправочникСсылка.Пользователи.

//

Функция ДАП_РуководительНаправления(ДокументОбъект) Экспорт

                Если ДокументОбъект.Предметы.Количество()> 0 тогда

                               Предмет = ДокументОбъект.Предметы[0]. Предмет;

                               Если ТипЗнч(Предмет) = Тип("СправочникСсылка.ВнутренниеДокументы") Тогда

                                               Запрос = Новый Запрос;

                                               Запрос.Текст =

                                               "ВЫБРАТЬ

                                               |             ВнутренниеДокументыДополнительныеРеквизиты.Значение КАК Значение

                                               |ИЗ

                                               |             Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты

                                               |ГДЕ

                                               |             ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &Ссылка

                                               |             И ВнутренниеДокументыДополнительныеРеквизиты.Свойство.Наименование = ""Руководитель направления""";

                                               Запрос.УстановитьПараметр("Ссылка", Предмет.Ссылка);

                                               ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();

                                               Если ВыборкаДетальныеЗаписи.Следующий() Тогда

                                                               Возврат ВыборкаДетальныеЗаписи.Значение;

                                               КонецЕсли;

                               КонецЕсли;

                КонецЕсли;

                Возврат Справочники.Пользователи.ПустаяСсылка();

               

КонецФункции

 

Вызов новой автоподстановки также прописываем в общем модуле "ШаблоныБизнесПроцессовПереопределяемый". Для этого в 1С 8.3 Документооборот аннотацией "Вместо" перехватываем функцию "ПолучитьСписокДоступныхФункций".

 

&Вместо("ПолучитьСписокДоступныхФункций")

Функция ДАППолучитьСписокДоступныхФункций()

                ДоступныеФункции = ПродолжитьВызов();

               

                ДоступныеФункции.Добавить("ШаблоныБизнесПроцессовПереопределяемый.ДАП_РуководительНаправления(Объект)", НСтр("ru = 'Руководитель направления'"));

                Возврат ДоступныеФункции;

КонецФункции

 

С программной частью все готово!

Теперь необходимо зайти в пользовательском режиме работы в 1С:Документооборот.


Открываем выбор автоподстановок и видим, что добавленная автоподстановка в списке не появилась.

 

Чтобы она появилась в списке, необходимо щелкнуть по нему правой клавишей мышки и выбрать "Обновить автоподстановки". После этого наша автоподстановка подтянется сразу же.

 

Как обновить автоподстановки в 1С


Как обновить автоподстановки в 1С 8 Документооборот?

Как обновить автоподстановки в 1С 8 Документооборот?

 

Специалист компании «Кодерлайн»

Максим Федоров

 

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Guest
Зачем переопределяемый модуль выносить в расширение?
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.