Иногда неиоходимо выгрузить или загрузить данные во внешние файлы, например в DBF.
Ниже приведены примеры кода как это сделать в 1С 7.7 и 1С 8.х.
//Создаем объект
База = СоздатьОбъект(«XBASE»);
//Указываем кодировку файла 1- DOS, 0 – Windows
База.КодоваяСтраница(1);
//Добавляем поля в DBF файл
База.ДобавитьПоле("TOVAR","C",10,);
База.ДобавитьПоле("KOLICH","N",14,3);
База.ДобавитьПоле("COST","N",15,2);
База.ДобавитьПоле("SUMMA","N",15,2);
//Создаем новый файл C:\primer.dbf
База.СоздатьФайл("C:\primer.dbf");
//Очищаем файл от записей, если они там есть
База.ОчиститьФайл();
//Будем выгружать данные из документа
Док.ВыбратьСтроки();
Пока Док.ПолучитьСтроку()= 1 Цикл
//Добавляем новую запись в DBF
База.Добавить();
База.УстановитьЗначениеПоля("TOVAR",Док.Номенклатура.Код);
База.УстановитьЗначениеПоля("KOLICH",Док.Количество);
База.УстановитьЗначениеПоля("COST",Док.Цена);
База.УстановитьЗначениеПоля("SUMMA",Док.Сумма);
//Записываем файл DBF
База.Записать();
КонецЦикла;
База = СоздатьОбъект("XBASE");
База.ОткрытьФайл("C:\primer.dbf");
// Переходим на первую запись
База.Первая();
// Цикл от первой до последней записи
Для й = 1 По База.КоличествоЗаписей() Цикл
//Заполним такблицу значений
Таб.НоваяСтрока();
Таб.Номенклатура = База.ПолучитьЗначениеПоля("TOVAR");
Таб.Количество = База.ПолучитьЗначениеПоля("KOLICH");
Таб.Цена = База.ПолучитьЗначениеПоля("COST");
Таб.Сумма = База.ПолучитьЗначениеПоля("SUMMA");
//Переходим на следующую запись
База.Следующая();
КонецЦикла;
База = Новый XBase;
//Указываем кодировку
База.Кодировка = КодировкаXBase.OEM;
//Добавляем поля в DBF файл
База.Поля.Добавить("KOD","S",11);
База.Поля.Добавить("NOM","S",50) ;
Путь = "C:\PRIMER.DBF";
База.СоздатьФайл(Путь);
База.Записать();
//Очищаем файл
База.ОчиститьФайл();
Для Каждого Стр из Т Цикл
База.Добавить();
База.KOD = Стр.Код;
База.NOM = Стр.Наименование;
База.Записать();КонецЦикла;
База.Записать();
База.ЗакрытьФайл();
Путь = КаталогИБ() + "SERT.DBF";
База= Новый XBase;
//Открываем файл для чтения
База.ОткрытьФайл(Путь,,Истина);
Макет = ПолучитьМакет("Номеклатура");
База.Первая();
//Цикл по записям DBF файла
Пока НЕ Файл.ВКонце() Цикл
Код = СокрЛП(База.KOD);
Наименование = СокрЛП(База.NOM);
База.Следующая();КонецЦикла;
База.ЗакрытьФайл();