Перерасчет выбранных в списке документов "Начисление зарплаты" для ЗУП 3.1.2 и 2.5.123

25.02.19

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

Это одна из серии публикаций, посвященных внедрениям прикладного решения 1С:ЗУП на больших проектах внутри холдинга. Статья будет полезна разработчикам и внедренцам. В статье рассказываю, как быстро и просто реализовать групповой перерасчет документов «Начисление зарплаты...» в форме списка для ЗУП 3.1.2 и для ЗУП 2.5.123 (платформа 8.3.10.2699).

Часто при внедрении 1С:ЗУП на больших проектах внутри холдинга возникает задача реализовать групповой перерасчет документов «Начисление зарплаты». Заказчики хотят иметь возможность выделять сразу несколько документов в списке и их пересчитывать нажатием на одну кнопку. Типовой ЗУП не дает возможности перерасчитывать документы прямо в списке.  

 

1. Групповой перерасчет выбранных в списке документов "Начисление зарплаты и Взносов" в ЗУП 3.1.2

Заказчик хочет следующий функционал:

Решение.

В конфигураторе создаем новую форму списка документа копированием типовой. Задаем префикс в имени формы. Создаем команду формы списка, подменю «ГруппаПересчетДокументов». Устанавливаем флаг «Множественный выбор» в свойствах элемента формы «Список» - чтобы пользователи могли выделять несколько документов при нажатии «Ctrl+Клик мыши».

Спустя некоторое время добавил еще одну кнопку:

Кнопка "Пересчитать (аналог: над таблицей Начисления)" - работает так же, как если бы мы открыли документ и нажали в нем кнопку Пересчитать над табличной частью Начисления (справа от кнопки Очистить), пересчет может потребоваться когда мы вручную меняем Результат начисления по сотруднику и надо по цепочке далее пересчитать зависимые начисления, налоги и взносы. 

Кнопка "Пересчитать (аналог: таблица Начисления Сtrl+A --> прав. кнопка мыши Пересчитать сотрудника)"  -  работает так же, как если бы мы открыли документ, выделили все строки в таблице Начисления (Сtrl+A) и нажали правой кнопкой мыши Пересчитать сотрудника. В этом случае происходит не только пересчет сотрудника, но перезаполнение всех начислений сотрудника (как при первичном нажатии на кнопку Подбор). Это может понадобиться, когда сотрудник в документ есть, но в документе не хватает каких-либо начислений по нему (их ввели немного позже, после первого заполнения документа). Можно не заходя внутрь документа сделать дозаполнение недостающих начислений и сразу перерасчет. 

В модуле созданной формы списка пропишем текст процедуры «ПересчитатьСотрудниковВДокументах»

 
 Листинг нетипового функционала модуля формы списка ЗУП 3.1.2

 

Пример работы реализованного функционала в пользовательском режиме 1С:Предприятие:

Перерасчет выбранных документов работает так же, как и кнопки внутри документа «Пересчитать» или «Пересчитать сотрудника» (если все сотрудники выбраны):

 

Подводные камни:

1) перед началом перерасчета выделенных документов желательно организовать проверку не открыта ли какая либо из форм одного из выбранных документов сейчас, если открыта - выдавать предупреждение о том, что надо ее закрыть (этого в коде выше нет)

2) в процессе перерасчета начинают отображаться формы длительной операции - нужно позаботиться о закрытии этих форм после перерасчета (в коде выше это есть)

3) после перерасчета выбранных документов иногда приходится обновить список документов вручную, поскольку некоторые документы начинают отображаться как не проведенные, хотя в коде и присутствует строчка

Элементы.Список.Обновить();

4) массовый перерасчет документов может вызывать конфликт блокировок при выполнении транзакции по причине превышении времени ожидания запроса на блокировку.

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

2. Групповой перерасчет выбранных в списке документов "Начисление зарплаты сотрудникам организаций" в ЗУП 2.5.123

Заказчик хочет следующий функционал:

Решение.

В конфигураторе создаем новую форму списка документа копированием типовой. В элемент формы «ДокументСписок» добавляем колонку «Пометка» (без привязки к данным базы данных). Для элемента формы «ДокументСписок» добавляем командную панель с тремя подменю, см. рисунок.

Реализация выделения документов в списке.

Создаем реквизит формы «ТаблицаПометок».

Создаем 3 процедуры для выделения документов в списке:

ДокументСписокПриПолученииДанных(…),ДокументСписокВыбор(…),КоманднаяПанель1СнятьФлажки(…)

 
Листинг процедур для выделения документов в списке (ЗУП 2.5.123):

 

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

Для каждой кнопки подменю добавленной командной панели элемента формы «ДокументСписок» создаем свой обработчик и одну общую процедуру ОбработатьДокументы(ВариантДействий) для всех вариантов перерасчета выбранных документов.

В ЗУП 2.5 в обычных формах мы можем очень просто реализовать расчет в форме списка:

Объект.РассчитатьВсе(); или Объект.РассчитатьНачисления(); или Объект.РассчитатьНДФЛ();

 
 Листинг процедур перерасчета выделенных документов (ЗУП 2.5.123)

 

Пример работы реализованного функционала в ЗУП 2.5.123:

Ссылки на публикации по теме перерасчетов документов в списке для ЗУП:

Групповой перерасчет отпусков. ЗУП 3.0, ЗУП 3.1 Корп

Групповой перерасчет документов начисления зарплаты. ЗУП 3.0

 

Рекомендую публикации, посвященные теме внедрений ЗУП на больших проектах:

Отчет "Штатное расписание и расстановка на выбранные даты"

Учет и расчет выплат работникам за время прохождения медосмотров в программе «1С:ЗУП» редакции 2.5

Отчет по состояниям (отклонениям) сотрудников за период.

Отчет «Среднесписочная численность» для ЗУП

Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0.

Пример создания в КД 2.1 правил выгрузки данных регистра «Лицевые счета работников» из ЗУП 2.5 в справочник «Банковские счета» БП 3.0

Вопросы, предложения и замечания по статье пишите в комментариях.

Если статья принесла Вам пользу, то поддержите развитие публикации и автора - поставьте звездочку и/или напишите комментарий. 

С пожеланием творческих успехов всем посетителям сайта ИС, Пантелеев Иван.

перерасчет зарплата ЗУП

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 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    147135    649    360    

235

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

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

48000 руб.

24.04.2017    51054    101    165    

89

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

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

84000 руб.

19.08.2020    25056    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    94177    114    1    

118

SALE! 20%

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

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

5940 4752 руб.

27.05.2021    37612    264    95    

205

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

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

12000 руб.

28.07.2016    60730    153    141    

129

SALE! 30%

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

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

33600 23520 руб.

14.09.2022    15749    70    26    

72
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 29.03.18 19:48
Сообщение было скрыто модератором.
...
2. barneotec 08.04.18 18:34 Сейчас в теме
1. При пересчете сотрудников запускается фоновая операция, вы же записывается документ не дожидаясь ее выполнения, или ваш вариант корректно работает?
2. Можно ли было обойтись внешней обработкой, а не доработкой конфигурации?
3. RailMen 828 10.04.18 15:26 Сейчас в теме
(2)
1. пересчет весь идет корректно - описанный механизм аналогичен нажатию на кнопку Пересчитать над таблицей Начисления документа Начисление зарплаты и взносов.

Так же я сделал еще одну кнопку для группового пересчета - она повторяет функционал как будто мы открываем документ, выделяем все строки в таблице Начисления и правой кнопкой мыши нажимает "Пересчитать сотрудника" - этот пересчет еще и перезаполняет начисления по тем сотрудникам, которые есть в документе.

В фоне идет замер производительности в типовой, который я не использую, например:
ОценкаПроизводительностиКлиент.НачатьЗамерВремени(Истина, "ПерерасчетСотрудникаВФормеДокументаНачислениеЗарплаты");

2. Можно и внешней обработкой обойтись. Но мне нужен этот функционал внутри формы списка.
Переделать во внешнюю обработку - элементарно.
6. pentanom 25 11.09.19 19:16 Сейчас в теме
(3)
Переделать во внешнюю обработку - элементарно.
А у меня что-то не получается :(
7. RailMen 828 16.09.19 17:11 Сейчас в теме
8. pentanom 25 16.09.19 20:07 Сейчас в теме
(7)Просто может быть у кого-нибудь есть что-то аналогичное.
4. Bene_Valete 190 20.06.18 05:56 Сейчас в теме
Большое спасибо за публикацию! Очень помогла продвинуться в решении похожей задачи
5. gorin 09.08.18 20:32 Сейчас в теме
Спасибо! Статья очень помогла!
9. пользователь 27.03.20 12:29
Сообщение было скрыто модератором.
...
10. user1222370 14.09.20 15:55 Сейчас в теме
Зачем закрывать окно длительной операции?

В моём представлении оно должно закрыться само. И, если мы закрываем его принудительно, то операция может не завершиться.


Спасибо за статью!
11. Vlad_M_75 23.04.21 08:23 Сейчас в теме
А запись документа, получается, происходит до того, как завершается длительная операция? Тогда как оно вообще работает?
12. Asuneft 3 12.11.21 19:22 Сейчас в теме
(11) у меня все отрабатывает , но документ остаётся неизменным
13. RailMen 828 12.11.21 19:25 Сейчас в теме
(12) а версия зуп такая же у вас?
Просто часто запускают обработку на других версиях. Разумеется если версия отличается, то требуется провести адаптацию кода обработки под новый релиз
15. Asuneft 3 12.11.21 19:58 Сейчас в теме
(13) я программа создаю документ начисление зп и хотел после создания запустить процедуру из формы, ту же , что и автор статьи , в отладчике форма меняется , а сам документ потом нет
16. Asuneft 3 13.11.21 10:51 Сейчас в теме
(13) не работает, внутри кода я вижу, что данные формы меняются, но в документе не меняются.
14. Asuneft 3 12.11.21 19:55 Сейчас в теме
Я не совсем так не использую , завтра ещё попробую из журнала запустить
Оставьте свое сообщение