8.х Загрузка реквизитов справочника

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем mazza, 4 мар 2009.

  1. TopicStarter Overlay
    mazza
    Offline

    mazza Опытный в 1С

    Регистрация:
    4 фев 2009
    Сообщения:
    138
    Симпатии:
    0
    Баллы:
    26
    Привет всем.
    Я в программировании 1С новичок. Вот пытаюсь выгрузить данные из таблиц Access в Справочники 1С Бухгалтерия предприятия 1.5 нашел обработку пример кода ниже. Такие реквизиты как Наименование, Код, Наименование Полное загружает нормально. Как загрузить реквизиты которые подчинены другим справочникам? Например Единицы измерения, Ставка НДС.


    Процедура Кнопка2(Кнопка) //ЗАГРУЗКА
    Если ЭлементыФормы.ПутьКФайлу.Значение = "" Тогда
    Предупреждение("Не выбрана база данных");
    Возврат;
    КонецЕсли;
    MBD = Новый COMОбъект("ADODB.CONNECTION");
    Попытка
    MBD.Open("Driver={Microsoft Access Driver (*.mdb)};Dbq="+ЭлементыФормы.ПутьКФайлу.Значение+";Uid=Admin;Pwd=");
    Исключение Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;
    ТекстСелект = "SELECT * FROM Товары";
    НаборЗаписей = Новый COMОбъект("ADODB.RecordSet");
    Попытка
    НаборЗаписей=MBD.Execute(ТекстСелект);
    Исключение Сообщить(ОписаниеОшибки());
    КонецПопытки;
    Попытка НаборЗаписей.MoveFirst();
    Исключение //табилца пустая
    Сообщить(ОписаниеОшибки());
    НаборЗаписей.Close();
    Возврат;
    КонецПопытки;
    Пока НаборЗаписей.EOF()=0 Цикл
    Наименование = Строка(НаборЗаписей.Fields("Наименование").Value);
    Единица = Строка(НаборЗаписей.Fields(7).Value);
    КодТовара = Строка(НаборЗаписей.Fields("КодТовара").Value);



    НаборЗаписей.MoveNext();
    Код = КодТовара;
    Договор = Справочники.Номенклатура.ПустаяСсылка();

    ТоварСсылка = Справочники.Номенклатура.НайтиПоКоду(Код);

    Если ТоварСсылка.Пустая() Тогда
    // элемент не нашли - создаем его
    Товар = Справочники.Номенклатура.СоздатьЭлемент();
    Иначе
    // получим существующий
    Товар = Справочники.Номенклатура.НайтиПоКоду(Код).ПолучитьОбъект();
    КонецЕсли;
    // заполнение реквизитов




    Товар.Наименование = Наименование;
    Товар.Код = КодТовара;
    Товар.НаименованиеПолное = наименование;
    Товар.БазоваяЕдиницаИзмерения = Единица;


    Товар.Записать();

    КонецЦикла;
    Сообщить("ТОВАРЫ ЗАГРУЖЕНЫ");
    КонецПроцедуры
  2. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Смотри их типы и подставляй
    Код:
    Товар.СтавкаНДС = Перечисления.СтавкиНДС...
    
    Поищи по форуму работу с Excel там много примеров создания номенклатуры
  3. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Все элементы, которые используются.. надо создавать заново.. кроме конечно ставки и базовой единицы..
    Ставка "Перечисления.СтавкиНДС
    Единица = Справочнки.ЕдиницыИзмерения
    с владельцем по твоей созданной номенклатуре...

    напиши конкретнов чем и с каким реквизитом проблема..


    есть вариант 2 ..
    можешь из Базы выгрузить в excell а потом из него в 1С (куча обработок по загрузке в инетте)

Поделиться этой страницей