Ошибка с регистром ЗаданияКОтражениюСостоянияЗаказов. УТ 11.5

При проведении перемещений у клиента непонятная ошибка:

Ошибка при вызове метода контекста (Записать)
{ОбщийМодуль.ОтложенныеЗадания.Модуль(232)}:ИсточникЗаданий.Записать(Ложь);
{РегистрСведений.ЗаданияКОтражениюСостоянияЗаказов.МодульМенеджера(32)}:ОтложенныеЗадания.ДобавитьЗаданияВОчередь("ЗаданияКОтражениюСостоянияЗаказов", Данные,, ТаблицаЗаданий);
{РегистрСведений.СостоянияВнутреннихЗаказов.МодульМенеджера(115)}:РегистрыСведений.ЗаданияКОтражениюСостоянияЗаказов.ДобавитьЗадания(Заказ, Действие, ТаблицаЗаданий);
{ОбщийМодуль.СостоянияДокументов.Модуль(103)}:РегистрыСведений[ИмяРегистра].ДобавитьЗаданияКОтражениюСостоянияЗаказов(
{ОбщийМодуль.СостоянияДокументов.Модуль(44)}:ДобавитьЗаданияКОтражениюСостоянияЗаказов(ДокументИсточник, МассивОтражаемыхДокументов,,, Запустить);
{ОбщийМодуль.ПроведениеДокументов.Модуль(1281)}:СостоянияДокументов.ОтразитьСостоянияДокументов(Документ, МенеджерВременныхТаблиц, Запустить);
{ОбщийМодуль.ПроведениеДокументов.Модуль(1823)}:СформироватьЗаданияНаОтложенныеДвижения(Документ, МенеджерВременныхТаблиц, Ложь);
{ОбщийМодуль.ПроведениеДокументов.Модуль(250)}:ПровестиДокумент(Документ, Отказ, ДопПараметры);
{Документ.ПеремещениеТоваров.МодульОбъекта(300)}:ПроведениеДокументов.ОбработкаПроведенияДокумента(ЭтотОбъект, Отказ);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Запись не верна! Значение поля "Документ" не может быть пустым!: ЗаданияКОтражениюСостоянияЗаказов: , 27e2878c-7694-4b4f-b34a-0629bae4c9ce (Регистр сведений: Задания к отражению состояния заказов; Номер строки: 1)
[ОшибкаХранимыхДанных]

Отладить не мог — отладка не работала, поэтому добавил заглушку на модуль записей регистра сведений ЗаданияКОтражениюСостоянияЗаказов:

&После("ПередЗаписью")
Процедура дор_ПередЗаписью(Отказ, Замещение)
	Всего = ЭтотОбъект.Количество();
	Для Инд = 1 По Всего Цикл
		МЗ = ЭтотОбъект[Всего-Инд];
		Если Не ЗначениеЗаполнено(МЗ.Документ) Тогда
			ЭтотОбъект.Удалить(МЗ);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

Заглушка работает отлично.

Среда: УТ 11.5.22.83

image_pdfimage_print

fixin

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

Вам может также понравиться...

комментария 2

  1. rzd:

    Здесь уже классика «как делать не надо»:
    1. Удаление объекта, после чего индексы последующих элементов уменьшаются на 1 — не проверяется запись, следующая за удаляемой
    2. И попадаем в ошибку «индекс вне диапазона» — количество уменьшилось, а граница цикла нет
    3. Тестировалось конечно только на коллекции из одного элемента, считай частный случай
    4. И ГЛАВНОЕ: не разобрался в ошибке, а сделал патч, который возможно меняет логику систему

    • да, с индексом надо поправить, глаз замылился. Бывает.
      В 1с столько ошибок, что разбираться с ними никаких бюджетов не хватит.
      Пусть на селезневской разбираются, клиенту главное чтобы работало.

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

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