Использование менеджера расчета для расчета зарплаты в ЗУП 3.1

24.08.21

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

Пример использования менеджера расчета начислений и НДФЛ по сотруднику или организации. Будет полезен разработчикам, которые в ЗУП 3.1. залезли немного поглубже, чем при разработке печатных формы или отчетов.

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

Наименование Файл Версия Размер
Использование менеджера расчета для расчета зарплаты в ЗУП 3.1:
.epf 22,12Kb
97
.epf 22,12Kb 97 Скачать

Введение

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

По сути в конфигурации у нас три расчетных обработки

  • РасчетБазыНачисленийУдержаний - формирует базы начислений и удержаний, используемых для расчета
  • МенеджерДанныхУчетаВремениСотрудников - формирует данные по времени сотрудников
  • МенеджерРасчетаЗарплаты - основной менеджер расчета, который рассчитывает начисления, взносы, ндфл и прочее. Фактически при расчете зарплаты мы видим результат работы этого менеджера.

Инициализировать менеджер можно двумя способами:

При расчете зарплаты за месяц можно использовать типовой метод инициализации

МенеджерРасчета = РасчетЗарплатыРасширенный.СоздатьМенеджерРасчета(МесяцНачисления, Организация);

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

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

Разница в том, что во втором случае мы можем указать произвольный период, например год.

С релиза ЗУП 3.1.10 старый менеджер расчета был переименован в МенеджерРасчетаЗарплатыАрхивный и за его использование отвечает константа "Выполнять расчет зарплаты без оптимизации". Но на дворе 21 год, думаю в ближайших релизах от старых алгоритмов окончательно откажутся.

Основная логика работы с менеджером это

  1. Заполнить коллекцию начислений

  2. Рассчитать зарплату

  3. Перенести результат в форму/документ.

Разберем несколько примеров работы с менеджером расчета. Уточню что для примера я буду рассчитывать только начисления и НДФЛ с вычетами.

Расчет начисления по сотруднику.

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

//Инициализация менеджера расчета
МенеджерРасчета = РасчетЗарплатыРасширенный.СоздатьМенеджерРасчета(МесяцНачисления, Организация);
МенеджерРасчета.НастройкиРасчета.Сотрудники = Сотрудник;
МенеджерРасчета.НастройкиРасчета.РассчитыватьНачисления = Истина;
МенеджерРасчета.НастройкиРасчета.ОкончательныйРасчет = Истина;
МенеджерРасчета.НастройкиРасчета.РассчитыватьНДФЛ = Истина;

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

//Инициализация пустой таблицы для начислений
ТаблицаНачислений = МенеджерРасчета.ТаблицаИсходныеДанныеНачисленияЗарплатыПоНачислениям();

//Добавляем в таблицу сотрудника, интервал начисления и период
НовыйИнтервал = ТаблицаНачислений.Добавить();
НовыйИнтервал.Сотрудник = Сотрудник;
НовыйИнтервал.Начисление = Начисление;
НовыйИнтервал.ДатаНачала = МесяцНачисления;
НовыйИнтервал.ДатаОкончания = КонецМесяца(МесяцНачисления);	

//Заполняем коллекцию Зарплата.Начисления
МенеджерРасчета.ЗаполнитьНачисленияСотрудникаЗаПериод(Сотрудник, ТаблицаНачислений);

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

//Перенос расчитанных данных в данные формы
ДанныеДляЗаполненияВДанныеФормы(МенеджерРасчета.Зарплата);

В результате в табличной части менеджера расчета Зарплата.Начисления у нас будут результаты расчета по сотруднику, а также все вспомогательные данные, которые использовались при расчете (показатели и их значения, нормы и фактическое время, график работы, подразделение).

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

Расчет начисления по сотруднику, где один из показателей мы указываем самостоятельно.

Код для примера тот же, но для интервала мы указываем известное значение показателя, которое вы можете указать вручную с формы или рассчитать отдельно.

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

Если в первом примере все показатели рассчитывались в процессе, то в текущем мы заранее подставляем в расчет известное значение показателя.

Расчет всех начислений по сотруднику за месяц

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

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

ПериодРасчетаЗарплаты = Новый СтандартныйПериод;
ПериодРасчетаЗарплаты.ДатаНачала = МесяцНачисления;
ПериодРасчетаЗарплаты.ДатаОкончания = КонецМесяца(МесяцНачисления);

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

ДанныеДляЗаполненияВДанныеФормы(МенеджерРасчета.Зарплата);

Тут мы видим разницу в вызове процедуры ЗаполнитьНачисленияСотрудникаЗаПериод.

Т.е. заранее мы не указываем какие начисления считать, а параметр ПериодРасчетаЗарплаты указывает процедуре, что необходимо выявить начисления сотрудника за месяц.

Расчет всех сотрудников по организации (подразделению)

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

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

Сотрудники = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Сотрудник");

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

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

ОтборМенеджераРасчета = МенеджерРасчета.СоздатьОтборы();
ОтборМенеджераРасчета.Подразделение = Подразделение;
МенеджерРасчета.ЗаполнитьНачислениеЗарплаты(СотрудникиДляНачислений, ОтборМенеджераРасчета);
  	
МенеджерРасчета.РассчитатьЗарплату();
 
ДанныеДляЗаполненияВДанныеФормы(МенеджерРасчета.Зарплата);

Если вы уже работали с ЗУП 3.1 или читали описание по программным методам ЗУП, то думаю приведенный пример не вызовет вопросов. Вначале мы получили всех текущих сотрудников организации (а если указали подразделение, то по подразделению), затем передали список менеджеру расчета и инициализировали расчет.

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

Перенос результата расчета данные формы

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

В менеджере расчета и в табличных частях документов начисления с данными формы практически совпадают. Разница в хранении показателей. В менеджере расчета и в документах показатели хранятся в отдельной ТЧ "Показатели", связанной с начислениями по реквизиту "ИдентификаторСтроки". А вот в формах к таблице начислений программно или вручную добавляются колонки "Показатель1", "Показатель2”… и "ЗначениеПоказателя1", "ЗначениеПоказателя2"…

Соответственно при чтении/открытии документа, а также после расчета данные показателей переносятся в созданные новые колонки. А при записи документа происходит обратный процесс переноса в ТЧ "Показатели".

Исходные требования для реализации примера:

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

Приведу пример кода процедуры ДанныеДляЗаполненияВДанныеФормы, параметром в которую мы передаем результаты расчета для дальнейшего вывода в форму документа/обработки.

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

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

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

Например, в обработчике "ПриСозданииНаСервере" вызвать метод программного создания показателей и их значений в ТЧ Начисления

РасчетЗарплатыРасширенныйФормы.ДокументыВыполненияНачисленийДополнитьФорму(ЭтаФорма, ОписаниеТаблицыНачислений(ЭтаФорма), "Начисления");

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

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

При некоторой смекалке, можно адаптировать методы модулей РасчетЗарплатыРасширенныйФормы, УчетНДФЛФормы и аналогичные для того, чтобы полностью програмно формировать расчетные документы.

Текущий пример тестировался в ЗУП 3.1.18 и ERP 2.5.7.150

МенеджерРасчета ЗУП расчет зарплаты расчетные механизмы менеджер расчета

См. также

Обновление для КА 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    141068    682    352    

233

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

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

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

84000 руб.

19.08.2020    22588    19    1    

22

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

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

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

5700 руб.

27.05.2021    33081    205    89    

166

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

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

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

12000 руб.

28.07.2016    57232    140    141    

116

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

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

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

15600 руб.

14.09.2022    12946    63    24    

66

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

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

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

4800 руб.

06.10.2023    2587    29    15    

35

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

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

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

24000 руб.

24.04.2017    48807    96    163    

86
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. leosoft 165 24.09.21 22:28 Сейчас в теме
Интересная информация! А где на практике это может потребоваться? Или это чисто академический интерес?
+
2. maraty 438 25.09.21 08:46 Сейчас в теме
(1) например свой расчетный документ, или разработка подсистемы планирования и прогнозирования ФОТ, где Фот считается на год вперёд. Да и в принципе любое программное формирование расчетных документов. Например у нас на входе (шина данных) есть сумма, а нам нужно получить рассчитанные страховые взносы, НДФЛ с вычетами или другие расчетные данные.
nightowl5; Student1C; +2
3. biimmap 1860 05.01.22 13:27 Сейчас в теме
Стоит наверно в статье дописать, что нужные таблицы и реквизиты, в т.ч. реквизиты формы, необходимо создать на форме обработки. Это собственно нужно, чтоб была форма, которую везде передают как параметр в программном интерфейсе. Слава богу в коде не проверяется принадлежность формы, поэтому зарплату можем и в справочнике посчитать)
+
4. maraty 438 09.01.22 12:41 Сейчас в теме
(3) Вот это как раз не обязательно. Можно обойтись вообще без формы. Тут https://infostart.ru/public/1576926/ я реализовал именно так. Но это конечно обход типового алгоритма, который рассчитан только на формы.
+
5. biimmap 1860 09.01.22 12:51 Сейчас в теме
(4) поэтому и написал столь категорично, что это обход. У меня есть такой принцип: делаю максимально похоже на типовой запуск программного интерфейса. Т.е. нужна форма - держи форму обработки со всеми нужными реквизитами) Нужны таблицы - получаю их тем же способом что и типовая. Тогда программный интерфейс правильно работает. И нет нужды искать и исправлять ошибки. В общем лень заставляет делать правильно)))
+
6. maraty 438 09.01.22 12:58 Сейчас в теме
(5) Ну когда писал отдельные расчетные документы, делал тоже так. Но вот когда стоят задачи, вроде полностью автоматизированного расчета множества документов, то тут приходится заниматься таким творчеством :)
+
7. user1711730 04.03.22 14:03 Сейчас в теме
Пересчитать НДФЛ таким образом можно? В коде вместо МенеджерРасчета.РассчитатьЗарплату(); ставлю МенеджерРасчета.ПересчитатьНДФЛ(); результат неоднозначный. Задача пересчитать НДФЛ только по тем сотрудникам которые есть табличной части документа Начисление зарплаты.
+
8. maraty 438 04.03.22 14:25 Сейчас в теме
(7) В МенеджерРасчета.Зарплата.Начисления перед вызовом ПересчитатьНДФЛ() перенесли начисления документа?
Правила использования процедупы расчета выполнили?
//Требует обязательного заполнения НастройкиРасчета.Сотрудники или НастройкиРасчета.ФизическиеЛица

Я перечитывал НДФЛ по схеме: Заполняем Зарплата.Начисления, устанавливаем РассчитыватьНДФЛ = Истина, вызываем
РассчитатьЗарплату().
+
9. user1711730 04.03.22 14:43 Сейчас в теме
Все, кроме перенесения начислений документа сделала. Как начисления документа перенести?
+
10. user1711730 04.03.22 15:32 Сейчас в теме
Я так понимаю, что заполнение Зарплата.Начисления в этой части кода?

ОтборМенеджераРасчета = МенеджерРасчета.СоздатьОтборы();
ОтборМенеджераРасчета.Подразделение = Подразделение;
МенеджерРасчета.ЗаполнитьНачислениеЗарплаты(СотрудникиДляНачислений, ОтборМенеджераРасчета);

Мне нужно рассчитать НДФЛ по всем начислениям сотрудника, так что я использовала последний пример из статьи. Проблема в том, что я правлю суммы начислений в документе "Начисление зарплаты" и нужно рассчитать с учетом исправлений. Для этого устанавливаю параметр МенеджерРасчета.НастройкиРасчета.СохранятьИсправления = Истина; Однако суммы НДФЛ отличаются от сумм встроенного расчета НДФЛ по кнопке "Пересчитать НДФЛ".
+
11. maraty 438 04.03.22 16:21 Сейчас в теме
(10) Необходимо вручную перенести данные из табличной части документа Начисления в МенеджерРасчета.Зарплата.Начисления, только не 1:1, а дополнительно заполнив реквизит ТЧ ИдентификаторСтроки = ИдентификаторСтрокиВидаРасчета и возможно заполнить реквизит Сумма из Результат (сходу не помню).
Для Каждой строки установить ФиксСтрока = Истина (есть еще ФиксЗаполнение,ФиксРасчетВремени,ФиксРасчет, но фиксированной строки должно хватить).
Т.е. у нас менеджер расчета получит таблицу начислений с правильными суммами и не будет их пересчитывать, а рассчитает на основании текущих данных НДФЛ.
+
12. user1711730 15.03.22 09:57 Сейчас в теме
При выборе расчета по одному сотруднику по начислению, если сотрудник период отработал не полностью, выдает ошибку:
При расчете начисления «Ученический договор (прием)» за Февраль 2022 для сотрудника Бадьин Андрей Александрович возникла ошибка: Деление на 0
Формула, используемая при расчете: СуммаПоДоговору * ВремяВЧасах / НормаЧасов

{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(10923)}: ВызватьИсключение ТекстСообщения;
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(10755)}: Строка.Результат = РезультатПоФормуле(ИсходныеДанные, ФормулаДляВыполнения, ФормулаДляПредставления, Строка);
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(10179)}: РассчитатьРезультатНачисленияПоФормуле(
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(10126)}: РассчитатьНачисленияПоФормуле(ОчередностьРасчета.СтрокиОчередности);
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(10070)}: РассчитатьНачисленияОчередности();
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(9965)}: РассчитатьНачисления();
{Обработка.МенеджерРасчетаЗарплаты.МодульОбъекта(652)}: РассчитатьЗарплатуСлужебный();
{ВнешняяОбработка.ПримерИспользованияМенеджераРасчета.Форма.Форма.Форма(173)}: МенеджерРасчета.РассчитатьЗарплату();
{ВнешняяОбработка.ПримерИспользованияМенеджераРасчета.Форма.Форма.Форма(109)}: РасчитатьНачислениеПоСотрудникуНаСервере(Объект.МесяцНачисления, Объект.Организация, Сотрудник, Начисление);
+
13. maraty 438 15.03.22 13:52 Сейчас в теме
(12) НормаЧасов = 0.
Значит в расчетах есть какой то период, для которого не рассчитан график сотрудника. Если он уволен, попробуйте в таблице менеджера ограничить дату окончания датой увольнения.
+
15. VID1234 109 09.08.22 13:13 Сейчас в теме
(13)Здравствуйте. Я так понимаю, если скачаю эту обработку, то не смогу понять как без форм создать документ? мне нужно создать документы по подразделениям разовое начисление, с добавлением своего показателя! Или как можно реализовать, чтобы с регистра сведений подтянуть процент в документ разовое начисление. Допустим добавляю строку с сотрудником и у меня кроме подразделения, оклада и премии заполняется и мой показатель, с регистра сведений. а то приходится вручную его заполнять.
+
14. Matveev_VS 160 05.07.22 16:40 Сейчас в теме
Полезно. Спасибо.
+
16. Student1C 57 07.12.22 14:44 Сейчас в теме
А как-то можно рассчитать Размер по определенному Начислению? Для записи в РС Плановые начисления.
+
17. Eeeehhhh 06.03.23 20:49 Сейчас в теме
А как с помощью этой обработки рассчитать к примеру отдельный документ? Ту же премию?
Заранее спасибо за ответ.
+
Внимание! Тема сдана в архив