Каталог решений - История должности подписанта

История должности подписанта

История должности подписанта

В наличии

Требовался вывод в приказах актуального наименования должности.

Категория:

Описание

В рамках работы пришлось столкнуться с тем, что у начальника отдела кадров меняется доверенность на подписание кадровых приказов, и номер доверки пишут в наименовании должности

В ходе анализа была найдена процедура, отвечающая за вывод подписи в приказах

ЗарплатаКадрыОтчеты.ВывестиВДокументРезультатОбластиМакета

Включил версионность для должности, внес необходимые правки в регистр сведений

Пришлось внести также изменение через расширение

  #Область Мои_СлужебныйПрограммныйИнтерфейс
  &Вместо("ВывестиВДокументРезультатОбластиМакета")
  // Выводит в табличный документ области макета с заполненными параметрами коллекций данных.
  //
  // Параметры:
  //		ДокументРезультат	- ТабличныйДокумент
  //		Макет				- ТабличныйДокумент
  //		ИменаОбластейМакета	- Строка, имена областей макета, перечисленные через запятую
  //		Данные, ... Данные9	-Структура, Неопределено содержат значения параметров областей, выводимого макета.
  //
  
  Процедура СУА_ВывестиВДокументРезультатОбластиМакета(ДокументРезультат, Макет, ИменаОбластейМакета, Данные, Данные1, Данные2, Данные3, Данные4, Данные5, Данные6, Данные7, Данные8, Данные9)
  	ИменаОбластей = СтрРазделить(ИменаОбластейМакета, ",");
  	ДатаФормирования = Неопределено;
  	Для Каждого ИмяОбласти Из ИменаОбластей Цикл
  		
  		Область = Макет.ПолучитьОбласть(ИмяОбласти);
  		ЗаполнитьПараметрыОбластиМакета(Область, Данные, Данные1, Данные2, Данные3, Данные4, Данные5, Данные6, Данные7, Данные8, Данные9);
  		Если ИмяОбласти = "Шапка" Тогда
  			Попытка
  				ДатаФормирования = Область.Параметры.СсылкаНаОбъектДата;
  			Исключение
  			КонецПопытки;
  		КонецЕсли;
  		Если ИмяОбласти = "Подвал" Тогда
  			Попытка
  				ДолжностьРуководителя = Область.Параметры.СсылкаНаОбъектДолжностьРуководителя;
  				УстановитьПривилегированныйРежим(Истина);
  				Запрос = Новый Запрос();
  				Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
  				|	ВерсииОбъектов.ВерсияОбъекта КАК ВерсияОбъекта,
  				|	ВерсииОбъектов.НомерВерсии КАК НомерВерсии
  				|ИЗ
  				|	РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
  				|ГДЕ
  				|	ВерсииОбъектов.Объект = &Объект
  				|	И НачалоПериода(ВерсииОбъектов.ДатаВерсии,ДЕНЬ) <= НачалоПериода(&ДатаВерсии,ДЕНЬ)
  				|
  				|УПОРЯДОЧИТЬ ПО
  				|	ВерсииОбъектов.ДатаВерсии УБЫВ";
  				Запрос.УстановитьПараметр("Объект",ДолжностьРуководителя);
  				Запрос.УстановитьПараметр("ДатаВерсии",ДатаФормирования);
  				РезультатЗапроса = Запрос.Выполнить();
  				Если Не РезультатЗапроса.Пустой() Тогда
  					ВыборкаЗапроса = РезультатЗапроса.Выбрать();
  					ВыборкаЗапроса.Следующий();
  					ОписаниеОбъекта = ВерсионированиеОбъектов.РазборВерсии(ДолжностьРуководителя,ВыборкаЗапроса.НомерВерсии);
  					ТаблицаРеквизитов = ОписаниеОбъекта.Реквизиты;
  					Отбор = Новый Структура;
  					Отбор.Вставить("НаименованиеРеквизита","Description");
  					МассивСтрок = ТаблицаРеквизитов.НайтиСтроки(Отбор);
  					Если МассивСтрок.Количество()>0 Тогда
  						Область.Параметры.СсылкаНаОбъектДолжностьРуководителя = МассивСтрок[0].ЗначениеРеквизита; 
  					КонецЕсли;	   
  				КонецЕсли;
  				УстановитьПривилегированныйРежим(Ложь);
  			Исключение
  			КонецПопытки;
  		КонецЕсли;
  		Если ИмяОбласти = "Подвал" Тогда
  			Попытка
  				Область.Параметры.СсылкаНаОбъектДатаОзнакомленияРаботника = """___""_________20__ г.";
  			Исключение
  			КонецПопытки;
  		КонецЕсли;	
  
  		ДокументРезультат.Вывести(Область);
  			
  	КонецЦикла;
  		
  КонецПроцедуры
  #КонецОбласти
  

Данное решение было проверено на Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.14.436).

has been added to your cart:
Оформление заказа