Практическое применение менеджера расчета для расчета зарплаты "на лету" через отчет за произвольное количество месяцев в конфигурации ЗУП 3.1 и ERP

11.01.22

Учетные задачи - Зарплата

Практическое применение менеджера расчета для расчета зарплаты "на лету" через отчет за произвольное количество месяцев в конфигурации ЗУП 3.1 и ERP. Реализовано внешним отчетом, не использует документов. Расчет происходит по организации за выбранный период.

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

Наименование Файл Версия Размер
Практическое применение менеджера расчета для расчета зарплаты "на лету" через отчет за произвольное количество месяцев в конфигурации ЗУП 3.1 и ERP:
.erf 11,38Kb
23
.erf 11,38Kb 23 Скачать

Еще одна статья и пример практического применения менеджера расчета в подсистеме расчета зарплаты конфигураций ЗУП 3.1 и ERP. Ранее уже писал про менеджер расчета в статье Использование менеджера расчета для расчета зарплаты в ЗУП 3.1 и в Программное создание и расчет документов начисления зарплаты в конфигурации ЗУП 3.1 и ERP (по подразделениям). Но чтобы было понятнее, что же это такое, сделал еще один практический пример.

Например у нас гипотетическая задача сделать расчет ФОТ на год вперед, вам нужно посчитать затраты на зарплату на базе существующей системы, сотрудников, позиций штатного расписания и действующих плановых начислений. Для этой задачи не будем плодить сущностей и сделаем простой внешний отчет.

В итоге наш отчет выглядит примерно так:

 

 

"Период" - Произвольный период. При расчете дата начала и дата окончания приводятся к началу и окончанию месяца соответственно.

"Организация" и "подразделение" - ключевые параметры, по которым строим отчет.

"Использовать время за предыдущий период" - параметр отвечающий за время. Например в моей развернутой демобазе графики работы за 2022 год расчитаны и расчет зарплаты за этот период не вызывает проблем. А если сместить период на 2023 год, то графиков нет и в формулах расчета начислений НормаДней, НормаЧасов окажутся равными нулю, что вызовет ошибку расчета.

Данная галка позволяет расчитать время за предыдущий год и подставить фиксированными показателями период, где нет этих данных. В качестве времени выбрано только рабочее, поэтому это достаточно упрощенный пример. В полноценной системе расчета необходимо предусмотреть заполнение таких показателей как праздничные дни, отпуска и еще другие показатели, которые вы используете при расчете зарплаты за текущий период. 

А теперь к реализации.

Реализовано через отчет с простой схемой компоновки данных, использующую внешний набор данных.

 

 

Структура вывода СКД - в таблицу, где в колонках у нас выводится месяц и сумма.

 

 

Программный вывод СКД в отчет, думаю, тоже у вас не должен вызывать проблем

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	
	НастройкиКД = КомпоновщикНастроек.ПолучитьНастройки();

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

Создадим таблицу для СКД

	ДанныеФОТ = Новый ТаблицаЗначений;
	ДанныеФОТ.Колонки.Добавить("Сотрудник");	
	ДанныеФОТ.Колонки.Добавить("ДолжностьПоШтатномуРасписанию");	
	ДанныеФОТ.Колонки.Добавить("Подразделение");	
	ДанныеФОТ.Колонки.Добавить("Организация");	
	ДанныеФОТ.Колонки.Добавить("Начисление");	
	ДанныеФОТ.Колонки.Добавить("Период");	
	ДанныеФОТ.Колонки.Добавить("Результат");	

Получим сотрудников организации для расчета

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

	КадровыйУчет.СоздатьВТСотрудникиОрганизации(Запрос.МенеджерВременныхТаблиц, Истина, ПараметрыПолученияСотрудников);

	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Сотрудники.Сотрудник КАК Сотрудник,
		|	Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо
		|ИЗ
		|	ВТСотрудникиОрганизации КАК Сотрудники";
	
	Сотрудники = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник");

 

Теперь инициализируем менеджер расчета

МенеджерРасчета = СоздатьМенеджерРасчета(ПараметрыРасчета.Период, ПараметрыРасчета.Организация);

Тут немного подробнее. Классическая инициализация происходит с помощью вызова метода РасчетЗарплатыРасширенный.СоздатьМенеджерРасчета

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

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

 

Далее все просто. Заполняем настройки менеджера расчета по ранее полученным сотрудникам. С помощью вызова МенеджерРасчета.ЗаполнитьНачислениеЗарплаты заполняем все плановые начисления этих сотрудников

	МенеджерРасчета.НастройкиРасчета.Сотрудники = Сотрудники;
	МенеджерРасчета.НастройкиРасчета.РассчитыватьНачисления = Истина;
	МенеджерРасчета.НастройкиРасчета.ОкончательныйРасчет = Истина;
	МенеджерРасчета.НастройкиРасчета.РассчитыватьНДФЛ = Ложь;

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

И вызываем метод расчета зарплаты

МенеджерРасчета.РассчитатьЗарплату();

Итоговый результат перекладываем в ранее созданную таблицу для СКД

	Для Каждого СтрокаНачисления Из МенеджерРасчета.Зарплата.Начисления Цикл
		НоваяСтрока = ДанныеФОТ.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаНачисления);
		НоваяСтрока.Период = СтрокаНачисления.ПериодРегистрации;
	КонецЦикла;	

В данном случае в таблице МенеджерРасчета.Зарплата.Начисления у нас все результаты расчета, а так же вспомогательные данные. Т.к. в отчете не использую расшифровок, то показатели у строк начисления нет необходимости сохранять.

 

Как я получаю время за предыдущий период в процедуре ЗаполнитьВремяПоПрошломуПериоду().

Создадим таблицу периодов

	ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТПериоды(
	    Запрос.МенеджерВременныхТаблиц,
	    НачалоМесяца(ПараметрыРасчета.Период.ДатаНачала),
	    КонецМесяца(ПараметрыРасчета.Период.ДатаОкончания),
	    "МЕСЯЦ",
	    "КонецМесяца",
	    "ВТМесяцы",
	    Истина);          

Получим промежуточную временную таблицу с сотрудниками и периодами за текущий и прошлый период для анализа

|ПОМЕСТИТЬ ВТСотрудники
|ИЗ
|	ВТСотрудникиОрганизации КАК ВТСотрудникиОрганизации
|       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТМесяцы КАК ВТМесяцы
|       ПО (ИСТИНА)		

Время получаем с помощью типового метода

ПараметрыПолученияДанныхОВремени = УчетРабочегоВремениРасширенный.ПараметрыДляСоздатьВТДанныеУчетаРабочегоВремениСотрудников();
УчетРабочегоВремениРасширенный.СоздатьВТДанныеУчетаРабочегоВремениСотрудников(Запрос.МенеджерВременныхТаблиц, Истина, ПараметрыПолученияДанныхОВремени);

А далее просто проверяем, что если для выбранного сотрудника и периода отсутствует время, то вручную устанавливаем показатели времени за предыдущий период с помощью метода МенеджерРасчета.ДобавитьИзвестноеЗначениеПоказателя()

ДанныеУчетаРабочегоВремени = Запрос.Выполнить().Выгрузить();

ДанныеУчетаРабочегоВремени.Индексы.Добавить("Сотрудник, Месяц");

Для Каждого СтрокаНачисления Из МенеджерРасчета.Зарплата.Начисления Цикл
	
	НайденныеСтроки = ДанныеУчетаРабочегоВремени.НайтиСтроки(Новый Структура("Сотрудник, Месяц", СтрокаНачисления.Сотрудник, СтрокаНачисления.ПериодРегистрации));
	Если НайденныеСтроки.Количество() = 0 Тогда
		НайденныеСтроки = ДанныеУчетаРабочегоВремени.НайтиСтроки(
			Новый Структура("Сотрудник, Месяц", СтрокаНачисления.Сотрудник, ДобавитьМесяц(СтрокаНачисления.ПериодРегистрации, -12)));
		Если НайденныеСтроки.Количество() Тогда
			МенеджерРасчета.ДобавитьИзвестноеЗначениеПоказателя(СтрокаНачисления, ПоказательВремяВДнях, НайденныеСтроки[0].Дней);
			МенеджерРасчета.ДобавитьИзвестноеЗначениеПоказателя(СтрокаНачисления, ПоказательНормаДнейПоГрафикуПолногоРабочегоВремени, НайденныеСтроки[0].НормаДней);
		КонецЕсли;
	КонецЕсли;
	
КонецЦикла;

Еще раз повторюсь, что в данном случае это очень упрощенный пример. В реальной системе используются более сложные алгоритмы по получению показателей по статистике за предыдущий период или по другим алгоритмам.

Как всегда уточняю, что все тестировалось в конфигурации Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.20.71) на платформе 1С:Предприятие 8.3 (8.3.20.1613).

 

PS: И наверное просто уже добавлю вне статьи. Коллеги разработчики. Используйте в своих обработках типовые методы подключения внешних обработок. Не нужно изобретать методы как самим инициализировать возвращаемые параметры регистрации обработки. Есть прекрасный метод БСП ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке.

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

Менеджер расчет зарплата ЗУП УПП ФОТ планирование

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

19900 руб.

01.04.2020    142349    670    352    

234

Перенос данных из Парус 8 в ЗГУ 3

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

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

84000 руб.

19.08.2020    23066    19    1    

22

Перенос данных из Камин 3.5 (5.5) в ЗиКГУ 3.х

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

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    57837    148    141    

125

Устранение начислений прошлых периодов из ведомостей: в банк, в кассу, на счета в ЗУП 3.1, КА, ЗиКГУ 3.1

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

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

15600 руб.

14.09.2022    13681    66    26    

67

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

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

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5700 руб.

27.05.2021    34113    212    89    

171

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

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

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    3237    33    17    

40

Перенос данных из Парус 7.хх в ЗГУ ред.3

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

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

24000 руб.

24.04.2017    49237    97    165    

87
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ubnkfl 14.01.22 11:32 Сейчас в теме
Однозначно плюс! И пропустил прошлые Ваши статьи, к сожалению. Спасибо.
Сам сталкивался с программной работой менеджера для программного расчета зарплаты за месяц без учета отклонений.
Суть задачи - сделать доплату до оклада при наличии болезней. Т.е. надо посчитать правильно зарплату за период, но без учета вытеснений (оклад вытесняется отпуском, отпуск вытесняет окладом и т.п.)
Я скопировал виды расчетов оклад / оклад по часам / РК и СН, очистив у них вытесняющие виды расчетов. И в менеджере расчета меняю вид расчета "Оплата по окладу" на технический "оплата по окладу", который ничего не вытесняет. Т.е. расчет получается 1 в 1 типовыми средствами.
2. RustIG 1670 16.01.22 00:16 Сейчас в теме

В реальной системе используются более сложные алгоритмы по получению показателей по статистике за предыдущий период или по другим алгоритмам.

Что значит статистика за предыдущий период?
3. maraty 444 16.01.22 13:01 Сейчас в теме
(2) Предположим мы считаем плановую зарплату на следующий год (бюджетирование ФОТ в зарплате). Помимо плановых начислений, у нас есть больничные, командировки, отпуска, праздничные дни и просто какие то выплаты по организации, которые сложно запланировать. В этом случае можно собрать статистику начислений за предыдущий период (год) и подставить в качестве фиксированных показателей, а то и просто фиксированных сумм в начисления.
Собрать статистику, имеется в виду собрать данные по начислениям.
4. RustIG 1670 16.01.22 17:32 Сейчас в теме
(3) ясно, спасибо.
а почему в ЗУПе не хранятся подобные сведения?
почему приходится для каждого отчета постоянно пересчитывать суммы?

...я так понял, само СКД тут мало при чем, можно было таблицу ФОТ вытащить в обработку со своей табличной частью "Начисления за период", а еще лучше в регистр сведений и регистр накопления сохранить один раз. И пересчитывать только в открытом периоде при определенных событиях...

Я подобные расчеты для контрагентов храню с 2006 года в самописной базе - и любой отчет очень быстро собирается за любой период по любым алгоритмам и сверкам. Пересчет запрограммировал на определенные события в базе....

В целом идея ЗУПа понятна - сделали программные экспортные функции расчета любого начисления - можно использовать в любых алгоритмах, но только не вяжется с тем, что приходится запрос в цикле использовать - в цикле по каждому периоду. Или я ошибаюсь?
o.nikolaev; +1 Ответить
5. maraty 444 16.01.22 18:34 Сейчас в теме
(4) Ну как сказать про циклы. С одной стороны я вызываю метод МенеджерРасчета.РассчитатьЗарплату() один раз для всех периодов. Но алгоритм менеджера расчета в любом случае будет рассчитывать за каждый месяц отдельно, так уж построена типовая логика

Процедура РассчитатьЗарплатуСлужебный()
...
	Для Каждого МесяцРасчета Из МесяцыРасчета Цикл
...

Так что да, часть типовой логики действительно считает в цикле. Но тут уж специфика конфигурации ЗУП, в первую очередь необходим расчет текущих данных.

А с хранением, уже рассчитанные данные по зп в системе хранятся, это типовой механизм и к этим данным можно обратится типовыми отчетами и их точно не стоит пытаться получить моим отчетом, т.к. он считает данные заново (естественно не трогая существующие), поэтому отчет не покажет ручных корректировок. Да и не у всех организаций есть необходимости считать зарплату на год вперед.
Сама идея отчета в том, чтобы 1) показать работу менеджера расчета. 2) показать принцип расчета за несколько периодов сразу. Практическое применение - построение системы бюджетирования ФОТ. И понятное дело, тут одним отчетом не обойтись.
Если в примере про расчет контрагентов имелись в виду расчеты будущим периодом, то в зуп такое реализовать сложнее, т.к. постоянно меняется кадровый состав, состав начислений, всевозможные отклонения.
6. RustIG 1670 16.01.22 20:29 Сейчас в теме
(5) ясно, спасибо за разъяснения.
7. berezin 132 01.11.23 17:19 Сейчас в теме
Здравствуйте. В описании сказано : ""Период" - Произвольный период. При расчете дата начала и дата окончания приводятся к началу и окончанию месяца соответственно." А можно будет формировать за конкретные половки месяца 1-15 и 15-30? Нужны плановые начисления за первую половину месяца и соответственно вторую.
8. maraty 444 01.11.23 17:32 Сейчас в теме
(7) Да, менеджер расчета это позволяет. Попробуйте на примере одного месяца. Инициализировать обработку типовым способом, а затем указать нужные периоды.
			НоваяСтрока = СотрудникиДляНачислений.Добавить();
			НоваяСтрока.Сотрудник = Сотрудник;
			НоваяСтрока.ДатаНачала = НачалоМесяца;
			НоваяСтрока.ДатаОкончания = ОкончаниеПервойПоловиныМесяца

Рассчитать и посмотреть результат. В любом случае стоит попробовать, посмотреть что происходит в цепочке выполнения МенеджерРасчета.РассчитатьЗарплату()
9. berezin 132 01.11.23 18:34 Сейчас в теме
Спасибо. Будем пробовать.
Оставьте свое сообщение