Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

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

Работа с DBF в 1С 8.3 и 8.2 может быть полезна во многих случаях. Типичные примеры — обмен данными с другими учетными системами, загрузка классификаторов КЛАДР и так далее. DBF — формат хранения файлов баз данных, очень распространенный в России и мире.

Система 1С без проблем умеет работать с такими файлами с помощью встроенное объекта системы XBase. Рассмотрим пример чтения и записи в файл dbf.

dbf файл

Чтение в 1С из файла DBF

Рассмотрим учебный пример, в котором необходимо заполнить нужный массив из колонки файла dbf. Сам файл расположен по адресу «C:\KLADR.DBF».

ПутьКФайлу = "C:\KLADR.DBF";

ФайлDBF = Новый XBase; // создаем новый объект
ФайлDBF.ОткрытьФайл(ПутьКФайлу,,Истина); // открытие файла
ФайлDBF.Первая(); // устанавливает курсор на первую запись

МассивАдресов = Новый Массив;
// цикл обрабатывается до тех пор, пока не дошел до последней записи
Пока НЕ ФайлDBF.ВКонце() Цикл
МассивАдресов.Добавить(ФайлDBF.ADRES);
ФайлDBF.Следующая(); //передвигаем курсор далее
КонецЦикла;

//обязательно закрываем файл, после прекращения работыФайл

DBF.ЗакрытьФайл();

Получите 267 видеоуроков по 1С бесплатно:

Создание файла

Для создания нового файла DBF в 1C 8.2 или 8.3 следует воспользоватся следующим синтаксисом:

НовыйФайл = Новый XBase;
//существует два вида кодировки ANSI (win) и OEM (dos)
НовыйФайл.Кодировка = КодировкаXBase.ANSI;
//описываем колонки:
НовыйФайл.Поля.Добавить("ADRES","S",100);
НовыйФайл.Поля.Добавить("DOM","N",10) ;

Путь = "C:\KLADR.DBF";
НовыйФайл.СоздатьФайл(Путь);
НовыйФайл.Записать();

Запись в DBF

Запись происходить так же не сложно как и другие операции. Запишем некоторые значения из массива в ранее созданный файл:

Для Каждого Адрес из МассивАдресов Цикл
НовыйФайл.Добавить();
НовыйФайл.ADRES = Адрес;
НовыйФайл.Записать();
КонецЦикла;
НовыйФайл.ЗакрытьФайл();

Вот и всё, как видите в работе с  такими файлами баз данных из 1С никаких трудностей не имеется.

Другие статьи по 1С программированию.

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

Задайте ВОПРОС на нашем форуме 1С! ››

СПРОСИТЕ в комментариях!

Комментариев: 5 на “Работа с файлами DBF в 1С 8.3 и 8.2
  1. Проигнорируйте, если неправ, но в данной конструкции везде надо использовать переменную, которая хранит объект ДБФ при создании
    т.е. правильно так будет:
    Пока НЕ ФайлDBF.ВКонце() Цикл
    МассивАдресов.Добавить(ФайлDBF.ADRES);
    ФайлDBF.Следующая(); //передвигаем курсор далее
    КонецЦикла;

    //обязательно закрываем файл, после прекращения работыФайл
    ФайлDBF.ЗакрытьФайл();

    Ответить

    • Да, вы правы, это опечатка. Спасибо большое! 🙂

      Правильно конечно же: ФайлDBF.Следующая()

      А не Файл.Следующая()

      Ответить

  2. Часто беру информацию с вашего сайта. Спасибо. Понадобилась работа с дбф. Добавлю, что в цикле надо записывать изменения с помощью команды ФайлDBF.Записать(); а не только в конце, после цикла. Иначе будет в файле будет сохранена только последняя строка.

    Ответить

    • Не знаю, без Записать() нормально всё заполняет

      Ответить

  3. трудности есть. например, добавить колонку в уже имеющийся dbf. Приходится создавать новый файл и копировать в него все данные. Не очень удобно, если размеры dbf внушительны.

    Ответить

Добавить комментарий:

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*