@immelnikoff
Изучаю БД

В чём причина ошибки «Значение не является значением объектного типа (Продукция)»?

1С:Предприятие 8.3 (8.3.11.2867), УПП 1.3 (1.3.116.2), обычное приложение, клиент-сервер.
Перенесли базу на другую платформу 1С той же версии и в момент проведения документа Требование-накладная начала вываливаться ошибка:
5cda784d137af451994383.png
Как я понимаю, ошибка вываливается в момент обращения к первой строке табличной части Продукция:
Если Источник.ДокументОснование.Продукция[0].Номенклатура.Печать = 1 Тогда

Данный код находится в общем модуле, который назначен обработчиком события Обработка проведения для документа Требование-накладная.
Как это можно исправить?
  • Вопрос задан
  • 16499 просмотров
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Варианты ошибки в данной точке:
1) Поле ДокументОснование не заполнено - исправить проверкой значения.
2) Поле ДокументОснование заполнено, но таким типом документа, у которого нет табличной части Продукция - исправить проверкой типа основания
3) У основания есть табличная часть Продукция, но там нет значений - прежде чем обращаться к строкам нужно поставить проверку их наличия.

У вас похоже на вторую ошибку, но может и первая. Третья ошибка сгенерирует сообщение про обращение за пределы индекса.

Кстати, тут может еще быть проблема при обращении к свойству Печать, если Номенклатура - это сложный тип, а не просто ссылка на справочник.

В общем нужно проверку сделать. Что-то типа такого:
Если ТипЗнч(Источник.ДокументОснования) <> Тип("ДокументСсылка.ЗаказНаРазработку") Тогда
	Возврат;
ИначеЕсли Источник.ДокументОснования.Продукция.Количество() = 0 Тогда
	Возврат;
КонецЕсли;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы