Имя: Пароль:
1C
Спам
Программное добавление элемента справочника Номенклатура
Ø (Лефмихалыч 21.01.2012 19:33)
0 vhrss
 
21.01.12
19:14
Хочу програмно добавить элемент в справочник "номенклатура", среди атрибутов которого присутствует "БазоваяЕдиница" - элемент справочника "Единицы", который подчинен "Номенклатуре".

Код:
ПерГр=СоздатьОбъект("Справочник.Номенклатура");
ПерГр.НайтиПоКоду("00001057");
ВыбНоменклатура=СоздатьОбъект("Справочник.Номенклатура");
ВыбНоменклатура.НайтиПоКоду("00004601");
ВремНаим="Журнал №1";
НовНомен=СоздатьОбъект("Справочник.Номенклатура");
НовНомен.Новый();
НовНомен.Наименование=ВремНаим;
НовНомен.Родитель=ПерГр.ТекущийЭлемент();
НовНомен.ПолнНаименование=ВремНаим;
НовНомен.Записать();
Если НовНомен.НайтиПоНаименованию(ВремНаим,0,1)=1 Тогда
СпрЕдиницы = СоздатьОбъект("Справочник.Единицы");
СпрОКЕИ=СоздатьОбъект("Справочник.ОКЕИ");
СпрОКЕИ.НайтиПоКоду("796");
СпрЕдиницы.ИспользоватьВладельца(НовНомен.ТекущийЭлемент());
СпрЕдиницы.Новый();
СпрЕдиницы.Владелец=НовНомен.ТекущийЭлемент();
СпрЕдиницы.Наименование = РеквЕдиница.Наименование;
СпрЕдиницы.Коэффициент = 1;
СпрЕдиницы.ОКЕИ = СпрОКЕИ.ТекущийЭлемент();
СпрЕдиницы.Записать();
КонецЕсли;
НовНомен.УстановитьАтрибут("БазоваяЕдиница", СпрЕдиницы.ТекущийЭлемент());

Сразу после этого я для отладки пишу следующий кусок кода:

Если НовНомен.БазоваяЕдиница.Владелец<>НовНомен Тогда
Предупреждение("Не совпадает базовая!");
КонецЕсли;

И при тестировании мне выдается это самое "Не совпадает базовая", почему? Хотя при отладке к этому моменту в переменной НовНомен.БазоваяЕдиница.Владелец лежит значение "Журнал №1", которое также лежит и в НовНомен.

Проблема не только в непрохождении данной проверки, а также и в дальнейшем, когда когда я пользуюсь этим элементом номенклатуры, оказывается что владелец базовой цены не совпадает с ней самой.

Заранее благодарен за ответы.
1 Лефмихалыч
 
21.01.12
19:33