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

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

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

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

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

См. также

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

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

84000 руб.

19.08.2020    24409    23    1    

25

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

234

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

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

5940 руб.

27.05.2021    36451    250    90    

197

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 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    93122    108    1    

116

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

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

12000 руб.

28.07.2016    60297    152    141    

128

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

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

27600 руб.

14.09.2022    15234    70    26    

72

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

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    64481    97    49    

101

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

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

48000 руб.

16.11.2018    30665    21    31    

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

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

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

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