Каталог решений - Генератор представлений для базы данных 1С

Генератор представлений для базы данных 1С

Генератор представлений для базы данных 1С

В наличии

Обработка для генерации скриптов создания представлений баз данных 1С. Поддержка SQL Server + некоторые служебные функции.

Категория:

Описание

Что в коробке

Простейшая обработка для генерации представлений в базах данных 1С. Формирует скрипты для ручного запуска. Подобные инструменты чаще всего используются для создания возможности интеграции с базами данных 1С напрямую, обходя обращение через сервер 1С и стандартные средства интеграции. Чаще всего из соображений оптимизации производительности или интеграции с инструментами, которые не могут использовать штатные механизмы платформы 1С (Power BI, например).

Разработка создавалась пару лет назад и в какой-то мере состыкуется с инструментом "Мастер создания копии информационной базы для отчетности". Не является чем-то уникальным, ссылки на аналогичные инструменты есть в конце публикации. Здесь же просто шаблон обработки с доп. функционалом, который может выступать в качестве основы для решения Вашей конкретной задачи.

Требования и совместимость

Обработка тестировалась на платформе 8.3.16 и старше и с редакциями SQL Server 2014 и старше.

В остальных случаях может потребоваться доработка и адаптация под различные изменения платформы 1С или СУБД.

Основной функционал

Работа с обработкой выполняется в несколько этапов. На первом этапе нужно настроить подключение к базе 1С, находящейся на инстансе SQL Server. На этом этапе указываем сервер, имя базы данных, а также параметры аутентификации.

На втором этапе нужно указать настройки создания представлений. По факту указываем имя базы данных, где нужно создать представления и нажимаем кнопку "Заполнить настройки объектов базы по умолчанию". Имя базы данных для представлений можно указать то же самое, что и имя исходной базы. Настройка сделана для того, чтобы можно было создавать эти объекты в отдельной БД и не вмешиваться в работу основной базы 1С. Тут же есть параметр, позволяющий сгенерировать скрипт для удаления всех существующих представлений.

На последнем этапе мы получим 4 скрипта для создания представлений и некоторых служебных объектов:

  1. Скрипт создания базы для представлений, если ее нет. Больше используется как шаблон, т.к. в большинстве случаев нужно явно указывать необходимые пути к файлам и т.д.
  2. Скрипт удаления существующих представлений. Также только в качестве шаблона, т.к. в базе могут быть представления, не связанные с текущей работой. Будьте осторожны при использовании!
  3. Скрипт создания представлений. То, для чего мы обработку и запускаем. При создании скриптов придерживаемся следующих принципов:
    • Данные отображаем как есть для лучшей производительности. То есть никаких смещений к датам или преобразования GUID’ов к привычному виду не выполняется. В большинстве случаев это приведет к серьезной деградации производительности. Преобразование данных к нужному представлению нужно выполнять в финальной части запроса.
    • Имена представлений строятся как "v_<ВидОбъекта>_<ТипОбъекта>". Для табличных частей это "v_<ВидОбъекта>_<ТипОбъекта>_ТЧ_<ИмяТабличнойЧасти>". Также в некоторых случаях может быть добавлено назначение объекта.
    • Для перечислений добавлено поле "Наименование", позволяющее просматривать строковое значение перечисления, которое в базе явно не хранится.
    • Поля представлений и объектов такие же как и в конфигурации, то есть читаемые. Для некоторых таблиц представление определяется специальным способом, т.к. стандартное описание структуры базы данных не дает информации. Таким образом список полей с читаемыми названиями устанавливаются в большинстве случаев.
  4. Скрипт создания служебных объектов. Это вспомогательные функции:
    • [dbo].[fn_ConvertBoolean_From1CToSql] — конвертирует привычное строковое представление GUID’а 1С в формат SQL (binary(16)).
    • [dbo].[fn_ConvertBoolean_FromSqlTo1C] — делает обратную операцию по сравнению с [dbo].[fn_ConvertBoolean_From1CToSql].
    • [dbo].[fn_ConvertGuid_FromSqlTo1C] — преобазует значение типа булево из binary(1) как хранится в SQL в тип bit.
    • [dbo].[fn_ConvertGuid_From1CToSql] — делает обратную операцию по сравнению с [dbo].[fn_ConvertGuid_FromSqlTo1C].

На этом основной функционал закончен.

Несколько примеров

Немного наглядных примеров работы с представлениями.

 

has been added to your cart:
Оформление заказа