Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang2.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
2.52 Mб
Скачать

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

Удаление записи из базы данных не приводит к физическому уничтожению ее на диске. В этом случае в специальном служебном поле записи, не доступном обычными средствами, ставится пометка об удалении. На записи, помеченные удаленными, позиционирования не происходит, если не включен специальный режим просмотра удаленннх записей. Имеется набор методов для включе­ния/выключения специального режима просмотра, а также определения, явля­ется ли спозиционированная запись удаленной, и восстановления удаленной записи.

Метод сжатия базы вызывает физическое уничтожение записей, помечен­ных как удаленные. Метод очистки базы вызывает физическое уничтожение всех записей. После применения этих методов восстановление удаленных запи­сей становится невозможным.

Создание базы данных, индекса, индексного файла

Помимо работы с существующими базами данных, агрегатный тип XBase имеет набор методов, позволяющих создать новую базу данных произвольной структуры, новые индексы и новый индексный файл. Следует отметить, что, если использование методов, изменяющих структуру БД, возможно только для объектов, не связанных с базой данных (т. е. для вновь создаваемых БД), то создание новых индексов и индексного файла возможно как для создаваемых БД, так и для уже существующих и открытых.

Ограничения

Основное назначение объектов XBase — организация экспорта-импорта ин­формации в/из внешних файлов формата DBF. Использование методов Xbase для доступа непосредственно к данным информационной базы системы 1С:Предприятие не рекомендуется.

Объекты XBase не поддерживают поля типа memo (см. ДобавитьПоле).

Поддерживаемые объектом XBase фукции, которые можно использовать в выражениях и фильтрах индексов перечислены в разделе «Выражение и фильтр индекса».

Объекты XBase поддерживают только монопольный доступ к файлам. XBase-объекты поддерживают индексные файлы в формате CDX. Однако, использование внешними программами (например, FoxBase) индексных файлов, созданных с помощью объектов XBase, так же, как и использование объек­тами индексных файлов, созданных внешними программами, не рекомендуется из-за возможной несовместимости версий.

Контекст работы с xBase

Во всех программных модулях для работы с базами данных формата DBF следует использовать объекты типа XBase. Можно создать произвольное число объектов типа XBase при помощи функции СоздатьОбъект. Чтобы обратить­ся к атрибуту объекта или вызвать его метод, имя атрибута или метода (с ука­занием необходимых параметров) пишется через точку после имени объекта.

Русскоязычное написание ключевого слова XBase отсутствует.

Пример:

ДБФ = СоздатьОбъект("XBase");

ИмяФайла = "";

ИмяПути = "";

ФС.ВыбратьФайл(0, ИмяФайла, ИмяПути, , "*.*", , );

ПутьДБ = ИмяПути + ИмяФайла;

ДБФ.ОткрытьФайл(ПутьДБ);

Если ДБФ.Открыта() = 1 Тогда

Предупреждение("База открыта", 2);

ДБФ.Первая();

ФИО = ДБФ.FIO; // Подразумевается, что поле FIO имеется в открытой БД

Предупреждение("Первым в " + ПутьДБ + " упомянут т." + ФИО, 5);

Иначе

Предупреждение("НЕ смогли открыть Базу!", 2);

КонецЕсли;

Атрибуты объекта xBase

<Поле>

Предоставляет доступ к полю записи с именем «Поле». Имя поля должно совпадать с именем поля базы данных, с которой связан объ­ект.

Синтаксис:

<Поле>

Описание:

Атрибут <Поле> предоставляет доступ к полю записи с именем «Поле». В тексте программного модуля под термином <Поле> понимается имя конкрет­ного столбца файла базы данных, с которым связан объект.

Атрибут имеет смысл только если файл базы данных находится в открытом состоянии.

Состав атрибутов объекта может динамически изменяться в процессе ис­полнения 1С:Предприятия и определяется набором полей файла базы данных, с которым объект связан в данных момент времени.

Пример:

ФИО = ДБФ.FIO;

Ключ

Предоставляет доступ к агрегатному типу данных типа «Ключ».

Синтаксис:

Ключ

Англоязычный синоним:

Key

Описание:

Агрегатный тип данных типа «Ключ» имеет только атрибуты. Состав атри­бутов полностью повторяет атрибуты XBase-объекта за исключением того, что отсутствует атрибут «Ключ». Значения атрибутов используются XBase-объектом для вычисления выражения индекса при использовании метода НайтиПоКлючу.

Пример:

ДБФ.Ключ.FIO = ФИО;

ЗаписьНайдена = ДБФ.НайтиПоКлючу(0);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]