Заполнение ведомости на выплату в банк, когда у человека несколько зарплатных проектов (ЗУП 3.1)

04.03.20

Учетные задачи - Банковские операции

По долгу работы не раз приходилось сталкиваться с проблемой, когда у сотрудника несколько зарплатных карт. Я предлагаю небольшое решение данного вопроса, т.к. не нашёл в интернете и на форуме информацию, которая бы помогла решить вопрос.

Добрый день, уважаемые коллеги!

Все мы люди и все мы работаем, в следствии чего получаем заработную плату. Работая с программой 1С ЗУП 3.1, я заметил один нюанс, который несколько усложняет жизнь расчётчика заработной платы. К сожалению отсутствует возможность быстрого подбора сотрудников в ведомость на выплату заработной платы в банк по зарплатному проекту. Увы, только ручками сидеть и набивать людей.

Я хочу поделиться небольшой доработкой, которая подбирает в расчётную ведомость сотрудников по вышесказанному критерию и пользуясь стандартным механизмом, рассчитывает заработную плату.

Итак, поехали. 

Работать будем через расширения и первым делом добавим в него документ "ВедомостьНаВыплатуЗарплатыВБанк" и его форму. Создадим кнопку на форму ("Заполнить по зарплатному проекту") и обработчик события (нажатие на кнопку). 

&НаКлиенте
Процедура Расш_ЗаполнитьПоЗарплатномуПроектуПосле(Команда)	
	Расш_ЗаполнитьПоЗарплатномуПроектуПослеНаСервере();	
КонецПроцедуры

//Формирует список ФЛ механизмом представлений и передаёт его в 
//стандартную процедуру расчёта ЗП
&НаСервере
Процедура Расш_ЗаполнитьПоЗарплатномуПроектуПослеНаСервере()
	
	ВедомостьНаВыплатуЗарплатыФормы.СоставОбработкаВыбораНаСервере(ЭтотОбъект,  
				ПолучитьФизЛицПоЗарплатномуПроекту(Новый Структура("ЗарплатныйПроект, ЗарплатныйПроектПустой",
				Объект.ЗарплатныйПроект, 
				НЕ ЗначениеЗаполнено(Объект.ЗарплатныйПроект))), 
				Истина);
	
КонецПроцедуры

Коротенько о механизме представлений:

1) Нет необходимости писать запросы, система сама отберёт поля из регистров, которые нам необходимы;

2) Обработает запрос, исходя из сформированных и переданных отборов и вернёт таблицу значений.

 
Список возможных полей, которые смог отыскать на форуме

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

Сама функция компоновки набора данных, для передачи его механизму представлений (как пример, добавил в запрос поле "ДатаРождения"):

//Возвращает список ФЛ (см. функцию "Расш_ЗаполнитьПоЗарплатномуПроектуПослеНаСервере")
//Параметры:
//СтруктураДанных - Тип "Структура". 
//Поля в структуре: "Зарплатный проект" - тип СправочникСсылка.ЗарплатныеПроекты
//		    "ЗарплатныйПроектПустой" - тип Булево.
Функция ПолучитьФизЛицПоЗарплатномуПроекту(СтруктураДанных)
	
	//Формируем отбор для механизма представлений
	ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц();
	
	ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц.ОкончаниеПериода = ?(Объект.Дата = Дата(1,1,1,0,0,0), КонецДня(ТекущаяДата()), КонецДня(Объект.Дата));
	ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц.ВключаяУволенныхНаНачалоПериода = Ложь;
	ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц.КадровыеДанные = "ДатаРождения";
	ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(
	ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц.Отборы, "ВидЗанятости", "<>", Перечисления.ВидыЗанятости.Совместительство); 
	
	//Получаем набор физлиц, работающих в организации
	ТаблицаФЛ = КадровыйУчет.СотрудникиОрганизации(Истина, ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц );
	
	ФизическиеЛица = ТаблицаФЛ.ВыгрузитьКолонку("ФизическоеЛицо");
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект КАК ЗарплатныйПроект,
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо КАК ФизическоеЛицо
		|ИЗ
		|	РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам КАК ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам
		|ГДЕ
		|	ВЫБОР
		|		КОГДА &ЗарплатныйПроектПустой
		|			ТОГДА ЛОЖЬ
		|		ИНАЧЕ ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо В (&ФизическоеЛицо)
		|			И ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект = &ЗарплатныйПроект
		|КОНЕЦ";
	
	Запрос.УстановитьПараметр("ФизическоеЛицо", ФизическиеЛица);
	Запрос.УстановитьПараметр("ЗарплатныйПроектПустой", СтруктураДанных.ЗарплатныйПроектПустой);
	Запрос.УстановитьПараметр("ЗарплатныйПроект", СтруктураДанных.ЗарплатныйПроект);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ТаблицаСотрудников = РезультатЗапроса.Выгрузить();
		
	Возврат ТаблицаСотрудников.ВыгрузитьКолонку("ФизическоеЛицо");
	
КонецФункции

На выходе из функции у нас уже есть массив физлиц, которые закреплены за определённым зарплатным проектом. Следует уточнить, что при формировании отборов в моём случае использовалась конкретная ситуация. 

Для отбора за период, в код функции можно добавить дату начала:

ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц.ОкончаниеПериода = ?(Объект.Дата = Дата(1,1,1,0,0,0), НачалоДня(ТекущаяДата()), НачалоДня(Объект.Дата));

Либо, нам нужны только совместители:

ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц.Отборы, "ВидЗанятости", "=", Перечисления.ВидыЗанятости.Совместительство);

Или же необходимо получить ещё и уволенных за период, то просто меняем в следующей строке значение "Ложь" на значение "Истина":

ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц.ВключаяУволенныхНаНачалоПериода = Истина;

Можно так же дополнить запрос условием отбора по подразделению, из реквизита "Подразделение" в документе-ведомости. Это уже на Ваш вкус.

При разработке данного кода подглядывал в статью Универсальные процедуры и функции ЗУП 3.1

Надеюсь, что статья пригодится тем, кто столкнётся с подобным вопросом. Спасибо за внимание и уделённое время:)

Зарплата зарплатный проект ЗУП 3.1 доработка

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

19900 руб.

01.04.2020    140654    678    352    

231

Перенос данных из Парус 8 в ЗГУ 3

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

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

84000 руб.

19.08.2020    22460    19    1    

22

Автоматическая обработка документов по банку при загрузке банковской выписки в 1С

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

Устали вручную дозаполнять и корректировать документы по банку после загрузки банковской выписки? С помощью правил обработки банковской выписки вы сможете автоматически определять правильный вид хозяйственной операции, заполнять расшифровку, аналитику платежа и многое другое.

12000 руб.

21.03.2023    8179    32    12    

43

SALE! 20%

Перенос данных из Камин 3.5 (5.5) в ЗиКГУ 3.х

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

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

12000 9600 руб.

28.07.2016    57099    140    139    

116

Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5

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

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

5700 руб.

27.05.2021    32760    204    89    

165

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

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

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2334    28    15    

33

Устранение сальдо прошлых периодов в ведомостях ЗУП 3.1, КА, ЗиКГУ 3.1

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

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

15600 руб.

14.09.2022    12613    60    22    

62
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1114234 04.03.20 15:39 Сейчас в теме
2. nestokay 62 04.03.20 15:48 Сейчас в теме
3. CorvaxSU 10.03.20 18:07 Сейчас в теме
Обратите внимание, что в ВедомостьНаВыплатуЗарплатыФормы.СоставОбработкаВыбораНаСервере добавляются выплаты только по отсутствующим в ведомости работникам - см. цикл вокруг Форма.Объект.Состав.НайтиСтроки(Новый Структура("ФизическоеЛицо", ФизическоеЛицо)).
Т.е. повторное нажатие на кнопку "Заполнить по зарплатному проекту" ничего не сделает.
Если хочется получить настоящее заполнение, предварительно стоит очистить табличные части документа. И лучше всего это делать через метод ОчиститьВыплаты модуля объекта Ведомость - он сам разберётся, какие ТЧ чистить.

Запрос по регистру лицевых счетов можно самому не делать, а заказать через КадровыеДанные "показатель" ЗарплатныйПроект.

А в целом фокус с вызовом СоставОбработкаВыбораНаСервере - это лихо, неожиданный ход, спасибо.
Хотя формально в публичный API это не выставлено, но зато все ритуалы после заполнения выполняются кодом типовой.
4. user1114234 13.03.20 13:17 Сейчас в теме
Тимур, из конфигуратора выйди плиз)
5. nestokay 62 13.03.20 14:07 Сейчас в теме
6. пользователь 26.03.20 15:52
Сообщение было скрыто модератором.
...
Оставьте свое сообщение