Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 02:30

Ошибка. Значение не является значением объектного типа (Родитель)

Автор Kostik2013, 21 мая 2013, 14:18

0 Пользователей и 1 гость просматривают эту тему.

Kostik2013

При печати выскакивает такая ошибка :

{Обработка.ПечатьЦенников.Форма.Форма.Форма(86)}: Значение не является значением объектного типа (Родитель)
      Родитель = Стр.Номенклатура.Родитель;

Подскажите пожалуйста,то не так?

&НаКлиенте
Процедура Печать(Команда)
   
   ТабличныйДок = ПечатьСервер();
   ТабличныйДок.Показать();
   
КонецПроцедуры

&НаСервере
Функция ПечатьСервер()
   
   Таблица1 = Объект.Отобранные.Выгрузить();
   Таблица1.Очистить();
   
   Для Каждого Стр ИЗ Объект.Отобранные Цикл
      
      ФорматЦенника = 0;
   Родитель = Стр.Номенклатура.Родитель;
      
      Пока Родитель <> Справочники.Номенклатура.ПустаяСсылка() Цикл
         Если ЗначениеЗаполнено(Родитель.ФорматЦенника) Тогда
            ФорматЦенника = Родитель.ФорматЦенника;
            Прервать;
         Иначе
            Родитель = Родитель.Родитель;
         КонецЕсли;
      КонецЦикла;
      
      
      Если ФорматЦенника = 1 Тогда
         ЗаполнитьЗначенияСвойств(Таблица1.Добавить(), Стр);
      КонецЕсли;   
      
   КонецЦикла;
   
   Макет = Обработки.ПечатьЦенников.ПолучитьМакет("Макет");
   ТабличныйДок = Новый ТабличныйДокумент;
   
   Если Таблица1.Количество() > 0 Тогда
      Обработать(Макет, ТабличныйДок, Таблица1, 1);
   КонецЕсли;
   
      
   Возврат ТабличныйДок;
   
КонецФункции



&НаСервере
Процедура Обработать(Макет, ТабличныйДок, ТаблицаДанных, Индекс)
   
   МаксимумКолонок = Индекс;
   ТекущаяКолонка = 0;
   Область = Макет.ПолучитьОбласть("Товар_"+Индекс+"|Ценник_"+Индекс);
   ВремТабДок = Новый ТабличныйДокумент;
   
   Для Каждого Стр ИЗ ТаблицаДанных Цикл
      
      Если Стр.Номенклатура.ИспользоватьХарактеристики Тогда
         Область.Параметры.Наименование = Строка(Стр.Номенклатура) + "("+Стр.Характеристика+")";
      Иначе
         Область.Параметры.Наименование = Строка(Стр.Номенклатура);
      КонецЕсли;   
      Область.Параметры.ЦенаПродажи  = Стр.Цена;
      Область.Параметры.ТекущаяДата  = ТекущаяДата();
      Область.Параметры.Код          = Стр.Номенклатура.Код;
      
      ВремТабДок.Присоединить(Область);
      
      ТекущаяКолонка = ТекущаяКолонка + 1;
      Если ТекущаяКолонка = МаксимумКолонок Тогда
         ТабличныйДок.Вывести(ВремТабДок);
         ВремТабДок = Новый ТабличныйДокумент;
         ТекущаяКолонка = 0;
      КонецЕсли;
      
   КонецЦикла;
   
   Если ТекущаяКолонка > 0 Тогда
      ТабличныйДок.Вывести(ВремТабДок);
   КонецЕсли;   
   
КонецПроцедуры

Dethmontt

На клиенте не доступно обращение к полям ссылки через ТОЧКУ
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Kostik2013

Цитата: Dethmontt от 21 мая 2013, 14:57
На клиенте не доступно обращение к полям ссылки через ТОЧКУ

а как же без точки?

Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Kostik2013

Цитата: Dethmontt от 21 мая 2013, 15:06
НА КЛИЕНТЕ НЕДОСТУПНО!!!

так что ли?   

&НаСервере
Процедура Печать(Команда)
   
   ТабличныйДок = ПечатьСервер();
   ТабличныйДок.Показать();
   
КонецПроцедуры

Dethmontt

 Для Каждого Стр ИЗ Объект.Отобранные Цикл
     
      ФорматЦенника = 0;
   Если Стр.Номенклатура.Пустая() Тогда
      Продолжить;
   КонецЕсли;
   Родитель = Стр.Номенклатура.Родитель;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Kostik2013

Цитата: Dethmontt от 21 мая 2013, 17:20
Для Каждого Стр ИЗ Объект.Отобранные Цикл
     
      ФорматЦенника = 0;
   Если Стр.Номенклатура.Пустая() Тогда
      Продолжить;
   КонецЕсли;
   Родитель = Стр.Номенклатура.Родитель;
:dfbsdfbsdf:

{Обработка.ПечатьЦенников.Форма.Форма.Форма(91)}: Значение не является значением объектного типа (Пустая)
      Если Стр.Номенклатура.Пустая() Тогда

Dethmontt

Какой тип у Стр.Номенклатура?

Проверить так:
Для Каждого Стр ИЗ Объект.Отобранные Цикл
   Сообщить(ТипЗнч(Стр.Номенклатура));
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Kostik2013

Цитата: Dethmontt от 21 мая 2013, 21:30
Какой тип у Стр.Номенклатура?  СправочникСсылка.Номенклатура

Проверить так:
Для Каждого Стр ИЗ Объект.Отобранные Цикл
   Сообщить(ТипЗнч(Стр.Номенклатура));


Так ошибка не выскакивает.Спасибо большое )):)  Но в Макет ничего не передает,просто пустой бланк и все.



Dethmontt

Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск