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

Май 26, 2016

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

Filed under: — admin @ 8:21 пп

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

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

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

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

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

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

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

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

Powered by WordPress

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