УТ 10.3 Как установить тип значения свойства номенклатуры?

1. pentanom 30 26.03.21 19:13 Сейчас в теме
Переношу свойства номенклатуры из другой базы с помощью OLE.
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    ИмяCOM=УправлениеСоединениямиИБ.ИмяCOMСоединителя();
    Состояние("База Херсонская ...");
    Пользователь=СокрЛП(Пользователь);
    Пароль=СокрЛП(Пароль);
    
// Создается объект-коннектор
    БД = Новый COMObject(ИмяCOM);
    СоединениеБД = БД.Connect("File="+СокрЛП(КаталогМода)+";Usr="+Пользователь+";pwd=" + Пароль + ";");
    
    ЗапросБД = СоединениеБД.NewObject("Запрос");
//    ЗапросБД = Новый Запрос;
    ЗапросБД.Текст = "ВЫБРАТЬ
                   |    СвойстваОбъектов.Ссылка,
                   |    СвойстваОбъектов.ВерсияДанных,
                   |    СвойстваОбъектов.ПометкаУдаления,
                   |    СвойстваОбъектов.Предопределенный,
                   |    СвойстваОбъектов.Код,
                   |    СвойстваОбъектов.Наименование,
                   |    СвойстваОбъектов.ТипЗначения,
                   |    СвойстваОбъектов.НазначениеСвойства,
                   |    СвойстваОбъектов.НазначениеСвойства.ТипЗначения
                   |ИЗ
                   |    ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
                   |ГДЕ
                   |    СвойстваОбъектов.НазначениеСвойства = &НазначениеСвойства";
    
    ЗапросБД.УстановитьПараметр("НазначениеСвойства",СоединениеБД.ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
    Выборка = ЗапросБД.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        ПВХ = ПланыВидовХарактеристик.СвойстваОбъектов;
        ТекПВХ = ПВХ.НайтиПоНаименованию(Выборка.Наименование);
        Если ТекПВХ=ПВХ.ПустаяСсылка() Тогда
            НовыйПлан = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
        Иначе
            НовыйПлан = ТекПВХ.ПолучитьОбъект();
        КонецЕсли;
        НовыйПлан.Наименование = Выборка.Наименование;
        ТипСтрока = СоединениеБД.String(Выборка.ТипЗначения);
        
        Если ТипСтрока = "Число" Тогда
//            НовыйПлан.ТипЗначения =; 
        ИначеЕсли ТипСтрока = "Строка" Тогда
//            НовыйПлан.ТипЗначения = Тип("Строка");
        Иначе
//            НовыйПлан.ТипЗначения = Тип("СправочникСписок.ЗначенияСвойствОбъектов");
        КонецЕсли;
                                                 
        НовыйПлан.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
        Попытка 
            НовыйПлан.Записать();
        Исключение
            Сообщить("---   "+ОписаниеОшибки());
        КонецПопытки;
    КонецЦикла;
    
    Сообщить("Конец загрузки !!!");

КонецПроцедуры
         

Показать

Свойства номенклатуры переносятся, но все устанавливается реквизит "Тип значения свойства" для всех свойств одинаковый "Значения свойств объектов", хотя в другой базе есть и "Число" и "Строка".
По теме из базы знаний
Найденные решения
2. shurikvz 26.03.21 21:44 Сейчас в теме
Через описание типов.
Не НовыйПлан.ТипЗначения = Тип("Число"), а НовыйПлан.ТипЗначения = Новый ОписаниеТипов("Число");
criptid; pentanom; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. shurikvz 26.03.21 21:44 Сейчас в теме
Через описание типов.
Не НовыйПлан.ТипЗначения = Тип("Число"), а НовыйПлан.ТипЗначения = Новый ОписаниеТипов("Число");
criptid; pentanom; +2 Ответить 1
3. pentanom 30 26.03.21 21:59 Сейчас в теме
(2)
НовыйПлан.ТипЗначения = Новый ОписаниеТипов("Число");
Спасибо огромное!
4. pentanom 30 26.03.21 22:05 Сейчас в теме
А эту строчку как исправить ?
//            НовыйПлан.ТипЗначения = Тип("СправочникСписок.ЗначенияСвойствОбъектов");


НовыйПлан.ТипЗначения = Новый ОписаниеТипов("СправочникСписок.ЗначенияСвойствОбъектов");
Так?
5. shurikvz 26.03.21 22:26 Сейчас в теме
почему СправочникСписок? СправочникСсылка
6. pentanom 30 26.03.21 22:38 Сейчас в теме
(5)
почему СправочникСписок? СправочникСсылка
Да. Ошибся.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот