Имя: Пароль:
1C
1С v8
Розница 1.0.16.4 (последняя), единицы измерения - УстановитьСсылкуНового. HELP!
0 1C-band
 
01.10.12
17:55
1.                    НоменклатураОбъект.УстановитьСсылкуНового(Справочники.Номенклатура.ПолучитьСсылку());
2.
ЕдиницаИзмеренияОбъект.Владелец = НоменклатураОбъект.ПолучитьСсылкуНового();

Ссылка есть, объект не найден. Ну это понятно - он ещё не записан. ЧЯДНТ? Надо записать уже эту единицу измерения... HELP! Заранее спасибо.
1 shuhard
 
01.10.12
18:19
(0) а так ?
ШтПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
       НоваяЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
       // уникальная ссылка для подстановки в товар
   НоваяссылкаЕдиницыИзмерения=Справочники.ЕдиницыИзмерения.ПолучитьСсылку();// уникальная ссылка
       НоваяЕдиницаИзмерения.УстановитьСсылкуНового(НоваяссылкаЕдиницыИзмерения);
       НоваяЕдиницаИзмерения.ПолучитьСсылкуНового();
       НоваяЕдиницаИзмерения.ЕдиницаПоКлассификатору=ШтПоКлассификатору;
       НоваяЕдиницаИзмерения.Коэффициент=1;
       НоваяЕдиницаИзмерения.Наименование="шт.";
       // не записываем раньше товара, поскольку нет владельца
       НовыйТовар=Справочники.Номенклатура.СоздатьЭлемент();
   НовыйТовар.ЕдиницаХраненияОстатков=НоваяссылкаЕдиницыИзмерения;
       НовыйТовар.Артикул="А"+(Ст);
       НовыйТовар.БазоваяЕдиницаИзмерения=ШтПоКлассификатору;
       НовыйТовар.ВидВоспроизводства=Перечисления.ВидыВоспроизводстваНоменклатуры.Закупка;
       НовыйТовар.Наименование="Шланг №"+Формат(Ст,"ЧЦ=4; ЧВН=; ЧГ=0"); // нужно ведущие нули
       НовыйТовар.СтавкаНДС=Перечисления.СтавкиНДС.НДС18;
       Новыйтовар.ВидНоменклатуры=Справочники.ВидыНоменклатуры.НайтиПоКоду("000000001");
   НовыйТовар.Записать();
       // товар записан со ссылкой на единицу измерения, которой в базе нет и в самой ссылке видим объект не найден
   НоваяЕдиницаИзмерения.Владелец=НовыйТовар.Ссылка;
   НоваяЕдиницаИзмерения.Записать();