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

Пакет обновлений для старых конфигураций 1С:КА 1.1, ЗУП 2.5 и БУХ 2.0 - УСН, НДС 5%, 7%, НДФЛ новая шкала 2025, ЕФС-1, Расчет страховых взносов, Статистика, СЗВ-ТД, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров. С 14.04.25 ожидается увеличение стоимости на 10%

30690 руб.

01.04.2020    156104    573    392    

267

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

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

19200 руб.

21.03.2023    13830    94    21    

80

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

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

5940 руб.

27.05.2021    41157    307    106    

235

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

Корректируйте банковские документы быстро и легко! Создайте правило обработки, и оно автоматически применится при загрузке выписки, экономя ваше время. Решение позволяет автоматически заполнять расшифровку платежа, исключать загрузку ненужных документов (дублей) из банка, заполнять комиссию за эквайринг и многое другое. Вам не нужно доплачивать за алгоритмы, они уже включены в решение.

12000 руб.

20.12.2024    6931    13    18    

16

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

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

120000 руб.

19.08.2020    26888    26    1    

28

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 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С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

16800 руб.

01.11.2012    96812    116    1    

123

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

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

60000 руб.

06.10.2023    5703    38    20    

46
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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
Сообщение было скрыто модератором.
...
Оставьте свое сообщение