Имя: Пароль:
1C
 
Не добавляются записи в регистр сведений ЗначенияСвойствОбъектов
0 falselight
 
28.06.19
11:04
Не добавляются записи в регистр сведений ЗначенияСвойствОбъектов.
После загрузки открываю данный РС, но там только одна запись.
Подскажите пожалуйста что нужно поправить в данном коде?
Есть мысли что не хватает отбора, подскажите как правильно его добавить?

////////////////////



                // ТИП ТС                 // 19. [18]
                Если МассивКолонок[18] <> "" Тогда
                    ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ТипТС");
                    Если ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка() Тогда
                        ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
                        ТипТС.УстановитьНовыйКод();
                        ТипТС.Наименование       = "ТипТС";
                        ТипТС.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
                        ТипТС.ТипЗначения        = Новый ОписаниеТипов("Строка");
                        ТипТС.Записать();                
                    КонецЕсли;
                    //
                    НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                    НовЗапись                    = НаборЗаписейЗначенияСвойств.Добавить();
                    НовЗапись.Объект            = ЭлементНоменклатуры.Ссылка;
                    НовЗапись.Свойство            = ТипТС.Ссылка;
                    НовЗапись.Значение          = МассивКолонок[18];
                    НаборЗаписейЗначенияСвойств.Записать();
                    Сообщить("***> Создан тип ТС " + МассивКолонок[20]);
                КонецЕсли;
                // --------------------------------------------------------------------->
                //
                // МОДЕЛЬ ТС              // 20. [19]
                Если МассивКолонок[19] <> "" Тогда
                    МодельТС = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МодельТС");
                    Если МодельТС = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка() Тогда
                        МодельТС = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
                        МодельТС.УстановитьНовыйКод();
                        МодельТС.Наименование       = "МодельТС";
                        МодельТС.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
                        МодельТС.ТипЗначения        = Новый ОписаниеТипов("Строка");
                        МодельТС.Записать();                
                    КонецЕсли;
                    //
                    НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                    НовЗапись                    = НаборЗаписейЗначенияСвойств.Добавить();
                    НовЗапись.Объект            = ЭлементНоменклатуры.Ссылка;
                    НовЗапись.Свойство            = МодельТС.Ссылка;
                    НовЗапись.Значение          = МассивКолонок[19];
                    НаборЗаписейЗначенияСвойств.Записать();
                    Сообщить("***> Создана Модель ТС " + МассивКолонок[19]);
                КонецЕсли;
                // --------------------------------------------------------------------->
                //
                // ЦВЕТ ТС                // 21. [20]
                Если МассивКолонок[20] <> "" Тогда
                    ЦветТС = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ЦветТС");
                    Если ЦветТС = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка() Тогда
                        ЦветТС = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
                        ЦветТС.УстановитьНовыйКод();
                        ЦветТС.Наименование       = "ЦветТС";
                        ЦветТС.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
                        ЦветТС.ТипЗначения        = Новый ОписаниеТипов("Строка");
                        ЦветТС.Записать();                
                    КонецЕсли;
                    //
                    НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                    НовЗапись                    = НаборЗаписейЗначенияСвойств.Добавить();
                    НовЗапись.Объект            = ЭлементНоменклатуры.Ссылка;
                    НовЗапись.Свойство            = ЦветТС.Ссылка;
                    НовЗапись.Значение          = МассивКолонок[20];
                    НаборЗаписейЗначенияСвойств.Записать();
                    Сообщить("***> Создан Цвет ТС " + МассивКолонок[20]);
                КонецЕсли;
                // --------------------------------------------------------------------->
                //
1 falselight
 
28.06.19
11:10
Поправил, вот так.

                //
                // ТИП ТС                 // 19. [18]
                Если МассивКолонок[18] <> "" Тогда
                    ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ТипТС");
                    Если ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка() Тогда
                        ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
                        ТипТС.УстановитьНовыйКод();
                        ТипТС.Наименование       = "ТипТС";
                        ТипТС.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
                        ТипТС.ТипЗначения        = Новый ОписаниеТипов("Строка");
                        ТипТС.Записать();                
                    КонецЕсли;
                    //
                    НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                    //
                    НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(ЭлементНоменклатуры.Ссылка);
                    НаборЗаписейЗначенияСвойств.Отбор.Свойство.Установить(ТипТС.Ссылка);                     
                    //
                    НовЗапись                    = НаборЗаписейЗначенияСвойств.Добавить();
                    НовЗапись.Объект            = ЭлементНоменклатуры.Ссылка;
                    НовЗапись.Свойство            = ТипТС.Ссылка;
                    НовЗапись.Значение          = МассивКолонок[18];
                    НаборЗаписейЗначенияСвойств.Записать();
                    Сообщить("***> Создан тип ТС " + МассивКолонок[20]);
                КонецЕсли;
                // --------------------------------------------------------------------->
                //
                // МОДЕЛЬ ТС              // 20. [19]
                Если МассивКолонок[19] <> "" Тогда
                    МодельТС = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("МодельТС");
                    Если МодельТС = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка() Тогда
                        МодельТС = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
                        МодельТС.УстановитьНовыйКод();
                        МодельТС.Наименование       = "МодельТС";
                        МодельТС.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
                        МодельТС.ТипЗначения        = Новый ОписаниеТипов("Строка");
                        МодельТС.Записать();                
                    КонецЕсли;
                    //
                    НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                    //
                    НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(ЭлементНоменклатуры.Ссылка);
                    НаборЗаписейЗначенияСвойств.Отбор.Свойство.Установить(МодельТС.Ссылка);                     
                    //
                    НовЗапись                    = НаборЗаписейЗначенияСвойств.Добавить();
                    НовЗапись.Объект            = ЭлементНоменклатуры.Ссылка;
                    НовЗапись.Свойство            = МодельТС.Ссылка;
                    НовЗапись.Значение          = МассивКолонок[19];
                    НаборЗаписейЗначенияСвойств.Записать();
                    Сообщить("***> Создана Модель ТС " + МассивКолонок[19]);
                КонецЕсли;
                // --------------------------------------------------------------------->
                //
                // ЦВЕТ ТС                // 21. [20]
                Если МассивКолонок[20] <> "" Тогда
                    ЦветТС = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ЦветТС");
                    Если ЦветТС = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка() Тогда
                        ЦветТС = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
                        ЦветТС.УстановитьНовыйКод();
                        ЦветТС.Наименование       = "ЦветТС";
                        ЦветТС.НазначениеСвойства = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
                        ЦветТС.ТипЗначения        = Новый ОписаниеТипов("Строка");
                        ЦветТС.Записать();                
                    КонецЕсли;
                    //
                    НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                    //
                    НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(ЭлементНоменклатуры.Ссылка);
                    НаборЗаписейЗначенияСвойств.Отбор.Свойство.Установить(ЦветТС.Ссылка);                     
                    //
                    НовЗапись                    = НаборЗаписейЗначенияСвойств.Добавить();
                    НовЗапись.Объект            = ЭлементНоменклатуры.Ссылка;
                    НовЗапись.Свойство            = ЦветТС.Ссылка;
                    НовЗапись.Значение          = МассивКолонок[20];
                    НаборЗаписейЗначенияСвойств.Записать();
                    Сообщить("***> Создан Цвет ТС " + МассивКолонок[20]);
                КонецЕсли;
                // --------------------------------------------------------------------->
                //
2 Strogg
 
28.06.19
11:40
НаборЗаписейЗначенияСвойств.Прочитать();
3 falselight
 
28.06.19
12:07
(2) Вроде так сработало (1).
Или там что то не так?

Хотя сработало при разовом выполнении. Я и делаю для разового переноса.
(2) Вашу строку следует добавить после установки отбора?
4 Случайный прохожий
 
28.06.19
12:08
(3) Да, после
5 falselight
 
28.06.19
12:30
(2)(4) Спасибо!