Объект расчетов не встал после переноса из УТ10 в УТ11

После переноса данных с УТ 10 на УТ11.5 не проводится документ заказа покупателю, ошибка:

Ошибка при вызове метода контекста (Записать)
{ОбщийМодуль.ОбъектыРасчетовСервер.Модуль(1445)}:ВызватьИсключение (СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
{ОбщийМодуль.ОбъектыРасчетовСервер.Модуль(231)}:ЗаполнитьОбъектРасчетов(Объект, МассивСтруктур, РежимЗаписи);
{ОбщийМодуль.ВзаиморасчетыСервер.Модуль(8587)}:ОбъектыРасчетовСервер.ПроверитьОбъектыРасчетовПередЗаписью(Объект, ДополненныеПараметрыМеханизма.МассивПараметров, РежимЗаписи, Отказ);
{Документ.ЗаказКлиента.МодульОбъекта(466)}:ВзаиморасчетыСервер.ПередЗаписью(ЭтотОбъект, Отказ, РежимЗаписи);
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(2019)}:Результат = Форма.Записать(ПараметрыЗаписи);
{Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(8002)}:ОбщегоНазначенияУТКлиент.ОбработатьЗаписьОбъектаВФорме(ЭтотОбъект, ПараметрыДляЗаписи);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Ошибка при выполнении обработчика - 'ПередЗаписью'
по причине:
Не удалось найти объект расчетов для договора Основной договор.
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]

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

Программная перезапись договора не помогает. Ошибка возникает у тех договоров, где не заполнен объект расчетов.

Трассировка записи договора из формы показывает такой стек:

Поэтому можно выполнить в групповой обработке такой код:

Сообщить(ОбрабатываемыйОбъект);
ВзаиморасчетыСервер.ПередЗаписью(ОбрабатываемыйОбъект, ложь);
ОбрабатываемыйОбъект.Записать();

Среда: УТ 11.5.20.68. Объем 1 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *