|   |   | 
| 
 | Программная запись в значение свойства Номенклатуры | ☑ | ||
|---|---|---|---|---|
| 0
    
        Евгений90 19.10.12✎ 09:55 | 
        Пытаюсь программно записать определенное значение в свойство Номенклатуры
  "Импортер" - свойство планов видов характеристик | |||
| 1
    
        butterbean 19.10.12✎ 09:56 | 
        похвально     | |||
| 2
    
        Godofsin 19.10.12✎ 09:56 | 
        молодец! Продолжай     | |||
| 3
    
        Евгений90 19.10.12✎ 10:02 | 
        Код не вставил  )) Делаю во внешней обработке. Для одной записи вроде разобрался, а вот чтобы для всех элементов группы в номенклатуре не выходит 
  Процедура КнопкаВыполнитьНажатие(Кнопка) СпрЗначСвОб = Справочники.ЗначенияСвойствОбъектов; свИмпортер = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Импортер"); сСпрЗначСвОб = СпрЗначСвОб.НайтиПоНаименованию("МоеЗначение"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура |ГДЕ | СправочникНоменклатура.Родитель = &Товары И СправочникНоменклатура.ЭтоГруппа"; Запрос.УстановитьПараметр("Товары", Товары); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НовЗапись = НаборЗаписейЗначенияСвойств.Добавить(); НовЗапись.Объект = Выборка.Номенклатура; НовЗапись.Свойство = свИмпортер.Ссылка; НовЗапись.Значение = сСпрЗначСвОб; НаборЗаписейЗначенияСвойств.Записать(); КонецЦикла; КонецПроцедуры | |||
| 4
    
        Евгений90 19.10.12✎ 10:03 | 
        На форме внешней обработке установил поле ввода "Товары", тип СправочникСсылка.Номенклатура,  настройку "Выбор групп и элементов" только группы     | |||
| 5
    
        LAAry 19.10.12✎ 10:05 | 
        СправочникНоменклатура.Родитель = &Товары И СправочникНоменклатура.ЭтоГруппа
  Так ты устанавливаешь свойство только для групп? | |||
| 6
    
        Евгений90 19.10.12✎ 10:07 | 
        Да, в справочнике Номенклатура есть группа "Товары". Я хочу чтобы для всех элементов этой группы для свойства "Импортер" установилось значение "МоеЗначение"     | |||
| 7
    
        LAAry 19.10.12✎ 10:07 | 
        СправочникНоменклатура.Ссылка В Иерархии(&Товары)     | |||
| 8
    
        Infsams654 19.10.12✎ 10:09 | 
        (3) все неправильно (см. в типовых как сделано). Набору записей установи отбор ...     | |||
| 9
    
        Reset 19.10.12✎ 10:13 | 
        Выборка = Запрос.Выполнить().Выбрать();
  Пока Выборка.Следующий() Цикл Запись=РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи(); Запись.Объект = Выборка.Номенклатура; Запись.Свойство = свИмпортер.Ссылка; Запись.Значение = сСпрЗначСвОб; Запись.Записать(); КонецЦикла; | |||
| 10
    
        Евгений90 19.10.12✎ 10:13 | 
        СправочникНоменклатура.Ссылка В Иерархии(&Товары) Так пробовал никакой реакции
  НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(Выборка); Правильно? В скобках что писать? Как вставлять ссылку на чужой комментарий? | |||
| 11
    
        Reset 19.10.12✎ 10:13 | 
        Можно создание записи вынести наружу цикла, можно все сделать в тарнзакции     | |||
| 12
    
        Reset 19.10.12✎ 10:14 | 
        Запрос = Новый Запрос;
  Запрос.Текст = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура |ГДЕ | СправочникНоменклатура.Ссылка в иерархии (&Товары) и не СправочникНоменклатура.ЭтоГруппа"; | |||
| 13
    
        Reset 19.10.12✎ 10:15 | 
        Запись.Свойство = свИмпортер.Ссылка;
  ==> Запись.Свойство = свИмпортер; скрпипастил криво | |||
| 14
    
        Reset 19.10.12✎ 10:16 | 
        Осталось выяснить, что это "Товары"
  Запрос.УстановитьПараметр("Товары", Товары); | |||
| 15
    
        Reset 19.10.12✎ 10:16 | 
        должна быть ссылка на группу     | |||
| 16
    
        Reset 19.10.12✎ 10:18 | 
        Хотя бы 
  Справочники.Номенклатура.НайтиПоНаименованию("Товары") или лучше по коду, т.к. кто-то стопудов гденибудь еще созадть с таки именем | |||
| 17
    
        Reset 19.10.12✎ 10:18 | 
        создал с таким*     | |||
| 18
    
        Reset 19.10.12✎ 10:18 | 
        Шеф, вы на связи? Все понятно?     | |||
| 19
    
        Reset 19.10.12✎ 10:20 | 
        Ссылку на комментарий вставлять вот так: (номер)     | |||
| 20
    
        Евгений90 19.10.12✎ 10:26 | 
        Спасибо, все получилось )
  Вот код Процедура КнопкаВыполнитьНажатие(Кнопка) СпрЗначСвОб = Справочники.ЗначенияСвойствОбъектов; свИмпортер = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Импортер"); сСпрЗначСвОб = СпрЗначСвОб.НайтиПоНаименованию("МоеЗначение"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура |ГДЕ | СправочникНоменклатура.Ссылка В Иерархии(&Товары) И НЕ СправочникНоменклатура.ЭтоГруппа"; Запрос.УстановитьПараметр("Товары", Товары); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл НовЗапись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи(); НовЗапись.Объект = Выборка.Номенклатура; НовЗапись.Свойство = свИмпортер.Ссылка; НовЗапись.Значение = сСпрЗначСвОб; НовЗапись.Записать(); КонецЦикла; КонецПроцедуры | |||
| 21
    
        Reset 19.10.12✎ 10:28 | 
        Молодец, только (13) учти     | |||
| 22
    
        Reset 19.10.12✎ 10:29 | 
        хотя для одноразового запуска пофиг     | |||
| 23
    
        Евгений90 19.10.12✎ 10:31 | 
        Только не совсем понимаю, почему в тексте запроса мы указали
  |ГДЕ | СправочникНоменклатура.Ссылка В Иерархии(&Товары) И (почему здесь нужно НЕ??? Здесь "НЕ" означает что это наоборот не группа?) НЕ СправочникНоменклатура.ЭтоГруппа" | |||
| 24
    
        Reset 19.10.12✎ 10:31 | 
        что бы в выборку НЕ попали группы.
  У групп свойств нет, как правило | |||
| 25
    
        Евгений90 19.10.12✎ 10:32 | 
        Ок, понял спасибо, а как ссылку на чужой комментарий вставить?     | |||
| 26
    
        Reset 19.10.12✎ 10:33 | 
        (25) см (19)     | |||
| 27
    
        Евгений90 19.10.12✎ 10:34 | 
        (26) Спасибо )     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |