При желании можно указать режим автоматического сохранения изменений в файле (1 - Автосохранение включено, 0 отключено. По умолчанию 0)
ДБ.АвтоСохранение(1);
Создать структуру дбф-файла: описать названия, типы, длину и точность полей
ДБ.ДобавитьПоле("sagr","S",10,0); //строка, длина 10
ДБ.ДобавитьПоле("nagr","N",7,0); //число, длина 7, точность 0
ДБ.ДобавитьПоле("sum","N",5,2); //число, длина 5, точность 2 максимальное значение 99,99
ДБ.ДобавитьПоле("D_open","D",8,0); //дата
Запомнить: если тип данных число с запятой - то длина ставится максимальная, т.е. она включает значение как до так и после запятой, а также и саму запятую. Если есть поиска в этом созданном файле - тогда нужно добавить индексный файл
ДБ.ДобавитьИндекс("NAME","sagr",1,0,);
Название индекса - "NAME", поле по которому будет выполняться поиск "sagr". Если нужно будет искать по нескольким полям - значит добавить их все тут. Затем создаем файл
ДБ.СоздатьФайл(Путь+"\InsFile.dbf",Путь+"\InsFile.cdx"); // сам дбф и индексный файлы
или
ДБ.СоздатьФайл("c:\temp\InsFile.dbf"); // только дбф без индексов
Затем добавляется новая строка, которая и заполняется данными:
После заполнения файл нужно записать. Если планируете использовать поиск внутри файла - его нужно записывать после добавления каждой новой строчки, или до начала заполнения файла указать режим автосохранения.
ДБ.Записать();
Для поиска по записям файла сначала нужно указать индекс, по которому будет осуществляться поиск.
ДБ.ТекущийИндекс("NAME");
ДБ.Переиндексировать(); // можно не индексировать, если файл сейчас создается и с ним кроме нас никто не работает
Если ДБ.Найти(СокрЛП(Док1.НомерДок),0)=0 Тогда
//не нашли такую запись в файле, добавим новую
ДБ.Добавить();
ДБ.sagr=Док1.НомерДок;
ДБ.nagr=Число(Док1.НомерДоговора);
ДБ.D_open=Док1.ДатаДок;
ДБ.sum=Док1.СуммаСНДС;
ДБ.Записать();
КонецЕсли;
Чтение данных из DBF-файла
Для этого нужно знать структуру файла и описание полей, т.е. как называется поле, тип данных (число/строка), длина и для числового типа данных еще и точность.
Сам код будет выглядеть примерно так:
ДБ=СоздатьОбъект("XBase");
ДБ.ОткрытьФайл(Путь);
Если ДБ.Открыта()=0 Тогда Сообщить(ДБ.КодОшибки()); Возврат; КонецЕсли;
ДБ.КодоваяСтраница(0);
ДатаДок=ДБ.DATE;
Для Ном=1 по ДБ.КоличествоЗаписей() Цикл
СодержИзБД=СокрЛП(ДБ.COMMENT);
НомерДокумента=СокрЛП(ДБ.DOC_NO);
ДБ.Следующая();
КонецЦикла;
ДБ.ЗакрытьФайл();