Работа с файлами DBF в 1С 8.3, создание, выгрузка
Меню

Работа с файлами DBF в 1С 8.3

Одним из самых распространенных форматов баз данных до сих пор остается формат DBF. И неумение работать с ним из 1С – серьезное ограничение профессиональных навыков для любого специалиста. Тем более изучение теории и практика по этому вопросу потребует совсем немного времени. К тому же работа с DBF файлом никаких дополнительных библиотек не требует – все инструменты встроены в платформу 1С 8.3.

Чтение, создание DBF и запись в данный формат

Вся работа с DBF в 1С происходит с помощью специального объекта – xBase. Рассмотрим основные действия с файлами, начав с чтения из конкретного DBF. В первую очередь необходимо расположить файл базы данных в каталоге, куда есть доступ у пользователя. Код для считывания данных в 1С достаточно прост:

  1. Указываем путь к базе в формате DBF;
    
    ПутьКФайлу = "D:\Nom.DBF";
    
  2. Создаем объект для взаимодействия с файлом, открываем его и устанавливаем указатель на первую строку с данными;
    
    ФайлDBF = Новый XBase;
    ФайлDBF.ОткрытьФайл(ПутьКФайлу,,Истина);
    
  3. В цикле обходим всю базу и производим действия с элементами. В данном случае просто отражаем их на экране пользователя;
    
    Пока НЕ ФайлDBF.ВКонце() Цикл
    Сообщить("" + ФайлDBF.NAIM +" - "+ФайлDBF.ARTI);
    ФайлDBF.Следующая();
    КонецЦикла;
    
  4. Закрываем файл.
    
    ФайлDBF.ЗакрытьФайл();
    

Вторая часто встречающаяся задача по взаимодействию с объектом – выгрузка DBF из 1С 8.3. Здесь намного легче создать конечный файл нужного формата программно, чем использовать дополнительно программное обеспечение. Этот алгоритм в 1С тоже достаточно прост и состоит из нескольких строк кода:

  1. Создаем объект XBase;
    
    НовыйФайл = Новый XBase;
    
  2. Определяем кодировку нового файла. Существует кодировка для Windows – ANSI и OEM предназначенная для DOS;
    
    НовыйФайл.Кодировка = КодировкаXBase.ANSI;
    
  3. Необходимо описать все колонки будущего файла DBF, указав их тип;
    
    НовыйФайл.Поля.Добавить("Naim","S",100);
    НовыйФайл.Поля.Добавить("KOD","N",10);
    
  4. Укажем каталог, в котором будет происходить создание DBF и запишем итоговый файл.
    
    Путь = "D:\Clients.DBF";
    НовыйФайл.СоздатьФайл(Путь);
    НовыйФайл.Записать();
    

Расположение файлов DBF
Расположение файлов DBF

После того как мы создали файл нужного формата, потребуется выгрузка в DBF данных. Программируя этот процесс, помните о том, что данные ИБ находятся на сервере. Чтобы записать имеющиеся данные из 1С необходимо к предыдущему коду добавить следующий алгоритм:

  1. Получаем информацию из справочника;
    
    Контрагенты = Справочники.Контрагенты.Выбрать();
    
  2. В цикле последовательно добавляем по 1строчке и записываем;
    
    Пока Контрагенты.Следующий() Цикл
    НовыйФайл.Добавить();
    НовыйФайл. Naim = Контрагенты.Наименование;
    НовыйФайл. KOD = Контрагенты.Код;
    НовыйФайл.Записать();
    КонецЦикла;
    
  3. Закрываем файл и проверяем, что запись прошла удачно.
    
    НовыйФайл.ЗакрытьФайл();
    

Это основы работы с данным форматом. Существуют и другие способы открыть из 1С DBF, но xBase остается самым простым по синтаксису и пониманию. Поняв, как осуществляется простейшая выгрузка и загрузка из DBF, можно приступать к более сложным элементам, например, использованию индексов для поиска, удалению или изменению конкретных записей в DBF, а также применению технологии ADO.

Рассказать друзьям
Предыдущая статья статья
Выпуск продукции в 1С 8.3 Бухгалтерии
Следующая статья статья
1С:Управление торговлей 8 версия 11.5: обзор возможностей
Комментарии