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

27.10.16

Разработка - Универсальные функции

При внедрении 1С: Документооборот КОРП, столкнулся с необходимостью добавить свою автоподстановку. Автоподстановок давольно-таки много, но иногда нужно что то не типовое. Так получилось и в данном случае.

Добрый день!

При согласовании внутренного документа (Вид внутренного документа "Договор с контрагентом") возникла необходимость добавить "Руководителя ответственной службы". Т.к. структура предприятия очень большая, и нет возможности в конкретике определиться кто же все таки руководитель ответственной службы, то:

1) Для данного вида внутренного документа добавил обяхательный доп реквизит с типом "Пользователь".

Заполнение данного реквизита обязательно.

2) Изменил немного код, буквально 10 строк:

- Основная конфигурация ОбщийМодуль.ШаблоныБизнесПроцессов.Модуль

Функция ПолучитьСписокДоступныхФункций(ИменаПредметовДляФункций = Неопределено, ВключатьНедоступные = Истина) Экспорт

добавлено:

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

и в этом же модуле создал экспортную процедуру:

Функция РуководительОтветственнойСлужбы (БизнесПроцессОбъект,ИмяПредмета) Экспорт
...............
	Возврат ДопРеквизит.Значение;
...............
КонецФункции

Вот, в общем-то, и все. Новая автоподстановка появилась и отлично работает.

Вступайте в нашу телеграмм-группу Инфостарт

Документооборот

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    4175    Abysswalker    11    

46

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    7797    DeerCven    15    

62

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    53106    dimanich70    84    

174

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7698    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    67675    atdonya    31    

72

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9648    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Skromnyi 13 27.10.16 16:36 Сейчас в теме
Правильнее это делать в общем модуле "ШаблоныБизнесПроцессовПереопределяемый".
fvr2000; chebser; babys; nixel; +4 Ответить
2. iolko 344 27.10.16 16:47 Сейчас в теме
(1) Skromnyi, можно слегка больше деталей?
3. Skromnyi 13 27.10.16 17:17 Сейчас в теме
(2) в этом модуле есть такая-же функция, в нее и надо писать свой код. Там и пример есть создания собственной Автоподстановки.
Akuji; iolko; +2 Ответить
4. iolko 344 27.10.16 21:02 Сейчас в теме
(3) Skromnyi, странно, что отладчиком в нее не залетал(видимо недоглядел), спасибо большое.
20. eksdak 20.08.19 15:28 Сейчас в теме
(4)у меня туда не заходит отладчик
5. zabaluev 465 12.12.16 19:05 Сейчас в теме
А статью надо переделать, как заметил Skromnyi, используя предназначенные для переопределения модули.
Много полезного здесь в ИТС:
"1С:Документооборот" для разработчика
http://its.1c.ru/db/metod8dev#browse:13:-1:1989:2531

6. Eskimos 26 17.01.17 18:59 Сейчас в теме
Сделал всё как вы пишете. Не появляется моя функция в списке автоподстановок.

Попробовал раскоментировать демопример в модуле: ШаблоныБизнесПроцессовПереопределяемый

Всё равно не отображается. Куда копать?
7. Eskimos 26 17.01.17 19:10 Сейчас в теме
Я так понял, что нужно каким-то макаром создать ещё элемент справочника АдреснаяКнига с реквизитом ТипДаннызОбъекта = Автоподстановка процессовjav * ascript:void(0);
8. SkrAn 1 18.01.17 07:22 Сейчас в теме
Просто обнови адресную книгу и все. Правой кнопкой по списку -> обновить данные адресной книги.
Только довольно долго считает. У меня в районе 2х часов.
Shemetov; 407627; +2 Ответить
10. fastovenko 28.04.17 14:14 Сейчас в теме
(8) Что нужно сделать чтобы обновить адресную книгу? По какому списку кликать?
9. Eskimos 26 18.01.17 11:54 Сейчас в теме
Спасибо. Помогло. Вообще за такую реализацию гвоздь в голову вбить разработчику хочется.
11. iolko 344 28.04.17 19:21 Сейчас в теме
в адресной книге ПКМ... обновить данные адресной книге. Затем согласиться на то, что это будет долгою и ждать.
12. logos 217 19.07.17 10:54 Сейчас в теме
В некоторых случаях обновлять адресную книгу может быть смерти подобно. Можно обновить только автоподстановки.
Для этого, в окошке подбора исполнителей шаблона БП, где автоподстановки видны, можно нажать правую кнопку мыши на автоподстановках и выбрать пункт меню "Обновить автоподстановки". Это будет намного быстрее, чем обновлять всю адресную книгу.
Alexandr73Rus; user1492823; Akuji; +3 Ответить
13. Akuji 22 19.10.17 13:38 Сейчас в теме
А если доп реквизитов несколько...
и нужно в зависимости от вида документа разные подставлять тут как лучше сделать?
14. iolko 344 20.10.17 07:53 Сейчас в теме
(13)

//Добавление руководителя инициирующей службы
Функция РуководительИнициирующейСлужбы (БизнесПроцессОбъект) Экспорт
	Для Каждого ПредметПроцесса Из БизнесПроцессОбъект.Предметы Цикл
		Если (ПредметПроцесса.Предмет.ВидДокумента.Родитель = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Договора")) ИЛИ
			(ПредметПроцесса.Предмет.ВидДокумента.Родитель = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Заказы")) ИЛИ
			(ПредметПроцесса.Предмет.ВидДокумента.Родитель = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Изменения условий договора (заказа)"))
			Тогда
			Для Каждого ДопРеквизит из ПредметПроцесса.Предмет.ДополнительныеРеквизиты Цикл
				Если Найти(НРЕГ(ДопРеквизит.Свойство),НРЕГ("Руководитель инициирующей службы"))>0 Тогда
					Возврат ДопРеквизит.Значение;
				КонецЕсли;
			КонецЦикла;				
		КонецЕсли;
	КонецЦикла;
КонецФункции
Показать
user1492823; user1302444; +2 Ответить
15. Akuji 22 20.10.17 12:14 Сейчас в теме
(14)
Тут получается в шаблоне в группе автоподстановки будет одна функция:
РуководительИнициирующейСлужбы

а в процесс попаду все пользователи.
Я правильно понимаю?

А как сделать что бы уже в автоподстановках была группа ДопРеквизиты, а в ней доступные доп.реквизиты и далее выбирать нужных пользователей?


Аввтоподстановки:
доп.реквизиты:
-рук1
-рук2
-рук3


а в процесс уже шли значения из этих доп.реквизитов...
16. iolko 344 23.10.17 10:44 Сейчас в теме
(15) А можно пример, что то не совсем могу уловить, что конкретно нужно.
17. Akuji 22 23.10.17 16:54 Сейчас в теме
(16)
Пример был:

Аввтоподстановки:
доп.реквизиты:
-рук1
-рук2
-рук3

я так понимаю что для каждого реквизита добавлять отдельную функцию...
18. iolko 344 24.10.17 05:01 Сейчас в теме
(17)
онимаю что для каждого реквизита добавлять отдельную функцию...


Да, других вариантов я не вижу.
19. AlekSo 15 05.07.19 11:40 Сейчас в теме
А кто-нибудь пробовал делать это в расширении?
22. sinops 03.10.20 12:34 Сейчас в теме
(19) Я пробовал. Все отлично работает.
user1492823; +1 Ответить
21. bpirate999 25 11.02.20 15:11 Сейчас в теме
Нужно после добавления своей автоподстановки из контекстного меню выполнить обновить автоподстановки
Для отправки сообщения требуется регистрация/авторизация