Эта обработка создана для демонстрации возможности использования DBF файлов без привязки к их структуре и возможности использования из нескольких различных баз 1С (например, реквизиты контрагентов, которые одинаковые для всех баз), как дополнительное хранилище данных, в том числе резервное.
При обмене 1С и DBF используются структуры 1С. Dbf-файлы имеют одинаковый набор полей: KEYNAME(50); KEYDATE(6); FRAGMENTS(100), создаются автоматически при первой записи. Поля KEYNAME и KEYDATE используются для прямого доступа, поля FRAGMENTS используются для хранения данных из структур в виде текста. В текст через разделитель записывается имя реквизита, тип реквизита, текстовое выражение значения реквизита. Разделителем полей принят символ "¦" (его нельзя использовать в значениях полей). Признаком конца структуры принят символ "$". При записи задается уникальный ключ до 50 символов, от регистра клавиатуры не зависит. Поля в структурах могут иметь тип строка, дата, булево, число, ссылки на перечисления, справочники, документы. Размер строковых полей ограничен свойствами 1С. При чтении создается структура, аналогичная структуре при записи. Чтение возможно по одной записи по ключу, или последовательно. При последовательном чтении можно указать общую часть левых символов ключей, ограничив тем самым выборку, прочитанные структуры упорядочены по ключу. При невозможности выполнить операцию, выходной структуре присваивается значение "Неопределено".
Для использования предлагаемого механизма, достаточно включить в Вашу разработку модули из формы этой обработки: "ЗаписатьВDBFЭлементНаСервере()"; "ПрочитатьИзDbfЭлементПоКлючуНаСервере()"; "ЭлементИзDbfПоследовательноНаСервере()"; "УдалитьИзDbfЭлементПоКлючуНаСервере()". Образец использования этих модулей смотрите в обработчиках кнопок и вспомогательных процедурах. В обработку включен пример записи в dbf-файл копий объектов (справочники и документы) и чтение из Dbf-файлов копий объектов справочников и документов с сохранением в ИБ.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.3.374