8.х ОБМЕН Перенос данных из файлов dbf в 1С Бухгалтерию 8 и Камин

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Дмитрий Инвес, 1 апр 2012.

  1. TopicStarter Overlay
    Дмитрий Инвес
    Offline

    Дмитрий Инвес

    Регистрация:
    1 апр 2012
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Нужно перенести данные по сотрудникам из файлов формата *.dbf в 1С: Бухгалтерия 8.2 (ред. 2.0) и Камин (ред 3.0). Вариант обработки есть, но он работает лишь наполовину. Выборку данных из файлов *.dbf обработка делает, а загрузку в 1С - нет. Подскажите, что не так в написании кода?


    Код:
    Процедура КнопкаВыполнитьНажатие(Элемент)
    БД = Новый XBase;
    БД.ОткрытьФайл("C://DFF9`1/82FD`1/cardspri.dbf");
    //БД.Кодировка = КодировкаXBase.OEM;
    Пока БД.Следующая()Цикл
    стр = Таблица.Добавить();
    стр.TNUM	  = СокрЛП(БД.TNUM);
    стр.STNUM	 = СокрЛП(БД.STNUM);
    стр.FAM	   = СокрЛП(БД.FAM);
    стр.NAME	  = СокрЛП(БД.NAME);
    стр.PATR	  = СокрЛП(БД.PATR);
    стр.PASSPNUM  = СокрЛП(БД.PASSPNUM);
    стр.PASSPWERE = СокрЛП(БД.PASSPWERE);
    стр.INDEX	 = СокрЛП(БД.INDEX);
    стр.ADDRESS   = СокрЛП(БД.ADDRESS);
    КонецЦикла;
    БД1 = Новый XBase;
    БД1.ОткрытьФайл("C://DFF9`1/82FD`1/cardssec.dbf");
    Пока БД1.Следующая()Цикл
    стр = Таблица.Найти(СокрЛП(БД1.TNUM));
    стр.SNUM	   = СокрЛП(БД1.SNUM);
    стр.INN	    = СокрЛП(БД1.INN);
    стр.BIRTHDATE  = СокрЛП(БД1.BIRTHDATE);
    стр.BIRTHPLACE = СокрЛП(БД1.BIRTHPLACE);
    КонецЦикла;
    БД.ЗакрытьФайл();
    БД1.ЗакрытьФайл();
    КонецПроцедуры
    Процедура КнопкаВыполнитьНажатие1 (Элемент)
    Для Каждого Т Из Таблица Цикл
    ФЗЛ = Справочники.ФизическиеЛица.СоздатьЭлемент();
    ФЗЛ.Наименование = Т.FAM+" "+ Т.NAME+" "+Т.PATR;
    ФЗЛ.ДатаРождения = Дата(Т.BIRTHDATE);
    ФЗЛ.ИНН = Т.INN;
    ФЗЛ.СтраховойНомерПФР = Т.SNUM;
    ФЗЛ.Записать();
    
    Регистр = РегистрыСведений.ПаспортныеДанныеФизЛиц.СоздатьМенеджерЗаписи();
    Регистр.ДокументСерия = Лев(Т.PASSPNUM,1);
    Регистр.ДокументНомер = Прав(Т.PASSPNUM,2);
    Регистр.ДокументКемВыдан = СокрЛП(Т.PASSPWERE);
    Регистр.ДокументДатаВыдачи = Дата(Т.PASSPDATE);
    Регистр.ДокументВид = Справочники.ДокументыУдостоверяющиеЛичность.НайтиПоНаименованию("Паспорт гражданина Российской Федерации").Ссылка;
    Регистр.ФизЛицо = ФЗЛ.Ссылка;
    Регистр.Записать();
    
    Регистр1 = РегистрыСведений.КонтактнаяИнформация.СоздатьМенеджерЗаписи();
    Регистр1.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес;
    Регистр1.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресФизЛица;
    Регистр1.Представление = Т.INDEX + " "+Т.ADDRESS;
    Регистр1.Объект = ФЗЛ.Ссылка;
    Регистр1.Записать();
    ФЗЛ.Записать();
    Сообщить("Физлицо " + ФЗЛ.Наименование + " удачно создан!!!");
    КонецЦикла;
    КонецПроцедуры
  2. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    А Таблица как то обявлена? в ней что-то есть во второй процедуре?
  3. TopicStarter Overlay
    Дмитрий Инвес
    Offline

    Дмитрий Инвес

    Регистрация:
    1 апр 2012
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Не очень понимаю, что значит объявлена. Слово "Таблица" упоминается только в самом начале второй процедуры. Больше упоминаний нет.
    Могу только добавить: при выполнении обработки происходит выборка данных ,а при нажатии кнопки "записать" данные записываются в поля этой же обработки. Т.е., идет дублирование информации. Было 2 тыс. записей, а стало 4 тыс.Т.е., в справочник 1С они не попадают. Вот так.
  4. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    в первой процедуре вы заполняете некую Таблицу, во второй процедуре из нее пытаетесь прочитать. Вопрос - что есть Таблица и как она обявлена? Есть ли между ними связь. Отладчиком пройдитесь посмотрите что в ней.
  5. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Пригласите специалиста или перенесите тему в раздел "Работа"

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