Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 июн 2024, 05:28

Конструктор запросов и Временные таблицы

Автор Funt432286, 29 мая 2024, 18:27

0 Пользователей и 1 гость просматривают эту тему.

Funt432286

Всем доброго времени суток!

Есть Таблица Значений, которая заполнена из Поля Табличного Документа.
Далее я помещаю ТаблЗначений во Временную таблицу запросом и через запрос получаю данные для дальнейшего заполнения и расчетов.
Но работать с запросами мне удобней через Конструктор запросов, там все видно и понятно!
А как при работе с Консолью запросов в приложении заполнить данные Временной таблицы, чтобы с ней можно было бы потом проводить мохинации!?

Funt432286

Funt432286,

ТаблицаОтчет = Новый ТаблицаЗначений;
ТаблицаОтчет = ТЗ.Выгрузить();

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст=
"ВЫБРАТЬ
|    *
|ПОМЕСТИТЬ Отчет
|ИЗ
|    &ТабОтчет КАК Отчет";
Запрос.УстановитьПараметр("ТабОтчет", ТаблицаОтчет);
Запрос.Выполнить();

Запрос.Текст=
"ВЫБРАТЬ
|    Отчет.Товар,
| СУММА(Отчет.Кол_во) КАК КолВо
|ИЗ
|    Отчет КАК Отчет
|СГРУППИРОВАТЬ ПО
|    Отчет.Товар";
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Количество();

Пока Выборка.Следующий() Цикл

ТабТовар = ПараметрыНоменклатуры.Добавить();
ТабТовар.НоменклатураМаркет = Выборка.Товар;
ТабТовар.Кол_во = Выборка.КолВо;

КонецЦикла;

Когда пытаюсь сгруппировать или произвести действия расчета, выводит ошибку! Из-за этого хотелось бы построить весь запрос в консоле, там можно хотя бы проверить результат!

Ошибка при вызове метода контекста (Выполнить)
{Обработка.СформироватьОтчетКомиссионера.Форма.Форма.Форма(2531)}: Выборка = Запрос.Выполнить().Выбрать();
{Обработка.СформироватьОтчетКомиссионера.Форма.Форма.Форма(2595)}: ПодготовитьФайлНаСервере();
по причине:
{(3, 9)}: Неверные параметры "СУММА"
СУММА(<<?>>Отчет.Кол_во) КАК КолВо

по причине:
{(3, 9)}: Неверные параметры "СУММА"
СУММА(<<?>>Отчет.Кол_во) КАК КолВо

LexaK

Funt432286, по идее так же как и в коде программы.

в запросе в параметрах можно передать ТЗ (и в консоли тоже)!
вам прост надо найти консоль запросов которая умеет в параметрах задавать ТЗ,
(естественно ТЗ перед этим нужно выгрузить в файл и т.д.)
((похоже это для продвинутых программистов))

если помогло нажмите: Спасибо!

Funt432286

LexaK, спасибо за ответ, буду искать!

а ошибка выдавалась из-за того, что в реквизитах ТЗ не было задано количество символов в строковых переменных!
Задал параметр реквизитов и все заработало, ошибок нет!
А запрос пишу в ручную! )))

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск