привет!

конфа УТ 11. написал код движения по регистру.

```1c
    Движения.РасчетыСПоставщиками.Записывать = Истина;
    Движение = Движения.РасчетыСПоставщиками.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.АналитикаУчетаПоПартнерам = текспр.Ссылка;
    Движение.Сумма = стр.СуммаФакт;
```

при проведении ошибка: "Попытка использования закрытого менеджера временных таблиц"

ошибка указывает на строку в Модуле набора записей регистра:
"Запрос.МенеджерВременныхТаблиц = ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;"

расшифруйте, пожалуйста, что оно от меня хочет)
---
попробуйте ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц
---
Итак, Правильное решение!

Код движений по регистру я размещал в самом конце процедуры ОбработкаПроведения. Это и вызывало ошибку.

Необходимо код разместить ДО строк процедуры:

```1c
    СформироватьСписокРегистровДляКонтроля();
    ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
    ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
    ПроведениеСервер.ЗаписатьПодчиненныеНаборамЗаписейДанные(ЭтотОбъект, Отказ);
    ДоставкаТоваров.ОтразитьСостояниеДоставки(Ссылка, Отказ);
    ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
```
---
попробуйте ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц
---
да, заплатка работает, спасибо) НО! эта заплатка повлияет на проведение других документов т.к. ее код в Модуле набора записей регистра. Этого нужно избежать. Как добавить условие типа: Если док = этот док, то Новый менеджер таблиц?
---
это нетиповой документ ? тогда используйте ТипЗНЧ
---
дело в том, что в момент проведения документа в процедуре ОбработкаПроведения
ДополнительныеСвойства.ДляПроведения.Ссылка = текущий документ,

а в Процедура ПередЗаписью() в Модуле набора записей регистра поле Ссылка уже отсутствует.

Не могу понять в какой момент изменяется структура ДополнительныеСвойства
---
слоупока пост.

ДвиженияЗаказы.ДополнительныеСвойства.РассчитыватьИзменения = Ложь;

И не нужно трогать ни модуль набора записей, ни менеджер.
---
можно этот код добавить прямо в модуле объекта документа:

```1c
    ЭтотОбъект.ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц
```
---
а вы это делаете в обработке?
---
нет, в модуле объекта
---
Сообщение, возникающее при попытке создания временной таблицы в запросе в том случае, если установленный менеджер временных таблиц уже закрыт к моменту выполнения запроса, вводило в заблуждение. Текст ошибки был следующим Не установлен менеджер временных таблиц/

Не оно?
---
текст в моем случае: Попытка использования закрытого менеджера временных таблиц
---
Итак, Правильное решение!

Код движений по регистру я размещал в самом конце процедуры ОбработкаПроведения. Это и вызывало ошибку.

Необходимо код разместить ДО строк процедуры:

```1c
    СформироватьСписокРегистровДляКонтроля();
    ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
    ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
    ПроведениеСервер.ЗаписатьПодчиненныеНаборамЗаписейДанные(ЭтотОбъект, Отказ);
    ДоставкаТоваров.ОтразитьСостояниеДоставки(Ссылка, Отказ);
    ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
```
---
о чем я и писал в (3) ))
---
не смог понять о чем речь)
---
Так это надо снимать с поддержки.
---
Такая ошибка может возникать, если не вызвать
Объект.Движения.Записать();
---
У меня данная проблема возникла при смене статуса и повторном проведении документа во внешней обработке. Обработка формирует цепочку документов по складу...
Решил проблему методом ПолучитьОбъект() из ссылки документа.
Тем самым очистив структуру ДополнительныеСвойства

```1c
    ДокОНПТ.Записать(РежимЗаписиДокумента.Проведение);
    ДокОтбор.Записать(РежимЗаписиДокумента.Проведение);

    //Повторно инициализируем объект для очистки ДокОтбор.ДополнительныеСвойства
    ДокОтбор = ДокОтбор.Ссылка.ПолучитьОбъект();

    ДокОтбор.Статус = Перечисления.СтатусыОтборовРазмещенийТоваров.ВыполненоБезОшибок;

    Если ДокОтбор.ТоварыОтбор[0].Серия = Справочники.СерииНоменклатуры.ПустаяСсылка() Тогда
    ДокОтбор.ТоварыОтбор[0].Серия = СтрОтгр.Серия;
    ПараметрыУС_ОТ = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(ДокОтбор, Документы.ОтборРазмещениеТоваров));
    НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(ДокОтбор,ПараметрыУС_ОТ.Отбор);
    КонецЕсли;

    ДокОтбор.Записать(РежимЗаписиДокумента.Проведение);
```
---
Спасибо, есть аналогичный код, где объект записывается несколько раз, была та же проблема, Вы сэкономили мне кучу времени.
---
```1c
    Движения.РасчетыСКлиентами.ДополнительныеСвойства.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
```