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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!