Занимаюсь по книге "1с Практическое пособие разработчика" глава "Оптимизация проведения документа Оказание услуг" на этапе автоматизации расчета стоимости есть работа с временными таблицами, написал код и при проведении документа "Оказание услуги" выходит вышесказанная ошибка

```1c
    Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    Движения.ОстаткиМатериалов.Записывать = Истина;
    Движения.СтоимостьМатериалов.Записывать = Истина;
    Движения.Продажи.Записывать=Истина;
    //Создать менеджер временных таблиц
    Запрос = Новый Запрос;
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
    //Укажем, какой менеджер временных таблиц использует этот запрос
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

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

    // Запишем пустые наборы записей, чтобы читать остатки без учета данных в документе
    Движения.СтоимостьМатериалов.Записать();
    Движения.ОстаткиМатериалов.Записать();
    РезультатЗапроса = Запрос2.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда
    СтоимостьМатериала = 0;
    Иначе
    СтоимостьМатериала =
    ВыборкаДетальныеЗаписи.Стоимость / ВыборкаДетальныеЗаписи.Количество;
    КонецЕсли;
    Если ВыборкаДетальныеЗаписи.ВидНоменклатуры =
    Перечисления.ВидыНоменклатуры.Материал Тогда
    // регистр ОстаткиМатериалов Расход
    Движение = Движения.ОстаткиМатериалов.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура;
    Движение.Склад = Склад;
    Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
    // регистр СтоимостьМатериалов Расход
    Движение = Движения.СтоимостьМатериалов.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура;
    Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе * СтоимостьМатериала;
    КонецЕсли;

    // Регистр Продажи
    Движение = Движения.Продажи.Добавить();
    Движение.Период = Дата;
    Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
    Движение.Клиент = Клиент;
    Движение.Мастер = Мастер;
    Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
    Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе;
    Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе * СтоимостьМатериала;
    КонецЦикла;

    КонецПроцедуры
```
---
Запрос = Новый Запрос;
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
    //Укажем, какой менеджер временных таблиц использует этот запрос
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
    Запрос = Новый Запрос;

Установил. А потом запрос заново создаёшь...
---
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТАНиже этой строчки Вы вновь создаете "Запрос", без указания менеджера временных таблиц.
---
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТАНиже этой строчки Вы вновь создаете "Запрос", без указания менеджера временных таблиц.
---
Запрос = Новый Запрос;
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
    //Укажем, какой менеджер временных таблиц использует этот запрос
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
    Запрос = Новый Запрос;

Установил. А потом запрос заново создаёшь...
---
Спасибо, друг! Глаз от ночного кодинга замылился :)
---
Как в итоге должен выглядеть код , у меня все равно выдает ошибку , может не туда вставляю ?
---
Процедура ОбработкаПроведения(Отказ, Режим)

  Движения.ОстаткиМатериалов.Записывать = Истина;
  Движения.СтоимостьМатериалов.Записывать = Истина;
         Движения.Продажи.Записывать = Истина;

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

 Запрос.УстановитьПараметр("Ссылка", Ссылка);

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

 РезультатЗапроса = Запрос2.Выполнить();

 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
  Если ВыборкаДетальныеЗаписи.Количество=0 Тогда
   СтоимостьМатериала =0;
  Иначе
   СтоимостьМатериала = ВыборкаДетальныеЗаписи.Стоимость/ВыборкаДетальныеЗаписи.Количество;
  КонецЕсли;

  Если ВыборкаДетальныеЗаписи.ВидНоменклатуры=Перечисления.ВидыНоменклатуры.Материал Тогда

   // регистр ОстаткиМатериалов Расход
  Движение = Движения.ОстаткиМатериалов.Добавить();
  Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
  Движение.Период = Дата;
  Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура;
  Движение.Склад = Склад;
  Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;

  // регистр СтоимостьМатериалов Расход
  Движение = Движения.СтоимостьМатериалов.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Материал = ВыборкаДетальныеЗаписи.Номенклатура;
  Движение.Стоимость = ВыборкаДетальныеЗаписи.КоличествоВДокументе*СтоимостьМатериала;

        КонецЕсли;
       //Регистр Продажи
   Движение = Движения.Продажи.Добавить();
         Движение.Период = Дата;
        Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
  Движение.Клиент = Клиент;
  Движение.Мастер = Мастер;
  Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
  Движение.Выручка = ВыборкаДетальныеЗаписи.СуммаВДокументе;
  Движение.Стоимость = СтоимостьМатериала*ВыборкаДетальныеЗаписи.КоличествоВДокументе;

            КонецЦикла;

 КонецПроцедуры
---
Может кому-нибудь ещё будет актуально.
Следующий кусок кода

```1c
    Движения.Продажи.Записывать=Истина;
    //Создать менеджер временных таблиц
    Запрос = Новый Запрос;
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
    //Укажем, какой менеджер временных таблиц использует этот запрос
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;

    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    Запрос = Новый Запрос;
    Запрос.Текст =
```

надо переписать так

```1c
    Движения.Продажи.Записывать=Истина;
    //Создать менеджер временных таблиц
    МенеджерВТ = Новый МенеджерВременныхТаблиц;

    Запрос = Новый Запрос;
    //Укажем, какой менеджер временных таблиц использует этот запрос
    Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
    Запрос.Текст =
```

Остальной код без изменений.
---
Кто зашел сюда искать решения проблемы - возможно, у вас в последнем пакете запроса имеется помещение во временную таблицу (ПОМЕСТИТЬ) и оно вам не нужно...
---
Огромное мерси за дополнение! Как раз то, что мне нужно было))))
---
user1559729 Спасибо большое. И аот теперь я понял, что оно действительно не нужно(ПОМЕСТИТЬ) ))
---
Обфускатор не удаляет в запросе ворох //// поэтому 1С считает это комментарием и вываливает в ошибку.
Допилить его нужно или убрать слеши.