27.03.2016

1с 8 Выгрузка в dbf

Чтобы написать выгрузку в dbf-формат нам потребуется объект XBase. А также придется заранее определить типы колонок нашей будущей таблицы.
Итак, ниже листинг определения полей таблицы дбф.
лИмяФайла = "C:\1.dbf";
дбф = Новый XBASE;
дбф.Кодировка = КодировкаXBase.ANSI;
дбф.поля.Добавить("Merch_ID","N",11);
дбф.поля.Добавить("Merch_Name","S",200);
дбф.поля.Добавить("Date","D");
дбф.поля.Добавить("Ol_Code","S",25);
дбф.поля.Добавить("Vat","N",5,2);дбф.поля.Добавить("Sum","N",15,2);
дбф.СоздатьФайл(лИмяФайла); 
Потому что, чтобы начать заполнять дбф-файл его вначале нужно создать. И, конечно, тут есть нюанс. Не знаю кто конкретно повинен в этом, но название файла-дбф не должно превышать 8 символов. Если символов будет больше, 1с выдаст ошибку создания файла. Вроде бы что такого, но это очень огорчает, когда создаешь таблицу в сетевой папке с длинными названиями серверов.
N,D и S - это описание типов числовой, дата и строковый, соответственно. Расписывать не буду, лучше посмотреть в синтаксис-помощнике(Ctrl+F1).
Теперь, когда файл создан, его можно открыть и начать заполнять: 
дбф.ОткрытьФайл(лИмяФайла);  
дбф.Добавить();  
дбф.Merch_ID = "01";  
дбф.Merch_Name = "Пупышкин Василий";  
дбф.Date = ТекущаяДата();  
дбф.Ol_Code = "01";  
дбф.Vat = 18.0;
дбф.Sum = 158.82;  
дбф.Записать();
дбф.ЗакрытьФайл();
Вот и все, теперь на диске C у нас будет лежать дбф-файл, с одной строкой.

Комментариев нет:

Отправить комментарий