Отчет по оказанным услугам с полным наименованием

Новая тема
"Добрый день. В конторе потребовалась табличка вида:  Номер Акта  ---    полное наименование услуги

полное наименование услуги спокойно можно увидеть в печатной форме выбранного документа, но мне нужно получить табличку за нужный период а точнее за квартал

вот код, сделал мастером
при выполнении выдает ошибку:

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{Отчет.ГТДе.Форма.модуль(24)}: Наименование2 = Документ.ОказаниеУслуг.Услуга.полнНаименование <>);
Запрос[7]: Запрос не оперирует величинами типа "Строка" неопределенной длины

Что-то можно сделать?

Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы все;
|ОказаниеУслуг = Документ.ОказаниеУслуг.ТекущийДокумент;
|Услуга = Документ.ОказаниеУслуг.Услуга;
|Наименование = Документ.ОказаниеУслуг.Услуга.Наименование;
|Наименование2 = Документ.ОказаниеУслуг.Услуга.ПолнНаименование;
|Группировка ОказаниеУслуг;
|Группировка Услуга;
|Группировка Наименование;
|"//}}ЗАПРОС


;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей ОказаниеУслуг
Таб.ВывестиСекцию("ОказаниеУслуг");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Услуга
Таб.ВывестиСекцию("Услуга");
Пока Запрос.Группировка(3) = 1 Цикл
// Заполнение полей Наименование
Таб.ВывестиСекцию("Наименование");
КонецЦикла;
КонецЦикла;
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", """");
КонецПроцедуры"
"
В шаблоне таблицы в разделе "Услуга" где выводится наименование услуги пишешь:
Услуга.ПолнНаименование //для полного
Услуга.Наименование //для краткого
и запрос делаешь так:

Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|с ВыбНачПериода по ВыбКонПериода;
|ОказаниеУслуг = Документ.ОказаниеУслуг.ТекущийДокумент;
|Услуга = Документ.ОказаниеУслуг.Услуга;
|Группировка ОказаниеУслуг;
|Группировка Услуга;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей ОказаниеУслуг
Таб.ВывестиСекцию("ОказаниеУслуг");
Пока Запрос.Группировка(2) = 1 Цикл
// Заполнение полей Услуга
Таб.ВывестиСекцию("Услуга");
КонецЦикла;
КонецЦикла;
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", """");
КонецПроцедуры
"
"Vladko, помощь твоя неоценима!

Выполнил. Думаю все правильно понял. Посмотри пожалуйста скриншоты, циклично вылезают ошибки:

Переменная не определена (Запрос)
переменная не определена (Таб)

Хотя как я понял мы же их определили строками
Запрос = СоздатьОбъект("Запрос");
и
Таб = СоздатьОбъект("Таблица");"
ошибки.PNG (16.12 КБ)
модуль.PNG (26.36 КБ)
Текст процедуры не тот, в ошибках ругается на
Пока Запрос.Группировка(3) = 1 Цикл
а в тексте процедуры такого нет.
1. поправка: я писал:
В шаблоне таблицы в разделе "Услуга" где выводится наименование услуги пишешь:
Услуга.ПолнНаименование //для полного
Услуга.Наименование //для краткого
надо так:
В шаблоне таблицы в разделе "Услуга" где выводится наименование услуги пишешь:
Запрос.Услуга.ПолнНаименование //для полного
Запрос.Услуга.Наименование //для краткого
В свойстах ячейки проверяешь, чтоб было не "Текст", а "Выражение"

2. ошибки точно не от этой процедуры, которая у тебя получилась.
И ещё, откуда в макете:
Запрос.ОперацииВыбытияИмущества?
У тебя в запросе нигде не определяется такая переменная ОперацииВыбытияИмущества
Vladko, огромное тебе человеческое Спасибо! Разобрался, все работает как надо.

//Ошибки были потому что я за кадром кусок кода старого оставил, и не заметил.
Читают тему
(гостей: 1)

Быстрый переход