gifts2017

Переначисление зарплаты из журнала расчетов Зарплата

Опубликовал Сергей Иванов (Джуниор) в раздел Программирование - Практика программирования

Иногда необходимо перепровести документ "Начисление заработной платы" из-за одного человека, но если в этом документе много объектов, то проведение может проходить долго, и при этом все начисления обнуляются, а перерасчет всех занимает опять же много времени. Тем, для кого эта проблема актуальна, предлагаю данную обработку. За основу взят модуль документа "Начисление заработной платы".

Буду признателен, если найдете ошибки.

В журнал расчетов Зарплата добавьте кнопку с Формулой "Переначисление(Объект)", а в модуль формы:

 

Процедура Переначисление(Сотрудник)
Парамет = СоздатьОбъект("СписокЗначений"); 
Парамет.УдалитьВсе();
Парамет.ДобавитьЗначение(Сотрудник, "Сотрудник");
ЖР = СоздатьОбъект("ЖурналРасчетов.Зарплата");
Парамет.ДобавитьЗначение(ЖР.КонецТекущегоПериода(),"ДатаПериода"); 
Если ФС.СуществуетФайл(КаталогИБ()+"ExtForms\ReAdding.ert") = 1 Тогда
ОткрытьФорму("Обработка",Парамет,КаталогИБ()+"ExtForms\ReAdding.ert"); 
Иначе
Предупреждение("Видимо файл ExtForms\ReAdding.ert отсутствует!");
КонецЕсли;
КонецПроцедуры //Конец фрагмента

Обработку положите в папку ExtForms вашей базы.

Находясь в журнале расчетов Зарплата, на строке текущего периода щелкаем по этой кнопочке. Удаляются строки начисления и на основании прежнего (до удаления записей) документа "Начисление заработной платы" вводятся новые записи. Перерасчеты и доначисления будет предложено перепровести дополнительно.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Внешняя обработка
.1192613350 70,50Kb
25.09.09
27
.1192613350 70,50Kb 27 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Иванов (Джуниор) 18.10.07 12:30
не, ну хоть чего-нибудь скажите. 39 раз скачали и ничего.
2. Kapitan911 Юрий (Kapitan911) 18.10.07 21:38
Я бы пошел другим путем:
1. Находим наш документ начисления з/п. Пусть это переменная "Док"
2. Создаем список параметров
СписокПараметров=СоздатьОбъект("СписокЗначений");
СписокПараметров.ДобавитьЗначение(0);//1 Движения не очищаем СписокПараметров.ДобавитьЗначение(0);//2 Обработчик сообщений не нужен
СписокПараметров.ДобавитьЗначение(СтрочкаДока);//3 Передаем номер первой строки перепроведения
СписокПараметров.ДобавитьЗначение(СтрочкаДока);//4 Передаем номер последней строки перепроведения
3.Перепроведем документ
Док.Провести(,СписокПараметров)

Примечение. Перед перепроведением еще надо очистить движения "Док"
3. ShCoder (Ulfhedhinn) 22.10.07 03:43
Идея не нова, но в целом не плохо. На первый взгляд нравиться, потом посмотрю повнимательнее и может еще что-нибудь напишу.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа