Имя: Пароль:
1C
1С v8
Значение свойств номенклатуры
0 abai1985
 
05.07.13
15:38
Не могу понять чего не хватает! Подскажите Гуру 1с )  

   Запрос = Новый Запрос;
   
       Запрос.Текст =
       "ВЫБРАТЬ
       |    ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение) КАК ЗначениеСвойства
       |ИЗ
       |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
       |ГДЕ
       |    ЗначенияСвойствОбъектов.Объект = &Объект
       |    И ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Свойство.Наименование КАК СТРОКА) ПОДОБНО &НаимСвойства"
       ;
       Запрос.УстановитьПараметр("Объект", СсылкаНаОбъект.Товары);
       Запрос.УстановитьПараметр("НаимСвойства", "Код Бизнес Про");
       Выборка = Запрос.Выполнить().Выбрать();    
       
       
       Если Выборка.Следующий() Тогда
           
           КодБизнесПро = Выборка.ЗначениеСвойства;
            КодБизнесПро = "Код Бизнес Про"  ;
           ОбластьДанных.Параметры.КодБиз = КодБизнесПро;
           
       Иначе КодБизнесПро = "влоа";
       КонецЕсли;
1 Mitriy
 
05.07.13
15:38
вопроса?
2 abai1985
 
05.07.13
15:40
Вопроса ) - Мне нужно выгрузить в Макет свойства номенклатуры!
3 Mitriy
 
05.07.13
15:40
тогда табдока и макета...
4 abai1985
 
05.07.13
15:41
Как я понял, что
Запрос.УстановитьПараметр("Объект", СсылкаНаОбъект.Товары); Тут Объект = ТЧ, т.е. нужно как то выгрузить номенклатуры и сделать фильтр!
5 shuhard
 
05.07.13
15:41
(2) [выгрузить в Макет свойства номенклатуры]
форум окуел
6 abai1985
 
05.07.13
15:42
(5) Вывести в параметры данные номенклатуры - свойство
7 abai1985
 
05.07.13
15:42
Или как бы правильно тут написать чтоб он не окуевал? )
8 Mitriy
 
05.07.13
15:42
млин... пойду я за пивом...
9 abai1985
 
05.07.13
15:45
уже пятница что ли? )))) (8)
10 abai1985
 
05.07.13
15:46
таб дока большая да и макет тут зачем же ) тут бы сначала с запросом разобраться ) или как ? (3)
11 abai1985
 
05.07.13
15:58
Еще как вариант написал )

КодБП="Код Бизнес Про";
       
       Если ЗначениеЗаполнено("Код Бизнес Про") Тогда
           
           Запрос.Текст = СтрЗаменить(Запрос.Текст,"ВложенныйЗапрос.Номенклатура." + КодБП + "                 КАК КодБП,","ВложенныйЗапрос.ЗначениеСвойства КАК КодБП,");
       Запрос.Текст = СтрЗаменить(Запрос.Текст,"0                                                           КАК Метка","0 КАК Метка,
       |ЗначенияСвойствОбъектов.ЗначениеСвойства КАК ЗначениеСвойства");
       
       Запрос.Текст = СтрЗаменить(Запрос.Текст,"Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя","Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя
       |            ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
       |                ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение) КАК ЗначениеСвойства,
       |                ЗначенияСвойствОбъектов.Объект.Ссылка КАК ОбъектСвойства
       |            ИЗ
       |                РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
       |            ГДЕ
       |                ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Свойство.Наименование КАК СТРОКА) ПОДОБНО ) КАК ЗначенияСвойствОбъектов
       |            ПО ЗаказПокупателя.Номенклатура = ЗначенияСвойствОбъектов.ОбъектСвойства");
       
       Запрос.Текст = СтрЗаменить(Запрос.Текст,"ЗаказПокупателя.ПроцентАвтоматическихСкидок","ЗаказПокупателя.ПроцентАвтоматическихСкидок,
       |        ЗаказПокупателя.ЕдиницаИзмеренияМест.Коэффициент,
       |        ЗначенияСвойствОбъектов.ЗначениеСвойства");
       Выборка = Запрос.Выполнить().Выбрать()
12 ZZBase
 
05.07.13
16:06
Попробуй так:

Процедура СообщитьСвойстваТЧНоменклатуры(СсылкаНаОбъект)
   СписокНоменклатуры = СсылкаНаОбъект.Товары.ВыгрузитьКолонку("Номенклатура");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ЗначенияСвойствОбъектов.Объект,
   |    ЗначенияСвойствОбъектов.Свойство,
   |    ЗначенияСвойствОбъектов.Значение
   |ИЗ
   |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
   |ГДЕ
   |    ЗначенияСвойствОбъектов.Объект В (&СписокОбъектов)";
   Запрос.УстановитьПараметр("СписокОбъектов", СписокНоменклатуры);
   Результат = Запрос.Выполнить().Выгрузить();
   Для Каждого СтрокаРезультата Из Результат Цикл
       Сообщить("Свойство: " + СтрокаРезультата.Свойство);
       Сообщить("Значение: " + СтрокаРезультата.Значение);
   КонецЦикла;
КонецПроцедуры