При работе с файлами dbf, может возникать такая ошибка, если для генерации временного файла используется стандартная конструкция вида:
ПолучитьИмяВременногоФайла(".dbf")
И по слухам это не ошибка 1С, а особенность работы с файлами DBF — в самом формате файла не предусмотрен размер файла более 8 символов. Поэтому функцию «ПолучитьИмяВременногоФайла», можно заменить следующей конструкцией:
Таблица = Новый XBase;
Таблица.ОткрытьФайл(ИмяВременногоФайлаХар);
Таблица.Первая();
Пока Не Таблица.ВКонце() Цикл
Если Не Таблица.ЗаписьУдалена() Тогда
Сообщить(Таблица.ACCOUNT);
конецесли;
Таблица.Следующая();
конеццикла;
Таблица.ЗакрытьФайл();
Задача: создать силами платформы 1c файл в формате DBF (выгрузка в формате dbf)
Решение: собственно в 1С всё есть. Будем использовать метод XBase. При работе с DBF важно помнить, что это очень старый формат хранения данных, но тем не менее до сих пор используется для различного вида обменов. Его ограничениями являются:
длина имени файлов не более 8 символов, поэтому при генерации имени временного файла, не получится использовать функцию ПолучитьИмяВременногоФайла()
файл не должен быть больше 2ггб
имя колонки не может быть длиннее 10 символов
файл создается НЕ в кодировке UTF-8 (он в такую не умеет)
файл нужно сначала создать, потом закрыть, потом открыть и записать в него данные