XBase (работа с DBF-файлами)



Система 1C:Предприятие 8.0 позволяет создавать, читать и записывать DBF-файлы. Возможности по работе с DBF-файлами мало изменились по сравнению с версией 7.7, но немного изменилась техника работы с полями и индексами: теперь они создаются через соответствующие свойства-коллекции.

 

Запись DBF-файла

Следующий фрагмент программы создает DBF-файл с тремя полями и выгружает в него справочник Сотрудники:

ФайлDBF = Новый XBase;

ФайлDBF.Поля.Добавить("Name","S",100);

ФайлDBF.Поля.Добавить("Dep","S",50);

ФайлDBF.Поля.Добавить("Sum","N",10,2);

ФайлDBF.Кодировка = КодировкаХВаsе.ОЕМ; //кодировка DOS

ФайлDBF.СоздатьФайл("с:\staff.dbf");

Сотрудники = Справочники.Сотрудники.Выбрать();

Пока Сотрудники.Следующий() Цикл

ФайлDBF.Добавить();

ФайлDBF.Name = Сотрудники.Наименование;

ФайлDBF.Dер = Сотрудники.Подразделение;

ФайлDBF.Sum = Сотрудники.Оклад;

ФайлDBF.Записать();

КонецЦикла;

ФайлDBF.ЗакрытьФайл();

Чтение DBF-файла

Чтение DBF-файла производится еще проще:

ФайлDBF = Новый XBase;

//только для чтения

ФайлDBF.ОткрытьФайл("с:\staff.dbf",,Истина);

ФайлDBF.Первая();

Пока НЕ ФайлDBF.ВКонце() Цикл

НовСотр = Справочники.Сотрудники.СоздатьЭлемент();

НовСотр.Наименование = ФайлDBF.Name;

НовСотр.Подразделение = ФайлDBF.Dер;

НовСотр.Оклад = ФайлDBF.Sum;

НовСотр.Записать();

ФайлDBF.Следующая();

КонецЦикла; ФайлDBF.ЗакрытьФайл();

Удаленные записи

Файлы DBF устроены таким образом, что удаление записи не приводит к физическому удалению записи из файла. Запись просто помечается на удаление и пропускается при переборе. Таким образом, размер файла остается прежним.

Чтобы физически удалить все помеченные на удаление записи, нужно применить метод Сжать. Средства встроенного языка позволяют работать с записями, помеченными на удаление, перебирать их и даже отменять пометку на удаление.

 

Индексы

Для упорядочивания содержимого DBF-файла и поиска в нем по значению одного или нескольких полей применяется механизм индексов. Его применение можно сравнить с сортировкой картотеки по определенному признаку (совокупности признаков). Однако, в отличие от картотеки, файл может иметь сразу несколько индексов, и, соответственно, являться упорядоченным одновременно по нескольким признакам.

Индексы хранятся в индексном файле, причем один индексный файл может содержать сразу несколько индексов. Рекомендуется для одного файла DBF иметь один индексный файл, в котором хранятся все индексы этого файла.

 

ХМL-документы

Система 1С:Предприятие 8.0 имеет средства для работы с XML-документами. Для их использования на компьютере должен быть установлен «Microsoft XML Core Services 4.0» или выше.

Стоит отметить, что в 1C:Предприятии 8.0 возможна работа с XML-документами большого объема, так как реализуется принцип последовательного чтения и записи XML-документов.

 

Запись XML

Следующий фрагмент создает простой XML-документ и записывает его в файл. Иерархический отступ конструкций языка показывает вложенность XML-элементов друг в друга:

Файл = Новый ЗаписьХМL;Файл.ОткрытьФайл(ПутьКФайлу);Файл.ЗаписатьОбъявлениеХМL();Файл.ЗаписатьНачалоЭлемента("goods");Файл.ЗаписатьНачалоЭлемента("good");Файл.ЗаписатьНачалоЭлемента("name");Файл.ЗаписатьТекст("Ботинки");Файл.ЗаписатьКонецЭлемента();Файл.ЗаписатьНачалоЭлемента("price");Файл.ЗаписатьТекст(ХМLСтрока(600));Файл.ЗаписатьКонецЭлемента();Файл.ЗаписатьКонецЭлемента();Файл.ЗаписатьНачалоЭлемента("good");Файл.ЗаписатьНачалоЭлемента("name");Файл.ЗаписатьТекст("Сапоги");Файл.ЗаписатьКонецЭлемента();Файл.ЗаписатьНачалоЭлемента("price");Файл.ЗаписатьТекст(ХМLСтрока(1000));Файл.ЗаписатьКонецЭлемента();Файл.ЗаписатьКонецЭлемента();Файл.ЗаписатьКонецЭлемента();

 

В результате работы программы получился следующий XML-документ:

<?xml version="1.0"?> <goods> <good> <name>Ботинки</name> <price>600</price> </good> <good> <name>Сапоги</name> <price>1000</price> </good> </goods>

Чтение XML

Чтение XML-документов производится через объект Чтение ХМL с помощью метода Прочитать:

Чт = Новый ЧтениеXML; Чт.ОткрытьФайл(ПутьКФайлу); Пока Чт.Прочитать() Цикл Рез = "ТипУзла=" + Чт.ТипУзла;Рез = Рез + " Имя='" + Чт.Имя;Рез = Рез + "' ЛокальноеИмя='" + Чт.ЛокальноеИмя;Рез = Рез + "' Префикс='" + Чт.Префикс;Рез = Рез + "' Значение'" + Чт.Значение;Рез = Рез + "' ";Сообщить(Рез);КонецЦикла

 

Дополнительно система 1С:Предприятие 8.0 поддерживает преобразование с помощью XSL. Язык XSL или eXtensible Stylesheet Language — это язык описания стилей отображения для XML-документов. Он позволяет описать способ отображения документов для различных носителей, будь то окно веб-обозревателя или устройство печати. Данные в формате XML форматируются с помощью таблицы стилей в формате XSL, в результате создается отображение данных в соответствии с заданными стилями.

Полный список объектов, их свойств и методов для работы с XML-документами приведен в документации.

 


Дата добавления: 2015-12-20; просмотров: 27; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!