1C шаблоны и готовые решения

Май 26, 2016

Получение таблицы начислений по сотрудникам за период в 1С ЗУП 2.5 (Корп и Проф), используя механизм конфигурации. Решение производственной проблемы по виду расчета «Оплата по производственным нарядам».

Filed under: — admin @ 8:21 пп

             Разрабатывая механизм заполнения сдельного наряда в 1С ЗУП 2.5, я столкнулся с проблемой неверного
отражения сумм по виду расчета «Оплата по производственным нарядам» в документе «начисление зарплаты» и получения сообщения «Оплата по производственным нарядам: Данные об фактической выработке введены сводно. Расчет суммы по данному виду расчета невозможен». Проблема заключалась в том, что сдельные наряды были сформированы «Сводно, в целом за период». Решением было формировать отработанное время сотрудника заполняя «табель сдельного наряда». Но сотрудников «сдельщиков» достаточно много, по ним были сформированы многочисленные кадровые перемещения в течении месяца со «сдельной оплаты» на «чтс» и «оклад». Соответственно вручную заполнить табель сдельного наряда было практически невозможно. Решением проблемы было создание обработки по автоматическому заполнению табеля сдельного наряда с учетом всех кадровых отклонений сотрудников. Но как получить периоды работы сотрудника на сделке? Для этого не нужно изобретать велосипед. Необходимо взять механизм используемый в документе «начисление зарплаты». Функция представленная ниже получает на вход массив сотрудников и период начисления. На выходы мы получаем таблицу по сотрудникам со всеми видами расчета по периодам. Далее мы можем отобрать начисления по виду расчета «Оплата по производственным нарядам» и корректно заполнить «табель сдельного наряда». В результате была создана обработка по заполнению табличной части сдельного наряда, которая существенно сократила время по формированию сдельных нарядов сотрудниками отдела заработной платы и избавила расчетчика от ручной корректировки сумм по сдельной оплате в документе «начисления зарплаты».

функция ПолучитьТаблицуНачисленийСотрудниковОрганизации(МассивСотрудников, Период)

       Док = Документы.НачислениеЗарплатыРаботникамОрганизаций.СоздатьДокумент();

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

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

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

       ТЗНачисления = Док.Начисления.Выгрузить(,"Сотрудник,ПодразделениеОрганизации,ВидРасчета,ДатаНачала,ДатаОкончания");
       Возврат ТЗНачисления;

КонецФункции

Powered by WordPress

Яндекс.Метрика nikol_dn@list.ru