Небольшая доработка к механизму отзыва из отпуска в ЗУП (+ печатная форма Отзыв из отпуска)

10.09.24

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

Здравствуйте! Наша организация завершила переход на ЗУП КОРП с внутренней программы. Среди множества проблем была и такая: в старой программе работники кадров имели документ "Отзыв из отпуска" в котором задавали дату/даты, когда работник был отозван. Данные из этого документа попадали в табель и печаталась прекрасная форма отзыва из отпуска сотрудника.

Итак... в ЗУП подобного механизма, как я понял, не имеется, а вместо этого предлагается выполнять исправление документа, где на вкладке "Продления, переносы, отзывы" заполняется период в который сотрудник был отозван из отпуска.

Проблема, собственно, заключается в том, что сформировать печатную форму к которой привыкли кадровики не представляется возможным, так как нужно связать 3 документа отпуск: 

первый: отпуск, когда сотрудник пошел туда в отпуск (прошу прощения за тавтологию) -> второй: документ -отпуск (исправление), в котором указывается период отзыва -> третий: сотрудник отгуливает дни за отозванные дни отпуска.

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

Как вообще это выглядит:

в документе "Отпуск" через расширение конфигурации добавлен еще один реквизит:

 

 

То есть кадровик указывает документ - отзыв из отпуска по этому сотруднику.

Ну и конечно, это не отменяет необходимости указывать дни, когда сотрудник был отозван из отпуска (на вкладке "Продления, переносы, отзывы").

Расширение добавляет также печатную форму "Отзыв из отпуска":

 

 

Также в нашем случае у сотрудника не бывает многочисленных отзывов, например 13-го, 15-го, 18-го, то есть нет "рваного отзыва". Это у меня пока не реализовано! В нашем случае все просто: отзыв 13-го на 1 день. Или с 13-го  по 15-е на 3 дня. И.Т.Д.

Если подобное решение вам приемлемо - прошу...

1) создаем расширение конфигурации (у меня оно называется КРГ_ЗУП с префиксом КРГ_) - у вас оно, конечно, будет свое:

 

 

2) Открываем наше расширение, затем ищем в основной конфигурации документ "Отпуск" и добавляем его в наше расширение.

Так же необходимо создать новый реквизит - КРГ_ДокументОтзывИзОтпуска и макет - КРГ_ПриказОтзывИзОтпуска с типом "ДокументСсылка.Отпуск":

 

 

После этого необходимо добавить в расширение форму "ФормаДокумента" из документа "Отпуск":

 

 

Когда вы это сделаете, необходимо открыть форму "ФормаДокумента" (которая в нашем расширении) и затем:

1. Встать на "Объект" на вкладке "Реквизиты" и нажать на кнопку "Добавить в расширение".

2. Создать группу и перетащить туда наш реквизит КРГ_ДокументОтзывИзОтпуска из Объекта.

 

 

В общем, на форме должен появиться наш реквизит:

 

 

3) теперь нужно сделать вот что: при выборе документа - отзыв из отпуска кадровику будут выдаваться все документы, а желательно только по тому сотруднику с которым она работает сейчас. Иными словами необходимо реализовать фильтр в форме списка.

Для этого встанем на реквизит КРГ_ДокументОтзывИзОтпуска в нашем расширении и вызовем его свойства (правая кнопка мыши - Свойства).

Нас интересует свойство "Связи параметров выбора", которое мы настроим следующим образом:

 

 

4) Теперь необходимо создать макет (КРГ_ПриказОтзывИзОтпуска), если еще он не создан.

 

 

5) Непосредственно сам код:

Во-первых откройте модуль менеджера документа "Отпуск". Нам необходимо добавить в расширение процедуру "ДобавитьКомандыПечати" и "Печать".

Далее полный код модуля менеджера документа "Отпуск" в нашем расширении:

 

 

&НаСервере
Функция КРГ_ВыполнитьЗапрос(СсылкаНаДокументОтпуск)
	Запрос = Новый Запрос;
	Запрос.Текст = "
			|//Получить ссылку на документ - отзыв из отпуска в текущем документе
			|ВЫБРАТЬ
			|	КРГ_ДокументОтзывИзОтпуска КАК ДокументОтзывИзОтпуска
			|ПОМЕСТИТЬ
			|	врДокументОтзывИзОтпуска
			|ИЗ
			|	Документ.Отпуск КАК Отпуск	
			|ГДЕ
			|	Отпуск.Ссылка = &ТекущийДокумент	
			|;
			|ВЫБРАТЬ                              
			|	ПериодыПриостановкиОтпуска.Ссылка КАК Ссылка,
			|	ПериодыПриостановкиОтпуска.ДатаНачалаПериода,
			|	ПериодыПриостановкиОтпуска.ДатаОкончанияПериода,
			|	ПериодыПриостановкиОтпуска.КоличествоДнейПриостановки                                
			|ПОМЕСТИТЬ 
			|	врПериодыПриостановкиОтпуска	
			|ИЗ
			|	Документ.Отпуск.ПериодыПриостановкиОтпуска КАК ПериодыПриостановкиОтпуска
			|ЛЕВОЕ СОЕДИНЕНИЕ
			|	врДокументОтзывИзОтпуска КАК врДокументОтзывИзОтпуска 
			|		ПО ПериодыПриостановкиОтпуска.Ссылка = врДокументОтзывИзОтпуска.ДокументОтзывИзОтпуска 					
			|ГДЕ
			|	ПериодыПриостановкиОтпуска.Ссылка = врДокументОтзывИзОтпуска.ДокументОтзывИзОтпуска	
			|;
			|ВЫБРАТЬ
			|	Отпуск.Дата КАК Дата,
			|   Отпуск.Номер КАК Номер,
			|	// данные сотрудника
			|	Отпуск.КРГ_ДокументОтзывИзОтпуска КАК ДокументОтзывИзОтпуска, 
			|	Отпуск.Сотрудник КАК Сотрудник,
			|	Отпуск.Сотрудник.ФизическоеЛицо.Пол КАК Пол,
			|	Отпуск.Сотрудник.Код КАК ТабельныйНомер,
			|	КадроваяИсторияСотрудников.Должность КАК Должность,
			|	КадроваяИсторияСотрудников.Подразделение КАК Подразделение,
			|	// приостановка отпуска
			|	врПериодыПриостановкиОтпуска.ДатаНачалаПериода КАК НачалоПриостановки, 
			|	врПериодыПриостановкиОтпуска.ДатаОкончанияПериода КАК ОкончаниеПриостановки,
			|	врПериодыПриостановкиОтпуска.КоличествоДнейПриостановки КАК КоличествоДнейПриостановки,
			|	//
			|	// основной отпуск
			|	Отпуск.ДатаНачалаОсновногоОтпуска КАК НачалоОтпуска,
			|	Отпуск.ДатаОкончанияОсновногоОтпуска КАК ОкончаниеОтпуска,                                     
			|	Отпуск.КоличествоДнейОсновногоОтпуска КАК КоличествоДнейОтпуска,
			|	Отпуск.ВидРасчетаОсновногоОтпуска КАК ВидОтпуска,
			|	Отпуск.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск КАК НачалоПериодаЗаКоторыйПредоставляетсяОтпуск,
			|	Отпуск.КонецПериодаЗаКоторыйПредоставляетсяОтпуск КАК КонецПериодаЗаКоторыйПредоставляетсяОтпуск,
			|	//                
			|	// отозванный отпуск
			|	врПериодыПриостановкиОтпуска.Ссылка.ДатаНачалаОсновногоОтпуска КАК НачалоОтпускаОтзыв,
			|	врПериодыПриостановкиОтпуска.Ссылка.ДатаОкончанияОсновногоОтпуска КАК ОкончаниеОтпускаОтзыв,                                     
			|	врПериодыПриостановкиОтпуска.Ссылка.КоличествоДнейОсновногоОтпуска КАК КоличествоДнейОтпускаОтзыв,
			|	врПериодыПриостановкиОтпуска.Ссылка.ВидРасчетаОсновногоОтпуска КАК ВидОтпускаОтзыв,
			|	врПериодыПриостановкиОтпуска.Ссылка.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск КАК НачалоПериодаЗаКоторыйПредоставляетсяОтпускОтзыв,
			|	врПериодыПриостановкиОтпуска.Ссылка.КонецПериодаЗаКоторыйПредоставляетсяОтпуск КАК КонецПериодаЗаКоторыйПредоставляетсяОтпускОтзыв,
			|	// организация
			|	КадроваяИсторияСотрудников.Организация КАК Организация,
			|	Отпуск.Руководитель КАК Руководитель
			|ИЗ
			|	Документ.Отпуск	КАК Отпуск
			|ЛЕВОЕ СОЕДИНЕНИЕ
			|	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудников
			|		ПО КадроваяИсторияСотрудников.Сотрудник = Отпуск.Сотрудник			
			|ЛЕВОЕ СОЕДИНЕНИЕ
			|	врПериодыПриостановкиОтпуска КАК врПериодыПриостановкиОтпуска
			|		ПО Отпуск.КРГ_ДокументОтзывИзОтпуска = врПериодыПриостановкиОтпуска.Ссылка		
			|ГДЕ
			|	Отпуск.Ссылка = &ТекущийДокумент
			|	ИЛИ Отпуск.Ссылка = врПериодыПриостановкиОтпуска.Ссылка
			|УПОРЯДОЧИТЬ ПО Отпуск.Дата ВОЗР ";
	Запрос.УстановитьПараметр("ТекущийДокумент",СсылкаНаДокументОтпуск);	
	РезультатЗапроса = Запрос.Выполнить();
	Если РезультатЗапроса.Пустой() Тогда
		Возврат Неопределено;
	КонецЕсли;
	Выборка = РезультатЗапроса.Выбрать();
	// добавить результат запроса в структуру
	Структура = Новый Структура;
	Пока Выборка.Следующий() Цикл
		Структура.Вставить("Дата",Выборка.Дата);
		Структура.Вставить("Номер",Выборка.Номер);
		Структура.Вставить("ДокументОтзывИзОтпуска",Выборка.ДокументОтзывИзОтпуска);	
		Структура.Вставить("Сотрудник",Выборка.Сотрудник);
		Структура.Вставить("Пол",Выборка.Пол);
		Структура.Вставить("ТабельныйНомер",Выборка.ТабельныйНомер);
		Структура.Вставить("Должность",Выборка.Должность);
		Структура.Вставить("Подразделение",Выборка.Подразделение);
		Структура.Вставить("НачалоПриостановки",Выборка.НачалоПриостановки);
		Структура.Вставить("ОкончаниеПриостановки",Выборка.ОкончаниеПриостановки);
		Структура.Вставить("КоличествоДнейПриостановки",Выборка.КоличествоДнейПриостановки);
		Структура.Вставить("НачалоОтпуска",Выборка.НачалоОтпуска);
		Структура.Вставить("ОкончаниеОтпуска",Выборка.ОкончаниеОтпуска);
		Структура.Вставить("КоличествоДнейОтпуска",Выборка.КоличествоДнейОтпуска);
		Структура.Вставить("ВидОтпуска",Выборка.ВидОтпуска);
		Структура.Вставить("НачалоПериодаЗаКоторыйПредоставляетсяОтпуск",Выборка.НачалоПериодаЗаКоторыйПредоставляетсяОтпуск);
		Структура.Вставить("КонецПериодаЗаКоторыйПредоставляетсяОтпуск",Выборка.КонецПериодаЗаКоторыйПредоставляетсяОтпуск);
		Структура.Вставить("НачалоОтпускаОтзыв",Выборка.НачалоОтпускаОтзыв);
		Структура.Вставить("ОкончаниеОтпускаОтзыв",Выборка.ОкончаниеОтпускаОтзыв);
		Структура.Вставить("КоличествоДнейОтпускаОтзыв",Выборка.КоличествоДнейОтпускаОтзыв);
		Структура.Вставить("ВидОтпускаОтзыв",Выборка.ВидОтпускаОтзыв);
		Структура.Вставить("НачалоПериодаЗаКоторыйПредоставляетсяОтпускОтзыв",Выборка.НачалоПериодаЗаКоторыйПредоставляетсяОтпускОтзыв);
		Структура.Вставить("КонецПериодаЗаКоторыйПредоставляетсяОтпускОтзыв",Выборка.КонецПериодаЗаКоторыйПредоставляетсяОтпускОтзыв);
		Структура.Вставить("Организация",Выборка.Организация);
		Структура.Вставить("Руководитель",Выборка.Руководитель);
	КонецЦикла;	
	Возврат Структура;	
КонецФункции	

&НаСервере
Функция КРГ_ПолучитьМакет()
	Макет = Документы.Отпуск.ПолучитьМакет("КРГ_ПриказОтзывИзОтпуска");
	Возврат Макет;
КонецФункции

&НаСервере
Функция КРГ_ПолучитьОбласть(Макет, Область)
	Область = Макет.ПолучитьОбласть(Область);
	Возврат Область;
КонецФункции

&Перед("ДобавитьКомандыПечати")
Процедура КРГ_ДобавитьКомандыПечати(КомандыПечати)
	// печатная форма Отзыв из отпуска
	КомандаПечати = КомандыПечати.Добавить();
	КомандаПечати.Идентификатор = "ОтзывИзОтпуска";
	КомандаПечати.Представление = НСтр("ru = 'Отзыв из отпуска (мод)'");
	КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;		
КонецПроцедуры

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

 &Перед("Печать")
Процедура КРГ_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)
	// печатная форма Отзыв из отпуска
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОтзывИзОтпуска") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ОтзывИзОтпуска", НСтр("ru = Отзыв из отпуска (мод)'"),КРГ_ОтзывИзОтпуска(УправлениеПечатью.МакетПечатнойФормы("Документ.Отпуск.КРГ_ПриказОтзывИзОтпуска"), МассивОбъектов, ОбъектыПечати), , "Документ.Отпуск.КРГ_ПриказОтзывИзОтпуска");
	КонецЕсли;
КонецПроцедуры

Функция КРГ_ОтзывИзОтпуска(Макет, МассивОбъектов, ОбъектыПечати)
	СсылкаНаДокумент = МассивОбъектов[0].Ссылка;
	КРГ_ДокументОтзывИзОтпуска = МассивОбъектов[0].КРГ_ДокументОтзывИзОтпуска;
	
	Если СсылкаНадокумент <> Неопределено И ЗначениеЗаполнено(КРГ_ДокументОтзывИзОтпуска) Тогда 
		ТабличныйДокумент = Новый ТабличныйДокумент;
		Структура = КРГ_ВыполнитьЗапрос(СсылкаНаДокумент);
		Если Структура <> Неопределено Тогда
			ТабличныйДокумент.ИмяПараметровПечати = "Приказ об отзыве из отпуска работника";
			Макет = КРГ_ПолучитьМакет();
			
			Область1 = КРГ_ПолучитьОбласть(Макет, "Область1");
			КРГ_ВывестиОбласть(ТабличныйДокумент, Область1, Структура);
				
			ТабличныйДокумент.АвтоМасштаб = Истина;
			Возврат ТабличныйДокумент; 
		КонецЕсли;
	КонецЕсли;
	
КонецФункции

 

Запускаем...

Теперь смотрите, как использовать (как, например, у нас по согласованию с кадровиками).

Пример такой:

 

1. Документ 421-от - Сотрудник пошел в отпуск

2. Документ 109-к - сотрудник отозван 13.08 на 1 день

3. Документ 421/1-от сотрудник пошел отдыхать за счет того дня, когда был отозван из отпуска.

 

В данном случае мы в последнем документе 421/1-от ссылаемся на документ 109-к в котором он был отозван из отпуска:

 

 

После записи можно печатать нашу форму.

См. также

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 10 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

84000 руб.

05.10.2022    11280    13    8    

15

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

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

29400 руб.

29.06.2023    6546    17    6    

27

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

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

7200 руб.

02.08.2023    4591    18    1    

36

Кадровый учет Бухгалтер Пользователь Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Групповое формирование и печать Дополнительных соглашений для 1С: Зарплата и управление персоналом ПРОФ и КОРП + 8 печатных форм: Индексация заработной платы, Удаленная работа и предупреждение о COVID-19, Выход из удаленной работы, Кадровый перевод, Кадровый перевод списком, Назначение индивидуальной системы начислений, Переименование филиала, Приказ "Совмещение должностей", Приказ "Совмещение исполнения обязанностей" Что нового: 1.В печатных формах убран весь красный цвет текста 2. В печатных формах в шапках сделано заполнение названия организации, руководителя и основания действия руководителя 3. В печатных формах в подвале сделано заполнение реквизитов организации 4. Добавлена возможность печатать доп соглашения по документу "Изменение плановых начислений"

21600 руб.

24.03.2023    5167    3    0    

5

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

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    7250    75    17    

32

Загрузка и выгрузка в Excel Зарплата Кадровый учет Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    65242    99    49    

103

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

Внешняя печатная форма выводит Трудовой договор или в документ Microsoft Word (должен быть установлен!) или стандартно в табличный документ MXL. Позволяет выводить любые произвольные и типовые начисления, назначенные в приказе, а также множество кадровых данных сотрудника. Возможно использовать до 3х шаблонов договоров и, например, вместо Договора МОЛ подключить Трудовой договор на неполный рабочий день (с количеством ставок 0.25, 0.33, 0.5 и т.п.)

4000 руб.

07.07.2020    20453    18    20    

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