Одним из самых распространенных форматов баз данных до сих пор остается формат DBF. И неумение работать с ним из 1С – серьезное ограничение профессиональных навыков для любого специалиста. Тем более изучение теории и практика по этому вопросу потребует совсем немного времени. К тому же работа с DBF файлом никаких дополнительных библиотек не требует – все инструменты встроены в платформу 1С 8.3.
Чтение, создание DBF и запись в данный формат
Вся работа с DBF в 1С происходит с помощью специального объекта – xBase. Рассмотрим основные действия с файлами, начав с чтения из конкретного DBF. В первую очередь необходимо расположить файл базы данных в каталоге, куда есть доступ у пользователя. Код для считывания данных в 1С достаточно прост:
- Указываем путь к базе в формате DBF;
ПутьКФайлу = "D:\Nom.DBF";
- Создаем объект для взаимодействия с файлом, открываем его и устанавливаем указатель на первую строку с данными;
ФайлDBF = Новый XBase; ФайлDBF.ОткрытьФайл(ПутьКФайлу,,Истина);
- В цикле обходим всю базу и производим действия с элементами. В данном случае просто отражаем их на экране пользователя;
Пока НЕ ФайлDBF.ВКонце() Цикл Сообщить("" + ФайлDBF.NAIM +" - "+ФайлDBF.ARTI); ФайлDBF.Следующая(); КонецЦикла;
- Закрываем файл.
ФайлDBF.ЗакрытьФайл();
Вторая часто встречающаяся задача по взаимодействию с объектом – выгрузка DBF из 1С 8.3. Здесь намного легче создать конечный файл нужного формата программно, чем использовать дополнительно программное обеспечение. Этот алгоритм в 1С тоже достаточно прост и состоит из нескольких строк кода:
- Создаем объект XBase;
НовыйФайл = Новый XBase;
- Определяем кодировку нового файла. Существует кодировка для Windows – ANSI и OEM предназначенная для DOS;
НовыйФайл.Кодировка = КодировкаXBase.ANSI;
- Необходимо описать все колонки будущего файла DBF, указав их тип;
НовыйФайл.Поля.Добавить("Naim","S",100); НовыйФайл.Поля.Добавить("KOD","N",10);
- Укажем каталог, в котором будет происходить создание DBF и запишем итоговый файл.
Путь = "D:\Clients.DBF"; НовыйФайл.СоздатьФайл(Путь); НовыйФайл.Записать();
После того как мы создали файл нужного формата, потребуется выгрузка в DBF данных. Программируя этот процесс, помните о том, что данные ИБ находятся на сервере. Чтобы записать имеющиеся данные из 1С необходимо к предыдущему коду добавить следующий алгоритм:
- Получаем информацию из справочника;
Контрагенты = Справочники.Контрагенты.Выбрать();
- В цикле последовательно добавляем по 1строчке и записываем;
Пока Контрагенты.Следующий() Цикл НовыйФайл.Добавить(); НовыйФайл. Naim = Контрагенты.Наименование; НовыйФайл. KOD = Контрагенты.Код; НовыйФайл.Записать(); КонецЦикла;
- Закрываем файл и проверяем, что запись прошла удачно.
НовыйФайл.ЗакрытьФайл();
Это основы работы с данным форматом. Существуют и другие способы открыть из 1С DBF, но xBase остается самым простым по синтаксису и пониманию. Поняв, как осуществляется простейшая выгрузка и загрузка из DBF, можно приступать к более сложным элементам, например, использованию индексов для поиска, удалению или изменению конкретных записей в DBF, а также применению технологии ADO.
консультация эксперта
самые свежие новости 1 раз в месяц