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

1. request4t 18.06.19 16:25 Сейчас в теме
привет!

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


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

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

расшифруйте, пожалуйста, что оно от меня хочет)
По теме из базы знаний
Найденные решения
6. alex-l19041 8 18.06.19 16:37 Сейчас в теме
(1) попробуйте
ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц
strelvan; ankr; ital; request4t; +4 Ответить
10. request4t 18.06.19 17:36 Сейчас в теме
Итак, Правильное решение!

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

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

СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ЗаписатьПодчиненныеНаборамЗаписейДанные(ЭтотОбъект, Отказ);
ДоставкаТоваров.ОтразитьСостояниеДоставки(Ссылка, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
user1882613; Help-GROUP; kamis; COMPER; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. alex-l19041 8 18.06.19 16:37 Сейчас в теме
(1) попробуйте
ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц
strelvan; ankr; ital; request4t; +4 Ответить
7. request4t 18.06.19 16:46 Сейчас в теме
(6)
да, заплатка работает, спасибо) НО! эта заплатка повлияет на проведение других документов т.к. ее код в Модуле набора записей регистра. Этого нужно избежать. Как добавить условие типа: Если док = этот док, то Новый менеджер таблиц?
8. alex-l19041 8 18.06.19 16:57 Сейчас в теме
(7) это нетиповой документ ? тогда используйте ТипЗНЧ
9. request4t 18.06.19 17:11 Сейчас в теме
(8)
дело в том, что в момент проведения документа в процедуре ОбработкаПроведения
ДополнительныеСвойства.ДляПроведения.Ссылка = текущий документ,

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

Не могу понять в какой момент изменяется структура ДополнительныеСвойства
15. AlX0id 12.08.22 09:33 Сейчас в теме
(7)
слоупока пост.


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


И не нужно трогать ни модуль набора записей, ни менеджер.
strelvan; SLukin; +2 Ответить
16. ankr 19 01.05.23 13:15 Сейчас в теме
(7) можно этот код добавить прямо в модуле объекта документа:
ЭтотОбъект.ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц
2. mrx2012 18.06.19 16:29 Сейчас в теме
а вы это делаете в обработке?
4. request4t 18.06.19 16:33 Сейчас в теме
(2)нет, в модуле объекта
3. tvm 18.06.19 16:30 Сейчас в теме
Сообщение, возникающее при попытке создания временной таблицы в запросе в том случае, если установленный менеджер временных таблиц уже закрыт к моменту выполнения запроса, вводило в заблуждение. Текст ошибки был следующим Не установлен менеджер временных таблиц/

Не оно?
5. request4t 18.06.19 16:34 Сейчас в теме
(3) текст в моем случае: Попытка использования закрытого менеджера временных таблиц
10. request4t 18.06.19 17:36 Сейчас в теме
Итак, Правильное решение!

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

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

СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ЗаписатьПодчиненныеНаборамЗаписейДанные(ЭтотОбъект, Отказ);
ДоставкаТоваров.ОтразитьСостояниеДоставки(Ссылка, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
user1882613; Help-GROUP; kamis; COMPER; +4 Ответить
11. tvm 18.06.19 17:40 Сейчас в теме
12. request4t 18.06.19 17:56 Сейчас в теме
(11) не смог понять о чем речь)
13. Hans 3 31.01.20 12:59 Сейчас в теме
(10) Так это надо снимать с поддержки.
14. mr.ado 20.05.20 02:46 Сейчас в теме
Такая ошибка может возникать, если не вызвать
Объект.Движения.Записать();
17. SLukin 43 22.02.24 09:09 Сейчас в теме
У меня данная проблема возникла при смене статуса и повторном проведении документа во внешней обработке. Обработка формирует цепочку документов по складу...
Решил проблему методом ПолучитьОбъект() из ссылки документа.
Тем самым очистив структуру ДополнительныеСвойства

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

ДокОтбор.Статус = Перечисления.СтатусыОтборовРазмещенийТоваров.ВыполненоБезОшибок;
					
Если ДокОтбор.ТоварыОтбор[0].Серия = Справочники.СерииНоменклатуры.ПустаяСсылка() Тогда
	ДокОтбор.ТоварыОтбор[0].Серия = СтрОтгр.Серия;
	ПараметрыУС_ОТ = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(ДокОтбор, Документы.ОтборРазмещениеТоваров));
        НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(ДокОтбор,ПараметрыУС_ОТ.Отбор);
КонецЕсли;
					
ДокОтбор.Записать(РежимЗаписиДокумента.Проведение);
Показать
pieceofmind; +1 Ответить
18. pieceofmind 29.02.24 18:06 Сейчас в теме
(17) Спасибо, есть аналогичный код, где объект записывается несколько раз, была та же проблема, Вы сэкономили мне кучу времени.
19. Teut_Vlad 187 20.05.24 15:18 Сейчас в теме
		Движения.РасчетыСКлиентами.ДополнительныеСвойства.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот