Поделитесь в соцсетях

Выгрузка и загрузка данных через DBF

Содержание[Убрать]

Выгрузка и загрузка данных через 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 символа.

Недостаточно прав для комментирования