Имя: Пароль:
1C
1С v8
Запись свойств номенклатуры.
0 MAPATNK2
 
naïve
10.04.18
08:22
добрый день, для выгрузки некоторых свойств на сайт 1С-Битрикс, понадобилось программно заполнить данные свойства в 1с из XML файла. Парсинг написан (копипастом), осталось понять, как заполнить свойства номенклатуры. Создал (вручную) несколько свойств объектов для справочника номенклатуры, начал заполнять регистр:
ВидСвойства = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Детальная картинка");
Запись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
Запись.Прочитать();
Запись.Объект = Номенклатурнаяпозиция.Ссылка;
Запись.Свойство = ВидСвойства;
Запись.Значение = стр.ДетальнаяКартинка;
Запись.Записать();
В регистр записалось, отображается на форме элемента номенклатуры, но при нажатии, двойным кликом, свойство пустое. Что я не доделал, и как доделать, подскажите пожалуйста? В итоге получается, что свойства только отображаются, как заполненные, но значения пустые и на сайт ничего не загружается.
1 MAPATNK2
 
naïve
10.04.18
08:34
Нашел пример заполнения справочника "Значение свойств объектов", немного не понимаю, где устанавливать привязку к номенклатуре?

ЗначениеРазмер  = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(СокрЛП(ФайлОбмена.RAZM),Истина,,Размер);
    Если ЗначениеРазмер.Пустая() Тогда
        НовоеЗначение = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
        НовоеЗначение.Владелец     = Размер.Ссылка;
        НовоеЗначение.Наименование = ФайлОбмена.RAZM;
        НовоеЗначение.Записать();
        ЗначениеРазмер = НовоеЗначение.Ссылка;
    КонецЕсли;
2 Strogg
 
10.04.18
08:38
(0), (1), все намешал. У РС Значения свойств Объектов есть Объект (номенклатура, в нашем случае), Свойство(ПВХ свойства объектов с наименованием "Детальная картинка" в нашем случае) и значение, которое ты задавал при создании элемента ПВХ. Если ты сопоставил свою детальную картинку со справочником номенклатуры и задал ей тип Справочник.Значения свойств объектов, тогда у тебя все должно получиться. Итак, все ли ты сделал так, как было описано выше?
3 MAPATNK2
 
naïve
10.04.18
08:44
(2) Как видно из 1 записи, я заполнил регистр сведений. Но я не понял "Если ты сопоставил свою детальную картинку со справочником номенклатуры и задал ей тип Справочник.Значения свойств объектов, тогда у тебя все должно получиться." этого. Как сопоставить? Есть какая-нибудь инструкция по программному добавлению. В интернете не могу ничего полезного найти. Везде все намешано, вот и запутался. Я записал регистр, в объект добавил номенклатуру в свойство нужно ПВХ, в значение - ссылку на картинку. Когда захожу на форму элемента номенклатуры в свойствах отображаются ссылки, но при двойном нажатии на свойство, оно становится пустым и возможности выбрать ссылку, которая там только что отображалась - нет. Как быть?
4 MAPATNK2
 
naïve
10.04.18
08:46
2-ая запись то вообще нужна?
5 Strogg
 
10.04.18
08:48
(3) у тебя тип значения характеристики какой??? Строка? Справочник.ЗначенияСвойствОбъектов? Если строка - то достаточно в "значение" записать строку с адресом картинки. Если элемент справочника - то сначала нужно его создать, а потом в значение пихать ссылку на созданный тобою элемент.
Че непонятного-то?:)
6 MAPATNK2
 
naïve
10.04.18
08:53
(5) Мне не понятно, как программно заполнить свойства для номенклатуры. И почему, при добавлении в регистр, они отображаются на форме, но значения свойств остаются пустыми. Фигня какая-то. Может есть у кого инструкция? Вообще ничего не понятно. В регистр добавил, там все есть, в справочник то как добавить, если там привязки к номенклатуре нет.
7 Strogg
 
10.04.18
09:02
(6) ёшкин кот.
1)операции - ПланВидовХарактеристик.СвойстваОбъектов. Открой свое свойство и в качестве реквизита "назначение" выбери справочник номенклатуры.
2) там же, выбери тип свойства, строка или справочник.ЗначенияСвойствОбъектов
3) необходимо записать элемент!
4) см (5)
5) ???
6) PROFIT!
8 d4rkmesa
 
гуру
10.04.18
09:04
(6) Скорее всего собака порылась в значении, которое вы пытаетесь присвоить "Запись.Значение = стр.ДетальнаяКартинка; ". Скорее всего его нет в типе значений характеристик ПВХ.
9 MAPATNK2
 
naïve
10.04.18
09:14
(7) Проблема была в типе значения. Выставил строку, все получилось. Куча примеров, все говорят о разном, поэтому и запутался. Спасибо.