Перерасчет выбранных в списке документов "Начисление зарплаты" для ЗУП 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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

9675 руб.

27.05.2021    59464    526    129    

369

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

Расширение для создания и настройки обмена с консолидированной базой ЗУП. Код разработки под определенные требования проекта.

85400 руб.

11.07.2025    6439    6    1    

5

Зарплата Кадровый учет Бухгалтер Пользователь 1С 8.3 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если не хотите ставить тяжёлую ЗУП? Нужен только табель и начисление по своим правилам? Рекомендуем этот модуль подключается к УТ, получаете табель, начисление и создание Расходный кассовый ордер/Списание безналичных денежных средств без типовой ЗУП

20740 руб.

27.04.2026    1410    5    0    

1

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Аналитик Пользователь Руководитель проекта 1С:Предприятие 8 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

18800 руб.

01.11.2012    108151    134    1    

144

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

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

20740 руб.

28.07.2016    73295    193    160    

159

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

Обработка позволяет быстро проверить подоходный налог с учетом изменения ставок в базе. Анализирует расхождение между бухгалтерским и налоговым учетом

12200 руб.

15.10.2025    4575    5    26    

9

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

Расширение для 1С:ЗУП 3.1 позволяющее автоматически рассчитывать доплату до оклада (количество дней, за которые рассчитывается доплата задается в настройках). При расчете учитывается сумма оплаты больничных листов за счет работодателя и прямых выплат СФР, а также изменение оклада сотрудника в период больничного. Документ производит работникам доплату до фактического заработка на период нетрудоспособности. Расширение также подключает новый отчет по количеству дней, за которые производилась доплата.

12200 руб.

06.12.2024    2098    2    13    

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

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

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

2. Можно и внешней обработкой обойтись. Но мне нужен этот функционал внутри формы списка.
Переделать во внешнюю обработку - элементарно.
6. pentanom 32 11.09.19 19:16 Сейчас в теме
(3)
Переделать во внешнюю обработку - элементарно.
А у меня что-то не получается :(
7. RailMen 835 16.09.19 17:11 Сейчас в теме
8. pentanom 32 16.09.19 20:07 Сейчас в теме
(7)Просто может быть у кого-нибудь есть что-то аналогичное.
4. Bene_Valete 189 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 835 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 Сейчас в теме
Я не совсем так не использую , завтра ещё попробую из журнала запустить
Для отправки сообщения требуется регистрация/авторизация