Выгрузка и загрузка данных через DBF
Работа с dbf в 1С
Работа с дбф файлом похожа на работу с Таблицей значений. Для работы используется объект XBase который и позволяет изменять файлы dbf. Сейчас конечно этот формат используется реже, но всё же встречается, например при обменен с 1С 7.7. Сразу предупрежу, что могут возникнуть проблемы с чтением файла длина имени которого больше 8 символов. Итак, давайте посмотрим как работать с файлами ДБФ.
Выгрузка в DBF
ДБФ = Новый XBase;
ДБФ.Поля.Добавить("CODE","S",11); // Код - тип СТРОКА
ДБФ.Поля.Добавить("NAME","S",100); // Наименование - тип СТРОКА
ДБФ.Поля.Добавить("SERVICE","L",1); // Услуга - тип Булево
ДБФ.Поля.Добавить("PRICE","N",15,2); // Цена - тип Число(длина 15, точность 2)
ДБФ.СоздатьФайл("C:\obmen.dbf");
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
ДБФ.Добавить();
ДБФ.CODE = Выборка.Код;
ДБФ.NAME = Выборка.Наименование;
ДБФ.SERVICE = Выборка.Услуга;
ДБФ.PRICE = Выборка.Цена;
КонецЦикла;
ДБФ.ЗакрытьФайл();
Загрузка из DBF
ДБФ = Новый XBase;
ДБФ.ОткрытьФайл("C:\obmen.dbf");
Пока ДБФ.Следующая() Цикл
НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
НоваяНоменклатура.Код = ДБФ.CODE;
НоваяНоменклатура.Наименование = ДБФ.NAME;
НоваяНоменклатура.Услуга = ДБФ.SERVICE;
НоваяНоменклатура.Цена = ДБФ.PRICE;
НоваяНоменклатура.Записать();
КонецЦикла;
ДБФ.ЗакрытьФайл();
Также отмечу, что есть ограничения на длину символов записываемых в поле, например для строкового типа она равна 254 символа.