ВедомостьНаВыплатуЗарплатыВБанк получить данные
Подскажите, каким образом я могу обратиться к параметрам запроса? и вообще слышал, что это плохой тон делать выборку из документа, желательно из регистра брать данные. Задача в том, что делаю внешнюю обработку, в которой будет выбираться ДАТА и СПОСОБВЫПЛАТЫ(Аванс, ЗП и тд), исходя из этого у меня будет 3 табличных столбца это ЛИЦЕВОЙ СЧЕТ, СУММАНАЧИСЛЕНИЯ(КВыплате) И СУММАУДЕРЖАНИЯ(ВзысканнаяСумма) и конкретно по АльфаБанку. Каким образом мне вытянуть данные СУММАНАЧИСЛЕНИЯ(КВыплате) И СУММАУДЕРЖАНИЯ(ВзысканнаяСумма)?
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВедомостьНаВыплатуЗарплатыВБанк.СпособВыплаты.Наименование КАК СпособВыплатыНаименование,
| ВедомостьНаВыплатуЗарплатыВБанк.Дата КАК Дата,
| ВедомостьНаВыплатуЗарплатыВБанк.Зарплата.(
| КВыплате КАК КВыплате
| ) КАК Зарплата,
| ВедомостьНаВыплатуЗарплатыВБанк.Состав.(
| ВзысканнаяСумма КАК ВзысканнаяСумма
| ) КАК Состав,
| ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект КАК ЗарплатныйПроект,
| ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
| ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо КАК ФизическоеЛицо
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк,
| РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам КАК ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам
|ИТОГИ ПО
| СпособВыплатыНаименование";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаФизическоеЛицо = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаФизическоеЛицо.Следующий() Цикл
Сообщить(ВыборкаФизическоеЛицо.СпособВыплатыНаименование);
//Если ВыборкаФизическоеЛицо.СпособВыплатыНаименование = СпособВыплаты Тогда
ВыборкаДетальныеЗаписи = ВыборкаФизическоеЛицо.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если Формат(ВыборкаДетальныеЗаписи.Дата,"ДФ='MMMM yyyy'") = Формат(НачалоМесяца(МесяцВыплаты),"ДФ='MMMM yyyy'") Тогда
Если ВыборкаДетальныеЗаписи.ЗарплатныйПроектНаименование = "АО ""Альфа-Банк""" Тогда
ОбластьТаблицаСтрока.Параметры.НомерЛицевогоСчета = ВыборкаДетальныеЗаписи.НомерЛицевогоСчета;
ОбластьТаблицаСтрока.Параметры.КВыплате = ВыборкаДетальныеЗаписи.КВыплате;
ОбластьТаблицаСтрока.Параметры.ВзысканнаяСумма = ВыборкаДетальныеЗаписи.ВзысканнаяСумма;
ТабличныйДокумент.Вывести(ОбластьТаблицаСтрока);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ПоказатьПо теме из базы знаний
- Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().
- Пример создания в КД 2.1 правил выгрузки данных регистра «Лицевые счета работников» из ЗУП 2.5 в справочник «Банковские счета» БП 3.0. Подробно, ясно и просто.
- Загрузка данных к выплате списком, распределение суммы к выплате в ЗУП 3.1
- Задачи по доработке типовых решений. ЗУП 3.1. Доработка выплаты аванса фиксированной суммой, проверка на отработанное время. Вывод предупреждения как в ЗУП 2.5
- Очистка базы от наработанных данных организации
Найденные решения
(5) можно вот так попробовать
ВЫБРАТЬ
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект КАК ЗарплатныйПроект,
СУММА(ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате) КАК КВыплате,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации КАК ПериодРегистрации,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо КАК ФизическоеЛицо,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты КАК СпособВыплаты,
СУММА(ВедомостьНаВыплатуЗарплатыВБанкСостав.ВзысканнаяСумма) КАК ВзысканнаяСумма
ИЗ
Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк.Состав КАК ВедомостьНаВыплатуЗарплатыВБанкСостав
ПО ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка = ВедомостьНаВыплатуЗарплатыВБанкСостав.Ссылка
И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ИдентификаторСтроки = ВедомостьНаВыплатуЗарплатыВБанкСостав.ИдентификаторСтроки
И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо = ВедомостьНаВыплатуЗарплатыВБанкСостав.ФизическоеЛицо
ГДЕ
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект = &ЗарплатныйПроект
И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации = &ПериодРегистрации
СГРУППИРОВАТЬ ПО
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
теорию немного поштудировать надо бы вам.
больше, чем могло показаться) да, я сейчас переписал запрос. сделал связь по физ лицу между регистрами (ЗарплатаКВыплате и ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам) и регистром и доком(ЗарплатаКВыплате ВедомостьНаВыплатуЗарплатыВБанк). Но он почему то по несколько раз выводит сотрудников и СуммаКВыплате выводится наобум(что кстати подходит и к способу написания мной запроса, откуда и все проблемы).
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
| ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект.Наименование КАК ЗарплатныйПроектНаименование,
| ЗарплатаКВыплате.СуммаКВыплате КАК СуммаКВыплате,
| ЗарплатаКВыплате.Период КАК Период,
| ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо КАК ФизическоеЛицо,
| ВедомостьНаВыплатуЗарплатыВБанк.СпособВыплаты.Наименование КАК СпособВыплатыНаименование
|ИЗ
| РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам КАК ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗарплатаКВыплате КАК ЗарплатаКВыплате
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк
| ПО ЗарплатаКВыплате.Регистратор = ВедомостьНаВыплатуЗарплатыВБанк.Ссылка
| ПО ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо = ЗарплатаКВыплате.ФизическоеЛицо
|ГДЕ
| ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект.Ссылка = &Ссылка
| И ЗарплатаКВыплате.Период = &ДатаВыдачи";
Запрос.УстановитьПараметр("Ссылка", Справочники.ЗарплатныеПроекты.НайтиПоНаименованию("АО ""Альфа-Банк"""));
Запрос.УстановитьПараметр("ДатаВыдачи", НачалоМесяца(МесяцВыплаты));
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(ВыборкаДетальныеЗаписи.ФизическоеЛицо);
Сообщить(ВыборкаДетальныеЗаписи.ЗарплатныйПроектНаименование);
Сообщить(ВыборкаДетальныеЗаписи.НомерЛицевогоСчета);
Сообщить(Формат(ВыборкаДетальныеЗаписи.Период,"ДФ='MMMM yyyy'"));
Сообщить(ВыборкаДетальныеЗаписи.СпособВыплатыНаименование);
Сообщить(ВыборкаДетальныеЗаписи.СуммаКВыплате);
КонецЦикла;
Показать
(5) можно вот так попробовать
ВЫБРАТЬ
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект КАК ЗарплатныйПроект,
СУММА(ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате) КАК КВыплате,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации КАК ПериодРегистрации,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо КАК ФизическоеЛицо,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты КАК СпособВыплаты,
СУММА(ВедомостьНаВыплатуЗарплатыВБанкСостав.ВзысканнаяСумма) КАК ВзысканнаяСумма
ИЗ
Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк.Состав КАК ВедомостьНаВыплатуЗарплатыВБанкСостав
ПО ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка = ВедомостьНаВыплатуЗарплатыВБанкСостав.Ссылка
И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ИдентификаторСтроки = ВедомостьНаВыплатуЗарплатыВБанкСостав.ИдентификаторСтроки
И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо = ВедомостьНаВыплатуЗарплатыВБанкСостав.ФизическоеЛицо
ГДЕ
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект = &ЗарплатныйПроект
И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации = &ПериодРегистрации
СГРУППИРОВАТЬ ПО
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо,
ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот