Имя: Пароль:
 
1C
1С v8
обработка изменить значение свойства объекта
0 Razzle Kay
 
17.08.18
09:42
Привет
У номенклатуры есть свойство СВОЙСТВО
нужно сделать обработку, в которой бы выбрал например родителя РОДИТЕЛЬ и поменял у всей номенклатуры дочерней СВОЙСТВО

выбираю запросом объект, но там не даёт выбрать группу, только 1 элемент номенклатуры
как выбрать родителя ?
1 Deon
 
17.08.18
09:44
(0) Запрос-то покажи
2 Razzle Kay
 
17.08.18
09:45
ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Объект,
    ЗначенияСвойствОбъектов.Свойство.Ссылка
ИЗ
    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
    ЗначенияСвойствОбъектов.Свойство.Наименование = "'Норматив запасов, дн'"
    И ЗначенияСвойствОбъектов.Объект В ИЕРАРХИИ(&Объект)
3 Razzle Kay
 
17.08.18
09:45
набросок пока что
4 Razzle Kay
 
17.08.18
09:45
там есть только > < В В ИЕРАРХИИ, В группе из списка нет, хз как сделать
5 Cool_Profi
 
17.08.18
09:45
Поставь у элемента формы свойство "Выбор групп и элементов"
6 Razzle Kay
 
17.08.18
09:46
(5) элемента формы чего ?
7 Razzle Kay
 
17.08.18
09:57
как выбрать группу номенклатуры то ?)
8 catena
 
17.08.18
10:17
(4)"В иерархии" работает так же, как "в группе из списка", если в параметр передать массив. Что надо-то?
9 Razzle Kay
 
17.08.18
10:20
(8) уже разобрался, а какое соединение надо сделать Номенклатура - ЗначенияСвойстОбъектов ?
10 catena
 
17.08.18
10:22
(9)По объекту, видимо...
11 Razzle Kay
 
17.08.18
10:23
(10) Я имею ввиду не по чему, а какое
12 Razzle Kay
 
17.08.18
10:23
|ИЗ
                           |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                           |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
                           |        ПО (Номенклатура.Ссылка = ЗначенияСвойствОбъектов.Объект)


так?
13 НоваяВолна
 
17.08.18
10:27
(12) показал бы запрос целиком. Было бы лучше
14 Razzle Kay
 
17.08.18
10:28
"ВЫБРАТЬ
                           |    Номенклатура.Ссылка,
                           |    ЗначенияСвойствОбъектов.Свойство,
                           |    ЗначенияСвойствОбъектов.Значение
                           |ИЗ
                           |    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
                           |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
                           |        ПО (Номенклатура.Ссылка = ЗначенияСвойствОбъектов.Объект)
                           |ГДЕ
                           |    Номенклатура.Ссылка В ИЕРАРХИИ(&Ссылка)"
15 catena
 
17.08.18
10:29
(14)Ну, запрос рабочий. Что именно не получается, до сих пор не понятно.
16 НоваяВолна
 
17.08.18
10:30
(15) запрос рабочий не понятна цель ТС
17 Razzle Kay
 
17.08.18
10:31
Ну мне нужно выбрать номенклатуру и поменять у неё значениясвойстобъекта

допустим выбрал Готовая продукция
и у всей Готовая продукция нужно сделать Свойство = МоёСвойство
18 catena
 
17.08.18
10:32
(17)И ты вместо отладчика решил использовать мисту? КПД у нее в этом плане сомнительный.
19 Razzle Kay
 
17.08.18
10:36
(18) не совсем пойму как изменить свйоство, оно как бы Значение(Ресурс) у РегистраСведений
20 catena
 
17.08.18
10:47
(19)Оспади, так и надо было с этого начинать.

Процедура ЗаписатьЗначенияСвойствОбъектов(лОбъект,лСвойство,лЗначение) Экспорт
    
    ЗначенияСвойствОбъектов = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
    ЗначенияСвойствОбъектов.Отбор.Объект.Установить(лОбъект);
    ЗначенияСвойствОбъектов.Отбор.Свойство.Установить(лСвойство);
    ЗначенияСвойствОбъектов.Прочитать();
    Если ЗначенияСвойствОбъектов.Количество()<>0 тогда
        Запись = ЗначенияСвойствОбъектов[0];
    Иначе
        Запись = ЗначенияСвойствОбъектов.Добавить();
        Запись.Объект = лОбъект;
        Запись.Свойство = лСвойство;
    КонецЕсли;    
    Запись.Значение = лЗначение;
    ЗначенияСвойствОбъектов.Отбор.Объект.Установить(лОбъект);
    ЗначенияСвойствОбъектов.Отбор.Свойство.Установить(лСвойство);
    ЗначенияСвойствОбъектов.Записать();
    
КонецПроцедуры
21 Razzle Kay
 
17.08.18
10:50
Спасибо!)
22 Михаил Козлов
 
17.08.18
11:04
(20) Отборы второй раз устанавливать не обязательно.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший