Имя: Пароль:
1C
1С v8
Как проверить наличие реквизита ? (+)
0 BigShmax
 
28.07.11
15:12
в печатной форме  

выдается ошибка
"Значение не является значением объектного типа (НомерКонструкции)"

это в

ВыборкаСтрокТовары.Характеристика, "ХарактеристикаНоменклатуры"

иногда этот конструкция есть иногда нет.  как при выводе  определить что она есть или ее нет?
1 zbv
 
28.07.11
15:12
а ВыборкаСтрокТовары - это что ?
2 aka AMIGO
 
28.07.11
15:14
попытка
3 Amra
 
28.07.11
15:15
(2) Руки обрубать за такое.
(0) Через метаданные. То, имхо, автору не это надо, у него похоже пустое значение в ВыборкаСтрокТовары.Характеристика
4 dimoff
 
28.07.11
15:17
(0) Код покажи, непонятно что за выборка откуда получается
5 aka AMIGO
 
28.07.11
15:22
(3) пользователю всё равно, как написан код
если полностью по канунам, но не работает - докажи, попробуй, что ты крутой спец. Ссылки не недостаточность разработки языка не разжалобят.
а что через метаданные - так это решение лежит на поверхности.. еще аж с версии 7.0
ТС надо почаще пользоваться отладчиком, 80% вопросов отпадают после его применения.
6 aka AMIGO
 
28.07.11
15:23
+5 и вижу, что у автора 8-ка.. был-бы ключ у меня от упп, я-бы подсказал с точностью до г-кода
7 BigShmax
 
28.07.11
15:23
отладчиком не получается  это внешняя печ форма.  ща пять сек гляну  возможно это проблема конкретного заказа
8 BigShmax
 
28.07.11
15:27
Если ЗначениеЗаполнено(ВыборкаСтрокТовары.Характеристика) Тогда
           СтрокаСтеклопакета = ВыборкаСтрокТовары.Характеристика.ЗаказПокупателя.ГотоваяПродукция.Найти(ВыборкаСтрокТовары.Характеристика, "ХарактеристикаНоменклатуры");
           НомерЗаказа        = СокрЛП(ВыборкаСтрокТовары.Характеристика.ЗаказПокупателя.Номер);
           НомерПозиции      = СтрокаСтеклопакета.НомерКонструкции;
           НомерСтеклопакета = СтрокаСтеклопакета.НомерСтеклопакета;
           ОбластьСтроки.Параметры.КодАртикул = ""+НомерЗаказа+"/"+НомерПозиции+"/"+НомерСтеклопакета;
       КонецЕсли;
9 BigShmax
 
28.07.11
15:28
а там сейчас не стеклопакет   и нет у него  позиции

Значение не является значением объектного типа (НомерКонструкции)
10 aka AMIGO
 
28.07.11
15:29
(7) была где-то в инете приблуда для отладки внешпечформ.. для 8.0 и 8.1 точно были, 8.2 - не знаю, то не по мне..
мож кто и помнит, как скачать их с сайта вражеского :)
11 Megas
 
28.07.11
15:30
(5) "Пользователю всё равно, как написан код" - обычно слышал такое при написании у такого г*вн*кода с запросам в циклах, и полном ужасе, так в итоге через год этот код падал по времени.
12 aka AMIGO
 
28.07.11
15:31
(8) у тебя там "Найти", уж она должна возвращать чтото больше 0 и не НУЛЛь.. поставь, хотя-бы "Сообщить(...)"
13 ice777
 
28.07.11
15:31
(3) ага, через метаданные.) Только соглашусь, - рубить ТС руки. И через задницу )
14 zbv
 
28.07.11
15:32
...
Если СтрокаСтеклопакета <> Неопределено Тогда

           НомерЗаказа        = СокрЛП(ВыборкаСтрокТовары.Характеристика.ЗаказПокупателя.Номер);
           НомерПозиции       = СтрокаСтеклопакета.НомерКонструкции;
           НомерСтеклопакета = СтрокаСтеклопакета.НомерСтеклопакета;
           ОбластьСтроки.Параметры.КодАртикул = ""+НомерЗаказа+"/"+НомерПозиции+"/"+НомерСтеклопакета;

КонецЕсли;
...

вот за это

СтрокаСтеклопакета = ВыборкаСтрокТовары.Характеристика.ЗаказПокупателя.ГотоваяПродукция

тебя сейчас по голове не погладят... :)
15 BigShmax
 
28.07.11
15:34
(14)  спасиб   попробую  но я  через сообщить выяснил  что это тока в одной строке табл части  .  т.е. какая то проблема была при создании характеристики и проблема не тока в коде.  по идее   все должно быть.

всем спасибо.
16 BigShmax
 
28.07.11
15:36
(14)  ошибка не вылазит просто выходит строка без данных.  буду искать первоначальную проблему  где данные


спасиб
17 pessok
 
28.07.11
15:39
+(14)
(16) дык если там пустая ссылка, то и будет выходить пустая строка
18 Fragster
 
гуру
28.07.11
15:40
За такое убивать надо

СтрокаСтеклопакета = ВыборкаСтрокТовары.Характеристика.ЗаказПокупателя.ГотоваяПродукция.Найти(ВыборкаСтрокТовары.Характеристика, "ХарактеристикаНоменклатуры");
19 pessok
 
28.07.11
15:41
(16) т.е. в ТЧ ГотоваяПродукция нету такой характеристики, которую ты в печтаную форму выводишь
20 BigShmax
 
28.07.11
15:44
(19)  понимаю  но блин я ее вижу глазами  там :-)

(18)  проработало более полугода :-)
21 Fragster
 
гуру
28.07.11
15:46
(20).2 дело не в "проработало"
22 BigShmax
 
28.07.11
15:47
(21) а за что убивать?
23 BigShmax
 
28.07.11
15:47
писал не я  но интересно ж  - мож убью при случае :-)
24 Fragster
 
гуру
28.07.11
15:48
(22) за то, что в строку не влазит. да и вообще - это запросом получать надо.
25 ottto
 
28.07.11
15:49
Я вот так проверяю

Функция Свойство(Объект, ИмяСвойства, Значение = Неопределено) Экспорт
   КлючПроверки = "53249572364957236945716394716293756329457653294576";
   СтруктураДляПроверки = Новый Структура(ИмяСвойства, КлючПроверки);
   ЗаполнитьЗначенияСвойств(СтруктураДляПроверки, Объект);
   ЗначениеСвойства = СтруктураДляПроверки[ИмяСвойства];
   Если ЗначениеСвойства = КлючПроверки Тогда
       Возврат Ложь
   Иначе
       Значение = ЗначениеСвойства;
       Возврат Истина;
   КонецЕсли;
   
КонецФункции

Пример.
Если Свойство(Выборка, "Характеристика") тогда
  ....
КонецЕсли;
26 Fragster
 
гуру
28.07.11
15:49
(24)+ тем же, которым и остальные данные
27 Amra
 
28.07.11
16:36
(5) Если на поверхности, то нафига "попытку" предлагаешь? А "какая разница" какой код - это вообще 5+ :))
28 aka AMIGO
 
28.07.11
16:52
(27) чтобы поднять ветку :)