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

Дополнительное свойство номенклатуры

Автор SkyNetYar, 27 ноя 2015, 11:44

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

SkyNetYar

Добрый день! УТ 11.1.10
Есть обработка переноса Имени номенклатуры в доп. свойство номенклатуры

НаименованиеСвойства = "ИМЯДОПРЕКВИЗИТА";
НаименованиеРеквизита = "Наименование";

СсылкаНаНабор = Справочники.НаборыДополнительныхРеквизитовИСведений.Справочник_Номенклатура_Общие;

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |    НаборыДополнительныхРеквизитов.Свойство
               |ИЗ
               |    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК НаборыДополнительныхРеквизитов
               |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
               |        ПО НаборыДополнительныхРеквизитов.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
               |ГДЕ
               |    ДополнительныеРеквизитыИСведения.Наименование ПОДОБНО &НаименованиеСвойства
               |    И НаборыДополнительныхРеквизитов.Ссылка = &СсылкаНаНабор";
Запрос.УстановитьПараметр("НаименованиеСвойства", НаименованиеСвойства + "%");
Запрос.УстановитьПараметр("СсылкаНаНабор", СсылкаНаНабор);

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
    Свойство = Выборка.Свойство;
    НайденнаяСтрока = Объект.ДополнительныеРеквизиты.Найти(Свойство, "Свойство");
    Если НайденнаяСтрока = Неопределено Тогда
        НайденнаяСтрока = Объект.ДополнительныеРеквизиты.Добавить();
    КонецЕсли;
    НайденнаяСтрока.Свойство = Свойство;
    НайденнаяСтрока.Значение = Объект[НаименованиеРеквизита];
    Объект.Записать();
КонецЕсли;


Но она работает если Тип значения доп реквизита = "Строка" ,если Тип значения доп реквизита "Дополнительное значение" тогда обработка не работает.
Наставьте на путь истинный!




Yura063

Скорее всего присвоение идет строки, поэтому при другом типе он строку присвоить не может.
Помогли, отблагодари!

SkyNetYar

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

Yura063

Цитата: SkyNetYar от 27 ноя 2015, 15:14
Ну по сути надо не заносить в строку значение а добавлять его ,потому как если тип значения доп.свойста номенклатуры не строка а элемент справочника.
В коде видно что присваивает он в значение наименование (наименование - строка)!
Помогли, отблагодари!

SkyNetYar

Цитата: Yura063 от 27 ноя 2015, 16:50
Цитата: SkyNetYar от 27 ноя 2015, 15:14
Ну по сути надо не заносить в строку значение а добавлять его ,потому как если тип значения доп.свойста номенклатуры не строка а элемент справочника.
В коде видно что присваивает он в значение наименование (наименование - строка)!
Ну да,а надо создавать значение справочника с этим именем.
Если посмотрите в дополнительные значения справочника номенклатура сразу поймете о чем я.

Yura063

Цитата: SkyNetYar от 27 ноя 2015, 17:05
Цитата: Yura063 от 27 ноя 2015, 16:50
Цитата: SkyNetYar от 27 ноя 2015, 15:14
Ну по сути надо не заносить в строку значение а добавлять его ,потому как если тип значения доп.свойста номенклатуры не строка а элемент справочника.
В коде видно что присваивает он в значение наименование (наименование - строка)!
Ну да,а надо создавать значение справочника с этим именем.
Если посмотрите в дополнительные значения справочника номенклатура сразу поймете о чем я.

Как вариант можно спрашивать создаваемый тип у пользователя! И уже работать с данными выбора. Если вы уверены что постоянно нужен только тип справочник, то создавайте его и присваивайте в значение.
Помогли, отблагодари!

SkyNetYar

Спрашивать его не надо,он уже известен ,вот он
НаименованиеСвойства = "ИМЯДОПРЕКВИЗИТА";
Надо обработкой только создать там значение с именем номенклатуры..
Это же обработка переноса Наименования номенклатуры в Дополнительное значение той же Номенклатуры.

В общем мне надо то что на скрине ниже
Наименование номенклатуры перенести в доп значение номенклатуры если его тип "Дополнительное значение(элемент справочника)"

Stalkerz777

Нужно сначала создать элемент справочника ЗначенияСвойствОбъектов (Дополнительные значения), а потом подставлять его в Дополнительные реквизиты нужного справочника.

Теги:

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

Рейтинг@Mail.ru

Поиск