Получение подписантов для документа в 1С:ЗУП

15.03.24

Задачи пользователя - Адаптация типовых решений

Как получить подписантов для документа, если необходимо программно создать документ и заполнить в нем подписантов?

Скачать исходный код

Наименование Файл Версия Размер
Программное получение подписантов в 1С:ЗУП:
.epf 6,69Kb
1
.epf 6,69Kb 1 Скачать

В конфигурации 1С:ЗУП (1С:ЗУП КОРП), имеется функционал по подписантам. Этот функционал завязан на форму документа. А что делать, если есть необходимость программно создать документ, и заполнить в нем подписантов? Далее будет представлен код, который получает подписантов в структуру, которую в дальнейшем можно использовать для заполнения реквизитов в создаваемом документе. Надеюсь материал будет полезным, и позволит сэкономить время на реализацию такого требования.

Для документов созданы реквизиты содержащие ответственных лиц, подписантов. Рассмотрим на примере документа "Доход в натуральной форме".

 

 

 

При создании нового документа, в процедуре "ПриСозданииНаСервере" происходит вызов процедуры общего модуля, где происходит заполнение подписантов в форме:

 

 

Этот механизм завязан на наличие формы. Можно, конечно, просто получить ответственных запросом, но на мой взгляд правильней получать через уже реализованные методы. Далее представлен код, который заполняет подписантов в структуру для конкретного документа:

	СтруктураОбъектаПодписи = Новый Структура;
	СтруктураОбъектаПодписи.Вставить("Организация",                        Объект.Организация);
	СтруктураОбъектаПодписи.Вставить("Дата",                               ТекущаяДатаСеанса());
	СтруктураОбъектаПодписи.Вставить("Ссылка",                             Документы.ДоходВНатуральнойФорме.ПустаяСсылка());
	СтруктураОбъектаПодписи.Вставить("Руководитель",                       Справочники.ФизическиеЛица.ПустаяСсылка());
	СтруктураОбъектаПодписи.Вставить("ДолжностьРуководителя",              Справочники.Должности.ПустаяСсылка());
	СтруктураОбъектаПодписи.Вставить("ОснованиеПодписиРуководителя",       "");
	СтруктураОбъектаПодписи.Вставить("ГлавныйБухгалтер",                   Справочники.ФизическиеЛица.ПустаяСсылка());
	СтруктураОбъектаПодписи.Вставить("ДолжностьГлавногоБухгалтера",        Справочники.Должности.ПустаяСсылка());
	СтруктураОбъектаПодписи.Вставить("ОснованиеПодписиГлавногоБухгалтера", "");
	СтруктураОбъектаПодписи.Вставить("Исполнитель",                        Справочники.ФизическиеЛица.ПустаяСсылка());
	СтруктураОбъектаПодписи.Вставить("ДолжностьИсполнителя",               Справочники.Должности.ПустаяСсылка());
	СтруктураОбъектаПодписи.Вставить("ОснованиеПодписиИсполнителя",        "");
	
	СтруктураФормы = Новый Структура;
	СтруктураФормы.Вставить("Объект", СтруктураОбъектаПодписи);
	СтруктураФормы.Вставить("Элементы", Новый Массив);
	СтруктураФормы.Вставить("ЕстьПравоИзмененияОснованийПолномочий", Истина);
	
	ОписаниеПодписей = ПодписиДокументов.ОписаниеТаблицыПодписей();

	ОписаниеПодписиРуководитель = ПодписиДокументов.ОписаниеРеквизитовПодписанта();
	ОписаниеПодписиРуководитель.ФизическоеЛицо = "Руководитель";
	ОписаниеПодписиРуководитель.Должность = "ДолжностьРуководителя";
	ОписаниеПодписиРуководитель.ОснованиеПодписи = "ОснованиеПодписиРуководителя";

	ПереопределяемыеИмена = Новый Соответствие;
	ПереопределяемыеИмена.Вставить("Руководитель", ОписаниеПодписиРуководитель);

	ПодписиДокументов.ДобавитьОписаниеПодписейОрганизации(
		ОписаниеПодписей,
		"Руководитель, ГлавныйБухгалтер, Исполнитель",
		ПереопределяемыеИмена);
		
	ОписаниеПодписейМассив = Новый ФиксированныйМассив(ОбщегоНазначения.ТаблицаЗначенийВМассив(ОписаниеПодписей));
	
	СтруктураФормы.Вставить("ОписаниеПодписейДокумента", ОписаниеПодписейМассив);
	СтруктураФормы.Вставить("СведенияОбОтветственныхРаботниках", Новый Соответствие);
	
	// ЗарплатаКадрыПодсистемы.ПодписиДокументов
	ПодписиДокументов.ЗаполнитьПодписиПоОрганизации(СтруктураФормы);
	// Конец ЗарплатаКадрыПодсистемы.ПодписиДокументов

Для демонстрации прикладываю обработку.

Проверено на платформе: 1С:Предприятие 8.3 (8.3.23.1912)

На конфигурации: Зарплата и управление персоналом, редакция 3.1 (3.1.28.84).

Подписанты 1С:ЗУП 1С:ЗУП.КОРП

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4683    9    5    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3114    4    0    

20

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1752    dimanich70    8    

14

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

Адаптация типовых решений Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

27.10.2023    2122    19    avmartynov    14    

44

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2275    26    progmaster    8    

3
Оставьте свое сообщение