Не выводятся данные из запроса в кнопке в расширении

1. Reflection0504 11.09.24 19:28 Сейчас в теме
Необходимо вывести данные в Excel через кнопку, использую расширение. Вчера помогли с выгрузкой, но сами данные из запроса не выводятся, делал через конструктор запроса с обработкой результата. Не совсем понимаю в чем проблема. Оставлю код, на случай, если ошибка где-то в нем, заранее спасибо за ответ.

Макет = Документы.ВедомостьНаВыплатуЗарплатыВБанк.ПолучитьМакет("ВыгрузкаВПСБ");
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	БанковскиеСчета.НомерСчета КАК НомерСчета,
		|	Валюты.ОсновнаяВалюта.Наименование КАК Валюта,
		|	ВедомостьНаВыплатуЗарплатыЗарплата.Сумма КАК СуммаКПеречислению,
		|	ФизическиеЛицаПрисоединенныеФайлы.Автор.ФизическоеЛицо.Фамилия КАК Фамилия,
		|	ФизическиеЛицаПрисоединенныеФайлы.Автор.ФизическоеЛицо.Имя КАК Имя,
		|	ФизическиеЛицаПрисоединенныеФайлы.Автор.ФизическоеЛицо.Отчество КАК Отчество,
		|	СогласиеНаОбработкуПерсональныхДанных.ПаспортныеДанные КАК ПаспортныеДанные,
		|	ЗаявкаНаОткрытиеЛицевыхСчетовСотрудниковСотрудники.ТабельныйНомер КАК ТабельныйНомерСотрудника
		|ИЗ
		|	Документ.ВедомостьНаВыплатуЗарплаты.Зарплата КАК ВедомостьНаВыплатуЗарплатыЗарплата
		|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчета КАК БанковскиеСчета
		|			ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Валюты КАК Валюты
		|				ПРАВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаОткрытиеЛицевыхСчетовСотрудников.Сотрудники КАК ЗаявкаНаОткрытиеЛицевыхСчетовСотрудниковСотрудники
		|				ПО (ЗаявкаНаОткрытиеЛицевыхСчетовСотрудниковСотрудники.ВалютаВклада = Валюты.Ссылка)
		|			ПО БанковскиеСчета.ВалютаДенежныхСредств = Валюты.Ссылка
		|		ПО ВедомостьНаВыплатуЗарплатыЗарплата.БанковскийСчет = БанковскиеСчета.Ссылка,
		|	Справочник.ФизическиеЛицаПрисоединенныеФайлы КАК ФизическиеЛицаПрисоединенныеФайлы,
		|	Документ.СогласиеНаОбработкуПерсональныхДанных КАК СогласиеНаОбработкуПерсональныхДанных";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
	ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
	ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
	ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");   
	
	
	ТабДок=Новый ТабличныйДокумент;
	ТабДок.Очистить();
	ТабДок.Вывести(ОбластьЗаголовок);
	ТабДок.Вывести(ОбластьШапкаТаблицы);
	ТабДок.НачатьАвтогруппировкуСтрок();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
		ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
	КонецЦикла;
	
	ТабДок.ЗакончитьАвтогруппировкуСтрок();
	ТабДок.Вывести(ОбластьПодвалТаблицы);
	ТабДок.Вывести(ОбластьПодвал);
	
	//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
	
	Возврат ТабДок; 

КонецФункции
Показать
По теме из базы знаний
Найденные решения
4. lone_mayson 52 12.09.24 09:20 Сейчас в теме
Очень причудливый запрос, и что за конфигурация такая. У меня такого документа нет.
Хотя бы так (но не факт, что у тебя метаданные соответствуют).
"ВЫБРАТЬ
|	ВедомостьНаВыплатуЗарплатыЗарплата.БанковскийСчет.НомерСчета КАК НомерСчета,
|	ВедомостьНаВыплатуЗарплатыЗарплата.БанковскийСчет.ВалютаДенежныхСредств.Наименование КАК Валюта,
|	ВедомостьНаВыплатуЗарплатыЗарплата.КВыплате КАК СуммаКПеречислению,
// Или ВедомостьНаВыплатуЗарплатыЗарплата.Сотрудник.ФизическоеЛицо.Фамилия
|	ФизическиеЛица.Фамилия КАК Фамилия,
|	ФизическиеЛица.Имя КАК Имя,
|	ФизическиеЛица.Отчество КАК Отчество,
|	ДокументыФизическихЛиц.Представление КАК ПаспортныеДанные,
|	ВедомостьНаВыплатуЗарплатыЗарплата.Сотрудник.Код КАК ТабельныйНомерСотрудника
|ИЗ
|	Документ.ВедомостьНаВыплатуЗарплаты.Зарплата КАК ВедомостьНаВыплатуЗарплатыЗарплата
|       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
|		ПО ВедомостьНаВыплатуЗарплатыЗарплата.Сотрудник.ФизическоеЛицо = ФизическиеЛица.Ссылка
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц
|		ПО ФизическиеЛица.Ссылка = ДокументыФизическихЛиц.Физлицо
|			И (ДокументыФизическихЛиц.ВидДокумента = ЗНАЧЕНИЕ(Справочник.ВидыДокументовФизическихЛиц.ПаспортРФ))"
Показать


Зачем столько непонятных соединений.

upd
А где Запрос.УстановитьПараметр?
|ГДЕ
|	Документ.ВедомостьНаВыплатуЗарплаты.Зарплата.Ссылка = &Ссылка"
Запрос.УстановитьПараметр("Ссылка", ...); // Если кнопка в документе..
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. electr1chka 12.09.24 08:16 Сейчас в теме
(1)
| ПРАВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаОткрытиеЛицевыхСчетовСотрудников.Сотрудники КАК ЗаявкаНаОткрытиеЛицевыхСчетовСотрудниковСотрудники
| ПО (ЗаявкаНаОткрытиеЛицевыхСчетовСотрудниковСотрудники.ВалютаВклада = Валюты.Ссылка)


В чем логика данного блока?

| Справочник.ФизическиеЛицаПрисоединенныеФайлы КАК ФизическиеЛицаПрисоединенныеФайлы,
| Документ.СогласиеНаОбработкуПерсональныхДанных КАК СогласиеНаОбработкуПерсональныхДанных";


Почему нет связи с основной таблицей?
3. user1936660 12.09.24 08:29 Сейчас в теме
(1)
Вчера помогли с выгрузкой
Сделайте уж и всё остальное за меня...
4. lone_mayson 52 12.09.24 09:20 Сейчас в теме
Очень причудливый запрос, и что за конфигурация такая. У меня такого документа нет.
Хотя бы так (но не факт, что у тебя метаданные соответствуют).
"ВЫБРАТЬ
|	ВедомостьНаВыплатуЗарплатыЗарплата.БанковскийСчет.НомерСчета КАК НомерСчета,
|	ВедомостьНаВыплатуЗарплатыЗарплата.БанковскийСчет.ВалютаДенежныхСредств.Наименование КАК Валюта,
|	ВедомостьНаВыплатуЗарплатыЗарплата.КВыплате КАК СуммаКПеречислению,
// Или ВедомостьНаВыплатуЗарплатыЗарплата.Сотрудник.ФизическоеЛицо.Фамилия
|	ФизическиеЛица.Фамилия КАК Фамилия,
|	ФизическиеЛица.Имя КАК Имя,
|	ФизическиеЛица.Отчество КАК Отчество,
|	ДокументыФизическихЛиц.Представление КАК ПаспортныеДанные,
|	ВедомостьНаВыплатуЗарплатыЗарплата.Сотрудник.Код КАК ТабельныйНомерСотрудника
|ИЗ
|	Документ.ВедомостьНаВыплатуЗарплаты.Зарплата КАК ВедомостьНаВыплатуЗарплатыЗарплата
|       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица
|		ПО ВедомостьНаВыплатуЗарплатыЗарплата.Сотрудник.ФизическоеЛицо = ФизическиеЛица.Ссылка
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц
|		ПО ФизическиеЛица.Ссылка = ДокументыФизическихЛиц.Физлицо
|			И (ДокументыФизическихЛиц.ВидДокумента = ЗНАЧЕНИЕ(Справочник.ВидыДокументовФизическихЛиц.ПаспортРФ))"
Показать


Зачем столько непонятных соединений.

upd
А где Запрос.УстановитьПараметр?
|ГДЕ
|	Документ.ВедомостьНаВыплатуЗарплаты.Зарплата.Ссылка = &Ссылка"
Запрос.УстановитьПараметр("Ссылка", ...); // Если кнопка в документе..
5. electr1chka 12.09.24 09:33 Сейчас в теме
(4) Разве использование такого количества точек не будет тормозить систему?
7. Reflection0504 13.09.24 00:27 Сейчас в теме
(4) Спасибо, внимательнее поработал с данными, всё получилось.
6. lone_mayson 52 12.09.24 09:36 Сейчас в теме
(5) Ну тут составного типа у реквизитов, вроде, нет. Скорей всего, для субд в SQL-запросе будет одно левое соединение для каждого поля через точку. Ну можно ещё выразить использовать. Ну подчас дело вкуса.
electr1chka; +1 Ответить
Оставьте свое сообщение

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