|
Подставить значение доп реквизита из справочника | ☑ | ||
---|---|---|---|---|
0
oqjawa
29.08.19
✎
11:25
|
Здравствуйте, из ТЧ внешней обработки в справочник ЗначенияСвойствОбъектов добавляю значение, а в номенклатуру записать не могу как это сделать?
если у доп реквизита тип строка то все подставляется а если доп значение то не получается ДопРеквизит_Ид = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ИД"); ТаблицаДопРеквизитов1 = Новый ТаблицаЗначений; ТаблицаДопРеквизитов1.Колонки.Добавить("Свойство", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения")); ТаблицаДопРеквизитов1.Колонки.Добавить("Значение", Новый ОписаниеТипов ("Строка")); Если Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТабСтр.ИД).Пустая() Тогда СправЗначениеСвойств = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент(); СправЗначениеСвойств.Наименование = ТабСтр.ИД; СправЗначениеСвойств.Владелец = ДопРеквизит_Ид; СправЗначениеСвойств.Записать(); КонецЕсли; НовыйРеквизит = ТаблицаДопРеквизитов1.Добавить(); НовыйРеквизит.Свойство = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТабСтр.ИД); НовыйРеквизит.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТабСтр.ИД); МояНоменклатура=Справочники.Номенклатура.НайтиПоНаименованию(ТабСтр.Наименование); УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(МояНоменклатура, ТаблицаДопРеквизитов1 ); |
|||
1
banco
29.08.19
✎
11:51
|
(0) много НайтиПоНаименованию. Пройдите отладчиком, смотрите где проблема
|
|||
2
oqjawa
29.08.19
✎
11:54
|
НовыйРеквизит.Свойство = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТабСтр.ИД); не верно
правильно НовыйРеквизит.Свойство = ДопРеквизит_Ид; но не в этом проблема( |
|||
3
oqjawa
29.08.19
✎
12:10
|
ДопРеквизит_Ид = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ИД");
ТаблицаДопРеквизитов = Новый ТаблицаЗначений; ТаблицаДопРеквизитов.Колонки.Добавить("Свойство", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения")); ТаблицаДопРеквизитов.Колонки.Добавить("Значение", Новый ОписаниеТипов("Строка")); НовыйРеквизит = ТаблицаДопРеквизитов.Добавить(); НовыйРеквизит.Свойство = ДопРеквизит_Ид; НовыйРеквизит.Значение = ТабСтр.ИД; МояНоменклатура=Справочники.Номенклатура.НайтиПоНаименованию(ТабСтр.Наименование); УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(МояНоменклатура, ТаблицаДопРеквизитов); Вот этот код подставляет значение доп реквизита с типом строка в справочник номенклатуры... а тип Дополнительное значение хранит значения в справочнике.. создаю там элемент а подставить как непонятно.. столько тем на разных форумах а ответа нет нигде это возможно?) |
|||
4
catena
29.08.19
✎
12:31
|
(3) ТаблицаДопРеквизитов1.Колонки.Добавить("Значение", Новый ОписаниеТипов ("Строка"));
Так а зачем вы ее строкой типизируете, если справочник нужен? |
|||
5
oqjawa
29.08.19
✎
13:49
|
Catena (4) спасибо огромное,
ДопРеквизит_Ид = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ИД"); ТаблицаДопРеквизитов = Новый ТаблицаЗначений; ТаблицаДопРеквизитов.Колонки.Добавить("Свойство", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения")); ТаблицаДопРеквизитов.Колонки.Добавить("Значение", Новый ОписаниеТипов("СправочникСсылка.ЗначенияСвойствОбъектов")); Если Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТабСтр.ИД).Пустая() Тогда СправЗначениеСвойств = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент(); СправЗначениеСвойств.Наименование = ТабСтр.ИД; СправЗначениеСвойств.Владелец = ДопРеквизит_Ид; СправЗначениеСвойств.Записать(); КонецЕсли; НовыйРеквизит = ТаблицаДопРеквизитов.Добавить(); НовыйРеквизит.Свойство = ДопРеквизит_Ид; НовыйРеквизит.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ТабСтр.ИД); МояНоменклатура=Справочники.Номенклатура.НайтиПоНаименованию(ТабСтр.Наименование); УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(МояНоменклатура,ТаблицаДопРеквизитов); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |