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

11.01.22

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Практическое применение менеджера расчета для расчета зарплаты "на лету" через отчет за произвольное количество месяцев в конфигурации ЗУП 3.1 и ERP:
.erf 11,38Kb
29
29 Скачать (2 SM) Купить за 2 150 руб.

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

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

27900 руб.

01.04.2020    147098    649    360    

235

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

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

48000 руб.

24.04.2017    51024    100    165    

89

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

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

84000 руб.

19.08.2020    25028    23    1    

25

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

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

14800 руб.

01.11.2012    94133    115    1    

117

SALE! 20%

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

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

5940 4752 руб.

27.05.2021    37560    264    92    

205

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

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

12000 руб.

28.07.2016    60709    153    141    

129

SALE! 30%

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

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

33600 23520 руб.

14.09.2022    15739    70    26    

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

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

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

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

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

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

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

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

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

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