Попытка использования закрытого менеджера временных таблиц
привет!
конфа УТ 11. написал код движения по регистру.
при проведении ошибка: "Попытка использования закрытого менеджера временных таблиц"
ошибка указывает на строку в Модуле набора записей регистра:
"Запрос.МенеджерВременныхТаблиц = ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;"
расшифруйте, пожалуйста, что оно от меня хочет)
конфа УТ 11. написал код движения по регистру.
Движения.РасчетыСПоставщиками.Записывать = Истина;
Движение = Движения.РасчетыСПоставщиками.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.АналитикаУчетаПоПартнерам = текспр.Ссылка;
Движение.Сумма = стр.СуммаФакт;
при проведении ошибка: "Попытка использования закрытого менеджера временных таблиц"
ошибка указывает на строку в Модуле набора записей регистра:
"Запрос.МенеджерВременныхТаблиц = ДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц;"
расшифруйте, пожалуйста, что оно от меня хочет)
По теме из базы знаний
Найденные решения
Итак, Правильное решение!
Код движений по регистру я размещал в самом конце процедуры ОбработкаПроведения. Это и вызывало ошибку.
Необходимо код разместить ДО строк процедуры:
Код движений по регистру я размещал в самом конце процедуры ОбработкаПроведения. Это и вызывало ошибку.
Необходимо код разместить ДО строк процедуры:
СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ЗаписатьПодчиненныеНаборамЗаписейДанные(ЭтотОбъект, Отказ);
ДоставкаТоваров.ОтразитьСостояниеДоставки(Ссылка, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)
дело в том, что в момент проведения документа в процедуре ОбработкаПроведения
ДополнительныеСвойства.ДляПроведения.Ссылка = текущий документ,
а в Процедура ПередЗаписью() в Модуле набора записей регистра поле Ссылка уже отсутствует.
Не могу понять в какой момент изменяется структура ДополнительныеСвойства
дело в том, что в момент проведения документа в процедуре ОбработкаПроведения
ДополнительныеСвойства.ДляПроведения.Ссылка = текущий документ,
а в Процедура ПередЗаписью() в Модуле набора записей регистра поле Ссылка уже отсутствует.
Не могу понять в какой момент изменяется структура ДополнительныеСвойства
Сообщение, возникающее при попытке создания временной таблицы в запросе в том случае, если установленный менеджер временных таблиц уже закрыт к моменту выполнения запроса, вводило в заблуждение. Текст ошибки был следующим Не установлен менеджер временных таблиц/
Не оно?
Не оно?
Итак, Правильное решение!
Код движений по регистру я размещал в самом конце процедуры ОбработкаПроведения. Это и вызывало ошибку.
Необходимо код разместить ДО строк процедуры:
Код движений по регистру я размещал в самом конце процедуры ОбработкаПроведения. Это и вызывало ошибку.
Необходимо код разместить ДО строк процедуры:
СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ЗаписатьПодчиненныеНаборамЗаписейДанные(ЭтотОбъект, Отказ);
ДоставкаТоваров.ОтразитьСостояниеДоставки(Ссылка, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
У меня данная проблема возникла при смене статуса и повторном проведении документа во внешней обработке. Обработка формирует цепочку документов по складу...
Решил проблему методом ПолучитьОбъект() из ссылки документа.
Тем самым очистив структуру ДополнительныеСвойства
Решил проблему методом ПолучитьОбъект() из ссылки документа.
Тем самым очистив структуру ДополнительныеСвойства
ДокОНПТ.Записать(РежимЗаписиДокумента.Проведение);
ДокОтбор.Записать(РежимЗаписиДокумента.Проведение);
//Повторно инициализируем объект для очистки ДокОтбор.ДополнительныеСвойства
ДокОтбор = ДокОтбор.Ссылка.ПолучитьОбъект();
ДокОтбор.Статус = Перечисления.СтатусыОтборовРазмещенийТоваров.ВыполненоБезОшибок;
Если ДокОтбор.ТоварыОтбор[0].Серия = Справочники.СерииНоменклатуры.ПустаяСсылка() Тогда
ДокОтбор.ТоварыОтбор[0].Серия = СтрОтгр.Серия;
ПараметрыУС_ОТ = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(ДокОтбор, Документы.ОтборРазмещениеТоваров));
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(ДокОтбор,ПараметрыУС_ОТ.Отбор);
КонецЕсли;
ДокОтбор.Записать(РежимЗаписиДокумента.Проведение);
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот