QlikView Qlik Sense

Как просмотреть структуру базы данных 1С Предприятие 1Cv8.1CD

В этой статье будет накапливаться экспертиза по работе с файловой базой данных системы 1С Предприятие 8.
Первое на что я наткнулся – это утилита “Tool 1CD.exe”. Ниже будет приведена ссылка на скачивание.
Команда для массового экспорта таблиц из файла 1Cv8.1CD в XML:

Программа “Tool_1CD” для распаковки базы данных 1С Предприятие 8 из 1Cv8.1CD в XML (Заархивировано сначала в RAR, потом в zip): Tool_1CD.zip.

Проверял на вирусы на касперском, вроде не было. Но в любом случае Вы используете этот файл на свой страх и риск. Всегда лучше работайте в “песочнице” или на скопированном файле, который не жалко потерять. Скачивая этот файл Вы соглашаетесь с тем, что Вы снимаете ответственность с владельца этого сайта. Вся ответственность за использование этого файла лежит на Вас.
НА БОЕВОЙ СРЕДЕ НИКОГДА НЕ ТЕСТИРУЙТЕ РАБОТУ ПОСТОРОННИХ УТИЛИТ!!!!!!!!

Интерфейс программы “Tool 1CD”

Интерфейс программы Tool_1CD.exe

Структура файла базы данных 1CD

Техническое описание внутреннего устройства опубликовано мной в статье Краткое описание формата файлов *.1CD (файловых баз 1Сv8). Однако она достаточно сумбурна, плоха для восприятия, поэтому здесь я попытаюсь описать формат немного более популярно. Чтобы не было путаницы с термином «файл», сразу замечу, что когда я буду иметь в виду файл базы *.1CD, я буду говорить «файл базы», когда же я буду говорить про внутренние файлы, содержащиеся внутри базы, я буду употреблять просто термин «файл».

Страницы

На самом нижнем уровне файл базы данных 1CD состоит из страниц размером 4 килобайт (0x1000).

По сути, весь файл базы состоит из массива четырехкилобайтных страниц. Каждая страница имеет свой номер (индекс). Здесь и далее каждый прямоугольник с красной рамкой обозначает одну страницу.

Файлы

На более высоком уровне находятся файлы. Файл состоит из одной или более страниц. У каждого файла есть ровно одна заголовочная страница, в которой размещается массив номеров страниц размещения. В каждой странице размещения, в свою очередь, находится массив номеров страниц данных. Заголовочная страница и страницы размещения – это служебные страницы, которые нужны только для хранения служебных данных (сигнатура, длина файла, версия) и для нахождения страниц данных. Собственно содержимое файла хранится в страницах данных.

Структура таблиц

Каждая таблица состоит из нескольких файлов:

  • файла описания таблицы DESCR;
  • файла записей DATA;
  • файла индексов INDEX;
  • файла данных неограниченной длины BLOB.

Файл описания таблицы DESCR содержит текстовое описание таблицы – имя таблицы, состав полей и индексов. А также файл DESCR содержит номера файлов DATA, INDEX и BLOB. Таблица адресуется с помощью файла описания таблицы. Структуру файлов таблиц мы в данной статье рассматривать не будем, подробности можно узнать из моей статьи, ссылку на которую я приводил выше. Файл индексов может отсутствовать, если в таблице нет ни одного индекса. Файл данных неограниченной длины тоже может отсутствовать, если в таблице нет ни одного поля с данными неограниченной длины.
Как просмотреть базу данных 1С предприятие 8.3 - 1Cv8.1CD

Адресация

База состоит из таблиц. Таблицы, в свою очередь, состоят из файлов. И наконец, файлы состоят из страниц. Адресом страницы является ее порядковый номер (индекс) в файле базы. Адресом файла является номер его заголовочной страницы. Адресом таблицы является адрес ее файла описания, а значит, номер заголовочной страницы файла описания. Т.е. о каком бы объекте мы бы не говорили – странице, файле или таблице, адресом объекта всегда является просто номер страницы.

Получаем структуру базы данных (название таблиц и полей, т.е. метаданные) из 1С Предприятие 8.3

Одним из способов получения подробного описания таблиц, полей (соответствие нормального наименования таблиц и технического) – использование “Внешней обработки .EPF”.
Файл .epf программируется через конфигуратор 1С Предприятия. В интернете много статей, я покажу лишь как его использовать.
Я нашел несколько файлов EPF (в архиве их три штуки):
epf файлы для получения метаданных из 1С Предприятия 8.3.zip

Как запустить epf файл для выгрузки из 1С метаданных

Приведу 2 примера подключения epf файла. Заходим в 1С Предприятие 8.3. Выбираем Файл – Открыть:
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
Далее выбираем файл внешней обработки 1С Предприятие для версии 8.3 СтруктураИБ_УФ.epf:
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
Нажимаем “Вывести список”:
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
Формат:
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
Расскрываем список
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
Получаем описание таблиц с полями:
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
И еще один пример:
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
Выводим структуру таблиц 1С Предприятие в текстовом формате
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3
Таблица и “человеческие” названия:
Получение метаданных (описания таблиц и полей) из 1С Предприятия 8.3

Загружаем из xml файлов название полей и таблицы

После небольшой корректировки получаем отчет, можете скачать (но там ничего не понятно, нужна расшифровка метаданных): Таблицы и поля из 1С Предприятия 8.3 после обработки Tool 1CD.exe и выгрузкой в XML.xlsx

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView:
DB Structure LOAD Script For QLIKVIEW.epf

1С Script Builder реализован в виде внешней 1С-обработки и предназначен для автоматизированного проектирования скрипта загрузки данных из БД 1С версии 8.x в аналитическое приложение QlikView. Использование 1С Script Builder позволяет получить максимальную скорость загрузки данных и максимальную гибкость при формировании самых сложных запросов.

Генерация Загрузочного скрипта для QlikView из метаданных конфигураций 8.3 (управляемые формы), тестировалась на конфигурации “Управление небольшой фирмой, ред. 1.6”.
Обработка получает таблицу метаданных конфигурации с помощью функции ПолучитьСтруктуруХраненияБазыДанных() и генерирует код QlikView SCRIPT с запросом SQL для объекта метаданных текущей строки. Работает в тонком и толстом клиентах управляемого приложения. Поля, индексы и состав индексов элемента метаданных отображается в отдельных таблицах.
Ниже скриншоты как зайти в управляемое приложение через конфигуратор.

ВНИМАНИЕ! В коде последнюю запятую перед SQL надо удалить. Не знаю, как программными средствами убрать.

Заходим в конфигуратор 1С Предприятие 8.3 Управление небольшой фирмой (Демо версия):
Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

На вкладке LOAD Script For QlikView приведен загрузочный скрипт. Не забывайте про запятую, которую нужно убрать.

Скачать epf-файл для просмотра структуры базы данных 1С Предприятие 8.3 и LOAD Script для QlikView

Пример модуля для получения структуры данных из 1С и SQL запроса к Базе данных 1С Предприятие 8

Размещаю этот пример в качестве отправной точки пример. Взят из файла: TableStruct.epf.7z


QlikView Qlik Sense

Отправить ответ

avatar
  Подписаться  
Уведомление о