|
Как загрузить номенклатурные группы из DBF | ☑ | ||
---|---|---|---|---|
0
den17
06.06.12
✎
15:10
|
Здравствуйте, я загружаю данные из DBF в справочник Номенклатура (конфигурация УТ), но все элементы загружаются просто, без групп. Как сделать, что-бы они были распределены по группам, подскажите пожалуйста..
|
|||
1
den17
06.06.12
✎
15:10
|
ДБФ = Новый XBase;
ДБФ.ОткрытьФайл("C:\tov.dbf"); НовыйЭлемент2 = Справочники.ВидыНоменклатуры.СоздатьЭлемент(); НовыйЭлемент2.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар; НовыйЭлемент2.Наименование = "Товар"; НовыйЭлемент2.Записать(); //НоваяНоменклатура.ВидНоменклатуры = Перечисления.ТипыНоменклатуры.Товар; Пока ДБФ.Следующая() Цикл НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент(); ШтПоКлассификатору=Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт"); НоваяЕдиницаИзмерения=Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); // уникальная ссылка для подстановки в товар НоваяссылкаЕдиницыИзмерения=Справочники.ЕдиницыИзмерения.ПолучитьСсылку();// уникальная ссылка НоваяЕдиницаИзмерения.УстановитьСсылкуНового(НоваяссылкаЕдиницыИзмерения); НоваяЕдиницаИзмерения.ПолучитьСсылкуНового(); НоваяЕдиницаИзмерения.ЕдиницаПоКлассификатору=ШтПоКлассификатору; НоваяЕдиницаИзмерения.Коэффициент=1; НоваяЕдиницаИзмерения.Наименование="шт."; // не записываем раньше товара, поскольку нет владельца //НовыйТовар=Справочники.Номенклатура.СоздатьЭлемент(); // НовыйТовар.ЕдиницаХраненияОстатков=НоваяссылкаЕдиницыИзмерения; // НовыйТовар.Артикул="А"+(Ст); НоваяНоменклатура.БазоваяЕдиницаИзмерения=ШтПоКлассификатору; // НовыйТовар.ВидВоспроизводства=Перечисления.ВидыВоспроизводстваНоменклатуры.Закупка; // НовыйТовар.Наименование="Шланг №"+Формат(Ст,"ЧЦ=4; ЧВН=; ЧГ=0"); // нужно ведущие нули // // НовыйТовар.СтавкаНДС=Перечисления.СтавкиНДС.НДС18; // Новыйтовар.ВидНоменклатуры=Справочники.ВидыНоменклатуры.НайтиПоКоду("000000001"); // НовыйТовар.Записать(); НоваяНоменклатура.ВидНоменклатуры = НовыйЭлемент2.Ссылка; НоваяНоменклатура.НоменклатурнаяГруппа = ДБФ.ПолучитьЗначениеПоля("GRUPPA1"); НоваяНоменклатура.Код = ДБФ.ПолучитьЗначениеПоля("CODE"); НоваяНоменклатура.Наименование = ДБФ.ПолучитьЗначениеПоля("NAME"); // товар записан со ссылкой на единицу измерения, которой в базе нет и в самой ссылке видим объект не найден НоваяНоменклатура.Записать(); НоваяЕдиницаИзмерения.Владелец=НоваяНоменклатура.Ссылка; НоваяЕдиницаИзмерения.Записать(); КонецЦикла; ДБФ.ЗакрытьФайл(); |
|||
2
Ц_У
06.06.12
✎
15:13
|
Как то так можно
НоваяНоменклатура.Родитель = Справочники.НайтиПоКоду_Или_Наименованию(ДБФ.ПолучитьЗначениеПоля("Какое_то_поле_идентификации_родтителя")); |
|||
3
den17
06.06.12
✎
15:32
|
Не работает, загружаются так-же, без групп:((
|
|||
4
ЛЮС
06.06.12
✎
15:37
|
А сами группы в базе есть? Если нет - тогда ставь условие: если родитель по коду не найден, то нужно создать новую группу.
|
|||
5
Ц_У
06.06.12
✎
15:40
|
Структура полей дбф какая?
и да: 1. есть ли такой элемент 2. проверка на группу 3. создание группы |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |