Сохранение таблицы значений в ДБФ Ключевые слова: таблица значений, dbf, сохранить, выгрузить
Процедура СохранитьТЗвБДФ(ТЗ, Файл, Кодировка = Неопределено)
ДБФ = Новый XBase;
Если Кодировка = Неопределено Тогда
Кодировка = КодировкаXBase.OEM;
КонецЕсли;
ДБФ.Кодировка = Кодировка;
Для Каждого Колонка ИЗ ТЗ.Колонки Цикл
Если Колонка.ТипЗначения.СодержитТип(Тип("Строка")) Тогда
Тип = "S";
Длина = Колонка.ТипЗначения.КвалификаторыСтроки.Длина;
Если Длина = 0 Тогда
Длина = 100;
КонецЕсли;
Точность = 0;
ИначеЕсли Колонка.ТипЗначения.СодержитТип(Тип("Число")) Тогда
Тип = "N";
Длина = Колонка.ТипЗначения.КвалификаторыЧисла.Разрядность;
Точность =
Колонка.ТипЗначения.КвалификаторыЧисла.РазрядностьДробнойЧасти;
Если Длина = 0 Тогда
Длина = 15;
Точность = 3;
КонецЕсли;
ИначеЕсли Колонка.ТипЗначения.СодержитТип(Тип("Дата")) Тогда
Тип = "D";
Длина = 0;
Точность = 0;
ИначеЕсли Колонка.ТипЗначения.СодержитТип(Тип("Булево")) Тогда
Тип = "L";
Длина = 0;
Точность = 0;
Иначе
Тип = "S";
Длина = 100;
Точность = 0;
КонецЕсли;
ДБФ.поля.Добавить(Колонка.Имя, Тип, Длина, Точность);
КонецЦикла;
ДБФ.СоздатьФайл(Файл);
Для Каждого Стр ИЗ ТЗ Цикл
ДБФ.Добавить();
ЗаполнитьЗначенияСвойств(ДБФ, Стр);
ДБФ.Записать();
КонецЦикла;
КонецПроцедуры
|