ВедомостьНаВыплатуЗарплатыВБанк получить данные

1. user1426258 10.07.20 06:44 Сейчас в теме
Подскажите, каким образом я могу обратиться к параметрам запроса? и вообще слышал, что это плохой тон делать выборку из документа, желательно из регистра брать данные. Задача в том, что делаю внешнюю обработку, в которой будет выбираться ДАТА и СПОСОБВЫПЛАТЫ(Аванс, ЗП и тд), исходя из этого у меня будет 3 табличных столбца это ЛИЦЕВОЙ СЧЕТ, СУММАНАЧИСЛЕНИЯ(КВыплате) И СУММАУДЕРЖАНИЯ(ВзысканнаяСумма) и конкретно по АльфаБанку. Каким образом мне вытянуть данные СУММАНАЧИСЛЕНИЯ(КВыплате) И СУММАУДЕРЖАНИЯ(ВзысканнаяСумма)?



	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ВедомостьНаВыплатуЗарплатыВБанк.СпособВыплаты.Наименование КАК СпособВыплатыНаименование,
		|	ВедомостьНаВыплатуЗарплатыВБанк.Дата КАК Дата,
		|	ВедомостьНаВыплатуЗарплатыВБанк.Зарплата.(
		|		КВыплате КАК КВыплате
		|	) КАК Зарплата,
		|	ВедомостьНаВыплатуЗарплатыВБанк.Состав.(
		|		ВзысканнаяСумма КАК ВзысканнаяСумма
		|	) КАК Состав,
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект КАК ЗарплатныйПроект,
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо КАК ФизическоеЛицо
		|ИЗ
		|	Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк,
		|	РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам КАК ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам
		|ИТОГИ ПО
		|	СпособВыплатыНаименование";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаФизическоеЛицо = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	Пока ВыборкаФизическоеЛицо.Следующий() Цикл
		Сообщить(ВыборкаФизическоеЛицо.СпособВыплатыНаименование);
		//Если ВыборкаФизическоеЛицо.СпособВыплатыНаименование = СпособВыплаты Тогда
		ВыборкаДетальныеЗаписи = ВыборкаФизическоеЛицо.Выбрать();
		Пока ВыборкаДетальныеЗаписи.Следующий() Цикл 
			Если Формат(ВыборкаДетальныеЗаписи.Дата,"ДФ='MMMM yyyy'") = Формат(НачалоМесяца(МесяцВыплаты),"ДФ='MMMM yyyy'") Тогда 
				Если ВыборкаДетальныеЗаписи.ЗарплатныйПроектНаименование = "АО ""Альфа-Банк""" Тогда
					
				ОбластьТаблицаСтрока.Параметры.НомерЛицевогоСчета = ВыборкаДетальныеЗаписи.НомерЛицевогоСчета;
				ОбластьТаблицаСтрока.Параметры.КВыплате = ВыборкаДетальныеЗаписи.КВыплате;
				ОбластьТаблицаСтрока.Параметры.ВзысканнаяСумма =  ВыборкаДетальныеЗаписи.ВзысканнаяСумма;
				ТабличныйДокумент.Вывести(ОбластьТаблицаСтрока);
			      КонецЕсли;
				КонецЕсли;
			КонецЦикла;
		КонецЕсли;
	КонецЦикла;
Показать
По теме из базы знаний
Найденные решения
6. rinik88 31 10.07.20 11:48 Сейчас в теме
(5) можно вот так попробовать
ВЫБРАТЬ
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект КАК ЗарплатныйПроект,
	СУММА(ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате) КАК КВыплате,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации КАК ПериодРегистрации,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо КАК ФизическоеЛицо,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты КАК СпособВыплаты,
	СУММА(ВедомостьНаВыплатуЗарплатыВБанкСостав.ВзысканнаяСумма) КАК ВзысканнаяСумма
ИЗ
	Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк.Состав КАК ВедомостьНаВыплатуЗарплатыВБанкСостав
		ПО ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка = ВедомостьНаВыплатуЗарплатыВБанкСостав.Ссылка
			И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ИдентификаторСтроки = ВедомостьНаВыплатуЗарплатыВБанкСостав.ИдентификаторСтроки
			И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо = ВедомостьНаВыплатуЗарплатыВБанкСостав.ФизическоеЛицо
ГДЕ
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект = &ЗарплатныйПроект
	И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации = &ПериодРегистрации

СГРУППИРОВАТЬ ПО
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. rinik88 31 10.07.20 08:21 Сейчас в теме
(1)
Подскажите, каким образом я могу обратиться к параметрам запроса?
вот тут не ясно что хотите?
3. user1426258 10.07.20 10:34 Сейчас в теме
(2)
Когда делаю выборку ничего не выводит...
4. rinik88 31 10.07.20 10:53 Сейчас в теме
(3) у вас запрос странный, вы берете документ и регистр, но ни коим образом их не связываете. плюс еще из документа выбираете целиком табличные части, а не их поля. параметров в вашем запросе нет. теорию немного поштудировать надо бы вам.
5. user1426258 10.07.20 11:34 Сейчас в теме
(4)
теорию немного поштудировать надо бы вам.
больше, чем могло показаться) да, я сейчас переписал запрос. сделал связь по физ лицу между регистрами (ЗарплатаКВыплате и ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам) и регистром и доком(ЗарплатаКВыплате ВедомостьНаВыплатуЗарплатыВБанк). Но он почему то по несколько раз выводит сотрудников и СуммаКВыплате выводится наобум(что кстати подходит и к способу написания мной запроса, откуда и все проблемы).

		Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект.Наименование КАК ЗарплатныйПроектНаименование,
		|	ЗарплатаКВыплате.СуммаКВыплате КАК СуммаКВыплате,
		|	ЗарплатаКВыплате.Период КАК Период,
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо КАК ФизическоеЛицо,
		|	ВедомостьНаВыплатуЗарплатыВБанк.СпособВыплаты.Наименование КАК СпособВыплатыНаименование
		|ИЗ
		|	РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам КАК ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ЗарплатаКВыплате КАК ЗарплатаКВыплате
		|			ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк КАК ВедомостьНаВыплатуЗарплатыВБанк
		|			ПО ЗарплатаКВыплате.Регистратор = ВедомостьНаВыплатуЗарплатыВБанк.Ссылка
		|		ПО ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ФизическоеЛицо = ЗарплатаКВыплате.ФизическоеЛицо
		|ГДЕ
		|	ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.ЗарплатныйПроект.Ссылка = &Ссылка
		|	И ЗарплатаКВыплате.Период = &ДатаВыдачи";
	
	Запрос.УстановитьПараметр("Ссылка", Справочники.ЗарплатныеПроекты.НайтиПоНаименованию("АО ""Альфа-Банк"""));
	Запрос.УстановитьПараметр("ДатаВыдачи", НачалоМесяца(МесяцВыплаты));
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		Сообщить(ВыборкаДетальныеЗаписи.ФизическоеЛицо);
		Сообщить(ВыборкаДетальныеЗаписи.ЗарплатныйПроектНаименование);
		Сообщить(ВыборкаДетальныеЗаписи.НомерЛицевогоСчета);
		Сообщить(Формат(ВыборкаДетальныеЗаписи.Период,"ДФ='MMMM yyyy'"));
		Сообщить(ВыборкаДетальныеЗаписи.СпособВыплатыНаименование);
		Сообщить(ВыборкаДетальныеЗаписи.СуммаКВыплате);		
	КонецЦикла;
Показать
6. rinik88 31 10.07.20 11:48 Сейчас в теме
(5) можно вот так попробовать
ВЫБРАТЬ
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета КАК НомерЛицевогоСчета,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект КАК ЗарплатныйПроект,
	СУММА(ВедомостьНаВыплатуЗарплатыВБанкЗарплата.КВыплате) КАК КВыплате,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации КАК ПериодРегистрации,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо КАК ФизическоеЛицо,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты КАК СпособВыплаты,
	СУММА(ВедомостьНаВыплатуЗарплатыВБанкСостав.ВзысканнаяСумма) КАК ВзысканнаяСумма
ИЗ
	Документ.ВедомостьНаВыплатуЗарплатыВБанк.Зарплата КАК ВедомостьНаВыплатуЗарплатыВБанкЗарплата
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ВедомостьНаВыплатуЗарплатыВБанк.Состав КАК ВедомостьНаВыплатуЗарплатыВБанкСостав
		ПО ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка = ВедомостьНаВыплатуЗарплатыВБанкСостав.Ссылка
			И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ИдентификаторСтроки = ВедомостьНаВыплатуЗарплатыВБанкСостав.ИдентификаторСтроки
			И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо = ВедомостьНаВыплатуЗарплатыВБанкСостав.ФизическоеЛицо
ГДЕ
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект = &ЗарплатныйПроект
	И ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации = &ПериодРегистрации

СГРУППИРОВАТЬ ПО
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.НомерЛицевогоСчета,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ЗарплатныйПроект,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.ПериодРегистрации,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.ФизическоеЛицо,
	ВедомостьНаВыплатуЗарплатыВБанкЗарплата.Ссылка.СпособВыплаты
Показать
7. user1426258 10.07.20 12:51 Сейчас в теме
(6)Исторический момент моей недели) Спасибо)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот