Имя: Пароль:
1C
1С v8
Доп реквизиты УТ 11
,
0 gvozdoderov
 
26.03.13
16:33
Добрый день!
Подскажите пожалуйста как в УТ11 изменить значение дополнительного реквизита справочника Номенклатуры или добавить новое значение и установить его в справочнике. Сам реквизит при это создавать не надо.
1 lxndr
 
26.03.13
16:35
1. Открываешь нужную номенклатуру
2. На форме находишь нужный доп. реквизит
3. Меняешь его значение
4. Сохраняешь номенклатуру
2 gvozdoderov
 
26.03.13
16:35
(1) в конфигураторе
3 lxndr
 
26.03.13
16:41
Если Не ПустаяСтрока(Источник.КаталожныйНомер) Тогда
   СтрокаДопРеквизита = Объект.ДополнительныеРеквизиты.Добавить();
   СтрокаДопРеквизита.Свойство = Параметры.ДопРеквизитНоменклатурыКаталожныйНомер;
   СтрокаДопРеквизита.Значение = Источник.КаталожныйНомер;
КонецЕсли;
4 gvozdoderov
 
26.03.13
16:46
(3) а как через ссылку на номенклатуру докапаться до списка доп.реквизитов и поменять нужный?

>> СтрокаДопРеквизита = Объект.ДополнительныеРеквизиты.Добавить();
- это добавляется новый доп. реквизит в форму объекта?
5 lxndr
 
26.03.13
16:48
(4) Ищи так:
СтрокаДопРеквизита = Ссылка.ДополнительныеРеквизиты.Найти(ДопРеквизит, "Свойство");
6 gvozdoderov
 
26.03.13
16:55
(5) спасибо!
7 gvozdoderov
 
26.03.13
17:20
(5) пробую записать новое значение в доп. реквизит

Номенклатура = СтрокаНоменклатура.Номенклатура.ПолучитьОбъект();
               ДополнительныеРеквизиты = Номенклатура.ДополнительныеРеквизиты.Найти(Свойство,"Свойство");
               Если ДополнительныеРеквизиты <> Неопределено Тогда
                   Значение = ДополнительныеРеквизиты.Значение;
                   Если Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ЧтоДобавить) <> Неопределено Тогда
                       ЗначениеДопРек = ДополнительныеРеквизиты.Значение.ПолучитьОбъект();
                       ЗначениеДопРек = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ЧтоДобавить);
                   КонецЕсли;
               
не записывается. на Записать() ругается
8 gvozdoderov
 
26.03.13
17:27
докапаться вроде докапался до этих доп. реквизитов, теперь вот сообразить не могу как сохранить новое значение
9 lxndr
 
26.03.13
17:33
ералаш какойто в (7)
Номенклатура = СтрокаНоменклатура.Номенклатура.ПолучитьОбъект();
ДополнительныеРеквизиты = Номенклатура.ДополнительныеРеквизиты.Найти(Свойство,"Свойство");
Если ДополнительныеРеквизиты <> Неопределено Тогда
    ДополнительныеРеквизиты.Значнение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ЧтоДобавить) <> Неопределено Тогда
    Номенклатура.Записать();
КонецЕсли;
10 lxndr
 
26.03.13
17:34
(9) * в 4 строке конечно убрать <> и правее
11 gvozdoderov
 
26.03.13
17:39
(10) Все здорово! Спасибо! С меня пиво)