Книга знаний

1С:Предприятие / v8

v8: Сохранение таблизы значений в ДБФ

Автор статьи:
Последняя редакция №1 от 19.04.06
URL: http://kb.mista.ru/article.php?id=161

Ключевые слова: Таблица значений, dbf, дбф, сохранить


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

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика