Имя: Пароль:
1C
 
Программное заполнение значений свойств номенклатуры в ут 10.3
0 falselight
 
26.06.19
07:04
Делаю перенос номенклатуры из УТ 10.3.
Из источника нужно перенести данные ТипТС, МодельТС, ЦветТС.
Решил что будет правильно это занести в значения свойств объектов что есть у справочника номенклатура.
Подскажите пожалуйста, как правильно это сделать программно? Можно пример кода, спасибо!
1 Галахад
 
гуру
26.06.19
07:20
Это же обычный регистр сведений. Набери в гугле (янедксе) - как записать в регистр сведений.
2 ДенисЧ
 
26.06.19
07:31
Сначала в ПВХ Свойства объектов создаёшь нужные свойства, потом в РС ЗначенияСвойствОбъектов пишешь записи.
3 falselight
 
26.06.19
07:59
(2) Ищу примеры кода
4 falselight
 
26.06.19
07:59
(3+) Что бы создать программно.
5 falselight
 
26.06.19
08:03
(2) Подскажите пожалуйста по коду, а то как то не соображу что бы все правильно создать.
6 Chameleon1980
 
26.06.19
08:07
(5) ты скажи что уже умеешь, а то создается впечатление....

писал в РС?

А так тебе все сказали:

пиши в РС ЗначенияСвойствОбъектов
7 Chameleon1980
 
26.06.19
08:09
МенеджерЗаписи=РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();

МенеджерЗаписи.Объект=ТвояНоменклатура;
МенеджерЗаписи.Свойство=ТвоеСвойство;
МенеджерЗаписи.Значение=ТвоеЗначениеСвойства;

Попытка
   МенеджерЗаписи.Записать();
Исключение
   Сообщить(ОписанияОшибки());
КонецПопытки;
8 falselight
 
26.06.19
08:17
(6) Это понятно. Но там

Свойство - это ПланВидовХарактеристикСсылка.СвойстваОбъектов
Значение - это Характеристика.СвойстваОбъектов

У меня все это идет как текст, я хочу создать программно все.
9 falselight
 
26.06.19
08:24
(7) Как правильно создать вот эти значения?

МенеджерЗаписи.Свойство=ТвоеСвойство;
МенеджерЗаписи.Значение=ТвоеЗначениеСвойства;
10 Галахад
 
гуру
26.06.19
08:28
Беда...
11 falselight
 
26.06.19
08:34
(10) Да не беда, просто не владею этой информацией, смотрю примеры кода.
Пытаюсь понять как сделать правильно и без ошибок.
12 Галахад
 
гуру
26.06.19
08:35
(11) Сделай руками одну штуку. Поймешь.
13 falselight
 
26.06.19
08:39
(12) Yt gjybvftncz ctujlyz/
14 Сияющий в темноте
 
26.06.19
08:39
Что такое свойство-это элемент из плана видов характеристик СвойстваОбьектов. нужно его там найти по имени или еще как-то,может быть,даже создать,и получается ссылка,которую пихают в измерение Свойство регистра сведений.
в значение пихают наше значение,а Обьект это ссылка на тот несчастный элемент или документ,для которого мы задаем свойство.
еще есть справочник ЗначенияСвойствОбьектов,на тот случай,когда у нас свойства из определенного набора заранее заданных значений,тогда в значение пишется ссылка на элемент этого справочника.

в регистр проще всего писать через менеджер записи,т.к.регистр независимый и отборов как и наборов записей нам не нужно.
только,желательно,перед записью выставить измерения и сделать Прочитать,чтобы корректно "покрыть" предыдущее значение и не ставить Истина в параметр записи.
15 falselight
 
26.06.19
08:40
(12) Не понимается сегодня.
16 falselight
 
26.06.19
08:40
Хотелось бы пример кода, и все.
17 falselight
 
26.06.19
08:44
// ТИП ТС                 // 19. [18]
                ТипТС                        = ПланыВидовХарактеристик.СвойстваОбъектов.НайтипоНаименованию("ТипТС");
                НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                НовЗапись            = НаборЗаписейЗначенияСвойств.Добавить();
                НовЗапись.Объект    = ЭлементНоменклатуры.Ссылка;
                НовЗапись.Свойство    = ТипТС;
                НовЗапись.Значение  = НовЭл.ссылка;
                НаборЗаписейЗначенияСвойств.Записать();
                // --------------------------------------------------------------------->
////////


ТипТС я нахожу поиском, создал его в режиме предприятия, а если его нужно создать программно как это будет?

НовЗапись.Значение - сюда идет текст, как мне создать этот элемент программно, учитывая что его тип Характеристика.СвойстваОбъектов
18 falselight
 
26.06.19
09:10
// ТИП ТС                 // 19. [18]
                ТипТС                        = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("ТипТС");
                Если ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.ПустаяСсылка() Тогда
                    ТипТС = ПланыВидовХарактеристик.СвойстваОбъектов.СоздатьЭлемент();
                    ТипТС.УстановитьНовыйКод();
                    ТипТС.Наименование       = "ТипТС";
                    ТипТС.НазначениеСвойства = ЭлементНоменклатуры.Ссылка;
                    ТипТС.ТипЗначения        = Новый ОписаниеТипов("Строка");
                    ТипТС.Записать();                
                КонецЕсли;
                //
                НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
                НовЗапись                    = НаборЗаписейЗначенияСвойств.Добавить();
                НовЗапись.Объект            = ЭлементНоменклатуры.Ссылка;
                НовЗапись.Свойство            = ТипТС;
                НовЗапись.Значение          = МассивКолонок[18];
                НаборЗаписейЗначенияСвойств.Записать();
                // --------------------------------------------------------------------->

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

Вот вроде как я нашел, или создал ТипТС. Есть ЭлементНоменклатуры.Ссылка.

Подскажите сейчас пожалуйста, имея строковое значение МассивКолонок[18]
Как мне создать НовЗапись.Значение

                НовЗапись.Значение          = МассивКолонок[18];


Имеющее тип Характеристика.СвойстваОбъектов ?
19 falselight
 
26.06.19
09:11
(18+) Или это и так сработает?
20 falselight
 
26.06.19
09:15
СРАБОТАЕТ (18) ???
21 Кодер
 
26.06.19
09:18
Иди в отладчик, ёлки-палки! После каждой строки сравнивай, изменилась ли переменная, в которую ты присвоил значение.
22 Сибирский
 
26.06.19
09:23
(0) Извини за оффтоп - ты из Новосибирска или из Томска?
23 ДенисЧ
 
26.06.19
09:27
(19) Вот это точно сработает. Проверено
https://is.gd/woeLnS
24 falselight
 
26.06.19
10:29
(22) А ты от куда?
25 falselight
 
26.06.19
10:46
Не срабатывает вот эта строка

                    МодельТС.НазначениеСвойства = ЭлементНоменклатуры.Ссылка;

Туда нужно не ссылку на контрагента, а что то другое, подскажите что
26 Сибирский
 
26.06.19
11:04
(24) Я из Томска.
27 falselight
 
26.06.19
11:12
(26) А я из Искитима.
28 Сибирский
 
26.06.19
15:28
(27) Андрей?
29 falselight
 
26.06.19
18:49
(28) И что?
30 Сибирский
 
26.06.19
19:07
(29) Да просто пытаюсь вычислить, кто код писал. Нашёл в конфе твой комментарий, но не сопоставил, кто это делал. Под подозрением два человека)
31 falselight
 
26.06.19
19:16
(30) Аааа.... Ну комментарии разные бывают много где. Не придавай значения.
Лучше сделай как нужно, если что то не так.
32 Сибирский
 
26.06.19
19:55
(31) Ну я не думаю, что кто-то ещё подписал бы свой комментарий как livingStar, кроме самого LivingStar)