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