Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:26

УТ 11 Дополнительные реквизиты

Автор fsa, 17 апр 2016, 19:14

0 Пользователей и 1 гость просматривают эту тему.

fsa

Доброго времени.

В справочник Вид Номенклатуры добавлен Дополнительный реквизит, Диаметр.
Как програмно можно обратиться к этому реквизиту?
ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Диаметр")

так не ищет, потому что Наименование у него уже другое: "Диаметр (ВидНоменклатуры1)".

Hedinnk

Дополнительные реквизиты - это строки табличной части элемента справочника, а не план видов характеристик

fsa

Цитата: Hedinnk от 17 апр 2016, 19:22
Дополнительные реквизиты - это строки табличной части элемента справочника, а не план видов характеристик

Таблица = Новый ТаблицаЗначений;

Таблица.Колонки.Добавить("Свойство");
Таблица.Колонки.Добавить("Значение");


Элемент = Справочники.Номенклатура.НайтиПоКоду("00-00044758");

Строка = Таблица.Добавить();
Строка.Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Диаметр");
Строка.Значение = 88;


 
УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Элемент, Таблица);

Hedinnk

Посмотрите, что происходит вот в этой процедуре.
Цитата: fsa от 17 апр 2016, 19:27УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Элемент, Таблица);
Думаю после этого все станет ясно.

fsa

Цитата: Hedinnk от 17 апр 2016, 19:41
Посмотрите, что происходит вот в этой процедуре.
Цитата: fsa от 17 апр 2016, 19:27УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Элемент, Таблица);
Думаю после этого все станет ясно.
Находит Диаметр (ВидНоменклатуры2) и естественно ничего не записывает.....

Hedinnk

В общем, если вы все в первом сообщении описали правильно,  то свойство Ваше будет называться "Диаметр (Вид номенклатуры)". То есть:
...Свойство = "Диаметр (Вид номенклатуры)";
...Значение = 88;

fsa

Цитата: Hedinnk от 17 апр 2016, 19:53
В общем, если вы все в первом сообщении описали правильно,  то свойство Ваше будет называться "Диаметр (Вид номенклатуры)". То есть:
...Свойство = "Диаметр (Вид номенклатуры)";
...Значение = 88;

Понятное дело, что можно вот так:
ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Диаметр (" + Элемент.ВидНоменклатуры + ")")
А более рационально нельзя записать значение Доп реквизита Номенклатуры?

Hedinnk

Создать свой собственный реквизит в конфигураторе ;P
Добавлено: 17 апр 2016, 20:18


Или использовать характеристики вместо дополнительных реквизитов

fsa

Цитата: Hedinnk от 17 апр 2016, 20:15
Создать свой собственный реквизит в конфигураторе ;P
Добавлено: 17 апр 2016, 20:18


Или использовать характеристики вместо дополнительных реквизитов
Оба не вариант. Заказчик уже пошел по пути Допов в спр ВидНоменклатуры, так еще и вместо реального вида номенклатуры (например дверь межкомнатная) влупил туда производителя (завод дсп1, 2, и т д)....

Hedinnk

Тогда мучаться с тем что есть.
Попытайтесь переубедить заказчика и,пока не много информации, переделать.
Добавлено: 17 апр 2016, 20:45


С точки зрения пользователя, дополнительные реквизиты - это очень удобно, но потом,и если понадобятся доработки - куча геморроя. Плюс, какой-нибудь нерадивый пользователь изменит имя дополнительного реквизита и все сразу сломается в написанных вами доработках, которые относятся к этому реквизиту.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск