Почему в запросе выводит пустые данные из виртуальной таблицы?
Добрый день, делаю запрос к регистру почему то смотрю через консоль запросов в ней выводит данные только основного запроса почему то данные виртуальной таблицы не выводятся хотя различие только в условии?
Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Работа.Код,
| РаботаОбороты.Период,
| СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
| СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
|ПОМЕСТИТЬ
| ВремТабКод
|ИЗ
| РегистрНакопления.Работа КАК Работа
|ГДЕ
| РаботаОбороты.Прод = &Прод И РаботаОбороты.Код <> ""Б01""
|;
|ВЫБРАТЬ
| РаботаОбороты.Период,
| СУММА(РаботаОбороты.УзнавшийИзДругихИсточниковОборот),
| СУММА(РаботаОбороты.ПришедшийПоПриглашениюОборот)
| ВремТабКод.Код,
| ВремТабКод.УзнавшийИзДругихИсточниковОборот
| ВремТабКод.ПришедшийПоПриглашениюОборот
|ИЗ
| РегистрНакопления.Работа.Обороты(&Дата1, &Дата2, , ) КАК РаботаОбороты
|ЛЕВОЕ СОЕДЕНЕНИЕ
| ВремТабКод КАК ВремТабКод
|ПО
| (РаботаОбороты.ПришедшийПоПриглашениюОборот = ВремТабКод.Код)";
Если НЕ Прод.Пустая() Тогда
Запрос.Текст = Запрос.Текст + "
|ГДЕ
| РаботаОбороты.Прод = &Прод
|СГРУППИРОВАТЬ ПО
| Работа обороты.Период,
| РаботаОбороты.УзнавшийИзДругихИсточниковОборот,
| РаботаОбороты.ПришедшийПоПриглашениюОборот
| ВремТабКод.Код,
| ВремТабКод.УзнавшийИзДругихИсточниковОборот
| ВремТабКод.ПришедшийПоПриглашениюОборот";
Запрос.УстановитьПараметр("Прод", Прод);
КонецЕсли;
Запрос.УстановитьПараметр("Дата1", НачалоДня(Дата1));
Запрос.УстановитьПараметр("Дата2", КонецДня(Дата2));
ВыборкаЗапроса = Запрос.Выполнить().Выбрать();
ТабДок = Новый ТабличныйДокумент;
Макет = Отчеты.УчётаРаботы.ПолучитьМакет("МакетОтчёт");
МакетОтчёт = ЭтотОбъект.ПолучитьМакет(МакетОтчёт);
МакетОтчёт.Параметры.Дата1 = Формат(Дата1, "ДЛФ=D");
МакетОтчёт.Параметры.Дата2 = Формат(Дата2, "ДЛФ=D");
Шапка = Макет.ПолучитьОбласть("Шапка");
СтрокаОтчёта = Макет.ПолучитьОбласть("Строка");
Подвал = Макет.ПолучитьОбласть("Подвал");
Шапка.Параметры.Дата1 = Дата1;
Шапка.Параметры.Дата2 = Дата2;
Шапка.Параметры.Продавец = Строка(Прод) + " " + Прод.Отдел;
ТабДок.Вывести(Шапка);
Данные = Новый Структура;
Пока ВыборкаЗапроса.Следующий() Цикл
Данные.Вставить("УзнавшийИзДругихИсточников", ВыборкаЗапроса.УзнавшийИзДругихИсточниковОборот);
Данные.Вставить("ПришедшийПоПриглашению", ВыборкаЗапроса.ПришедшийПоПриглашениюОборот);
Для Каждого ТекущаяСтрока Из Данные Цикл
СтрокаОтчёта.Параметры.УзнавшийИзДругихИсточников = Данные.УзнавшийИзДругихИсточников;
СтрокаОтчёта.Параметры.ПришедшийПоПриглашению = Данные.ПришедшийПоПриглашению;
КонецЦикла;
ТабДок.Вывести(СтрокаОтчёта);
КонецЦикла;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область("R11:R14");
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.АвтоМасштаб = Истина;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать("Ведомость за период с " + Формат(Дата1, "ДФ=dd.MM.yyyy") + " по " + Формат(Дата2, "ДФ=dd.MM.yyyy"));
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Как сдать экзамен 1С:Специалист по платформе?
- Регистры бухгалтерии. Виртуальная таблица оборотов
- Как читать чужой код? Часть 3. Разбор и доработка запросов
- Исправляем проблемы производительности в конфигурации ERP - 7 примеров
- Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов
Найденные решения
(7) Спасибо заработало, можешь ещё подсказать как сделать выборку по части кода, например не написать полностью ""Б01""
а что бы сделал выборку во всех записях где начинается с ""Б""?
РаботаОбороты.Прод = &Прод И РаботаОбороты.Код <> ""Б01""
а что бы сделал выборку во всех записях где начинается с ""Б""?
РаботаОбороты.Прод = &Прод И РаботаОбороты.Код <> ""Б""
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7) Спасибо заработало, можешь ещё подсказать как сделать выборку по части кода, например не написать полностью ""Б01""
а что бы сделал выборку во всех записях где начинается с ""Б""?
РаботаОбороты.Прод = &Прод И РаботаОбороты.Код <> ""Б01""
а что бы сделал выборку во всех записях где начинается с ""Б""?
РаботаОбороты.Прод = &Прод И РаботаОбороты.Код <> ""Б""
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот