Значение не является значением объектного типа (ЭтоГруппа) #778523


#0 by pnamik
Добрый вечер. 1С8.2, самописная отчет по остаткам при формировании дает ошибку {Форма.Форма.Форма}: Значение не является значением объектного типа (ЭтоГруппа)         Если Стр.Наименование.ЭтоГруппа = Истина Тогда Отладчик показывает, что {(1,1)}: Переменная не определена (Наименование). Как устранить ошибку не знаю. Дайте, пожалуйста, подсказку или решение Спасибо заранее
#1 by pnamik
Вычисление выражения: Наименование.ЭтоГруппа = {(1,1)}: Переменная не определена (Наименование)
#2 by hhhh
запрос давай. Похоже наименование путаешь со ссылкой.
#3 by pnamik
вот функция "сформировать отчет"     Иначе
#4 by pnamik
еще одна функция
#5 by pnamik
а эта часть кода процедуры Процедура ПоказатьПодчиненные(СтрокаДерева,Уровень=0) Для Каждого Стр Из СтрокаДерева.Строки Цикл
#6 by pnamik
часть процедуры, где появляется ошибка
#7 by Fram
а почему в отладчике смотришь Наименование, а не Стр.Наименование ?
#8 by Fram
И называть ссылочную переменную в 1С Наименованием это, мягко выражаясь, совсем не бест практис.
#9 by pnamik
вычисление выражения Стр.Наименование = {}: Значение не является значением объектного типа (Наименование)
#10 by Fram
ну, Стр смотри значит
#11 by pnamik
помню, как-то была такая ошибка в базе из-за "объект не найден", знакомый спец зафиксировал ее с помощью пока .... цикл (?), чтобы временно отчет формировался.
#12 by pnamik
стр = Неопределено
#13 by Zamestas
Результирующий запрос в студию не?
#14 by ВРедная
Ты там кем вообще? выполни запрос в консоли, или в отладчике выгрузи результат в таблицу и смотри, почему у тебя номенклатура = неопределено
#15 by hhhh
откуда вызыается эта функцтя ПоказатьПодчиненные?? Нигде ведь нет ее.
#16 by pnamik
вот эта процедура
#17 by pnamik
для формирования макета есть в Процедуре КнопкаСформироватьНажатие(Кнопка) в виде
#18 by Fram
ну, теперь отлаживай заполнение СтрокаДерева.Строки
#19 by pnamik
СтрокаДерева.Строки = КоллекцияСтрокДереваЗначений Родитель = Неопределено могу дать доступ по тиму
#20 by hhhh
ДеревоЗн что такое? ты как партизан, вообще нужно целый арсенал пыток к тебе применить, чтобы хоть что-то понять.
#21 by pnamik
#22 by pnamik
#23 by zladenuw
ужас :) тут у тебя null, выводиться группировка. где нет наименования. по этому и ошибка. Что это за чудо отчет такой
#24 by pnamik
наименование null наверно из-за битых ссылок.. после исправления сформируется отчет.
#25 by pnamik
был случай, когда спец с помощью пока .... цикл  "игнорировал" присутствие таких битых ссылок...
#26 by zladenuw
ну напиши условие если СТр.Наименование = Null тогда продолжить; Конецесли;
#27 by zladenuw
а вообще. у тебя итоги. и по этому по итогам. в верхней группировки может быть Null. ты в отладчике посмотри что у тебя выводить отчет в таблицу значений. и будешь значить. что именно нужно сделать
#28 by pnamik
с отладчиком только на "ВЫ' я пока. потому предложил доступ по тиму..
#29 by zladenuw
у тебя есть в коде пишешь  Результат = Запрос.Выполнить.Выгрузить; ставишь точку остановки и смотришь что там вывелось. вроде shift+f9. А не сударь. Могу только подсказать. Все остальное сам. Иначе это оплачиваем.
#30 by pnamik
ничего не получилось. попробовал еще в цикле пропускать ошибку типа
#31 by hhhh
проверяй стр и стр.наименование
#32 by pnamik
ошибка Значение не является значением объектного типа (Следующий) 2) Пока Стр.Следующий Цикл ошибка Метод объекта не обнаружен (Следующий)
#33 by pnamik
решение 1. Попытка-Исключение-КонецПопытки (при этом не выводятся "битые ссылки" 2. исправление всех битых ссылок, и в этом случае без "попытки" (без изменения кода) отчет формируется нормально (показывает все восстановленные ссылки) 3. исправить код таким образом, чтобы независимо от битых ссылок, отчет сформировался правильно с учетом битых (тут уже я слаб пока.) Спасибо всем за помощь
#34 by vicof
Пятнично
#35 by aleks_default
+1
#36 by Ёпрст
ты не поверишь, у тебя нет "битых" ссылок. У тебя просто обе руки левые.
#37 by vicof
И растут из ЖПО)
#38 by Fram
а че классное решение - каждый раз когда нарываешься на свою же ошибку просто оборачиваешь ее в попытку и вопрос закрыт ))
#39 by vicof
это называется безопасное программирование))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С