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

Публикация № 1609369 20.02.22

Приемы и методы разработки - Инструментарий разработчика

SQL представления view база данных интеграция

Обработка для генерации скриптов создания представлений баз данных 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].

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

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

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

 
 Запросы к документу "Реализация товаров и услуг"
 
 Запросы к служебным таблицам
 
 Служебные объекты
 
 Запрос к перечислениям

Все, парам парам пам!

Вместо заключения

Повторюсь, ничего уникального в этой разработке нет. Создавалась она давно, просто решил выложить, вдруг кому-то пригодится такой шаблон и служебные функции для работы с такими базами.

Т.к. чаще всего задачи работы с представлениями БД узкоспециализированы, то почти всегда нужно вносить доработки в таких случаях. Готовые решения, даже если они так приподносятся, скорее всего не подойдут Вам на 100%.

 
 Ответы на некоторые вопросы из комментариев, если бы они были доступны

Удачи в делах и решения задач!

Другие ссылки

Авторские разработки

 
 Другие разработки (бесплатные и за $m)

Скачать файлы

Наименование Файл Версия Размер
Генератор представлений для базы данных 1С:

.epf 31,45Kb
4
.epf 31,45Kb 4 Скачать

Специальные предложения

Автор запретил комментарии

См. также

Как загрузить данные 1С 8.3 в Power BI (Генератор представлений (View) в MS SQL/PostgreSQL по структуре базы данных 1С 8.3) Промо

Поиск данных Внешние источники данных v8 1cv8.cf Платные (руб)

Если вам нужно автоматически генерировать view к вашей базе данных 1С (есть две версии - для СУБД MS SQL Server и для PostgreSQL) по структуре метаданных 1С, то вам необходима данная обработка. Наш "Генератор View", другими словами - это коннектор к данным 1С для Power BI - незаменимый помощник для бизнес-аналитиков, работающих с базами 1С из Yandex Datalens/Power BI и т.д. Работает для обычных и управляемых форм под 1С 8.3

48000 руб.

31.07.2020    11073    11    47    

Базы данных. Несколько шагов до серьезного обслуживания

Администрирование СУБД Бесплатно (free)

Практические примеры настройки обслуживания баз данных для SQL Server. Актуально для любых приложений.

22.05.2022    4852    YPermitin    22    

Познавательный PowerShell

Языки и среды Бесплатно (free)

Еще немного PowerShell нам в помощь.

13.05.2022    3426    YPermitin    17    

HTTP-клиент Промо

Инструментарий разработчика v8 v8::Mobile 1cv8.cf Абонемент ($m)

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    8634    23    SpaceOfMyHead    44    

Динамическое обновление - это зло?

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    9551    YPermitin    75    

Копия базы 1С для отчетов. Как работать с репликой только для чтения

HighLoad оптимизация Бесплатно (free)

Подходы к работе с репликами только для чтения. Практические способы перевода OLAP-нагрузки из основной базы в копию и новые возможности масштабирования.

30.04.2022    4221    YPermitin    32    

Функции "слоупока": как заставить открываться "Все функции" в 97 раз быстрее!

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Наверное, каждый программист 1С (да и не только программист), открывая «Функции для технического специалиста» (ранее «Все функции») на массивных конфигурациях вроде ERP 2.4 и т.п., в своей жизни много раз задавался вопросом – почему же они так долго открываются?? Действительно, в зависимости от мощностей сервера «Все функции» могут открываться от 20 секунд до 2 минут! «Ну, слишком много объектов в конфигурации, огромное количество констант, справочников, документов, регистров… – Отвечали себе страдающие пользователи. – Пока программа обойдёт в цикле все метаданные, пока построит дерево… Тут ничего не поделаешь…». И все они были не правы! Я провёл собственное расследование, которое показало, что 97% времени построения дерева метаданных тратится на…

1 стартмани

09.03.2022    11579    49    XilDen    69    

Программное формирование существующих печатных форм Промо

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    4366    12    RocKeR_13    3    

Структура таблиц ИБД с генератором view для MS SQL

Инструментарий разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Структура таблиц ИБД с генератором view для MS SQL. Подходит для любой конфигурации с режимом управляемого приложения. Вишенка на торте: view перечисления содержит имя и синоним.

1 стартмани

30.12.2021    2340    20    vladimirkr    5    

Универсальный редактор данных (УРД)

Инструментарий разработчика v8 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    9873    162    Adeptus    53    

Экспорт технологического журнала. Набор инструментов (приложения + исходный код)

Технологический журнал Абонемент ($m)

Набор инструментов для экспорта данных технологического журнала во внешнее хранилище на базе ClickHouse для Windows и Linux. Готовое приложение и исходный код.

10 стартмани

09.05.2021    8187    18    YPermitin    32    

Навигатор по конфигурации базы 1С 8.3 Промо

Инструментарий разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.87 от 02.12.2021

3 стартмани

28.10.2018    50648    458    ROL32    72    

Подсистема "Показатели объектов"

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.

2 стартмани

06.03.2021    10047    6    pila86    16    

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    13709    27    huxuxuya    11    

Мастер создания копии информационной базы для отчетности

HighLoad оптимизация Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Прототип инструмента для подготовки реплики в режиме только для чтения к использованию. Позволяет использовать "read-only" реплики как обычные информационные базы 1С.

10 стартмани

28.08.2020    12131    12    YPermitin    13    

Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо

Инструментарий разработчика v8 Абонемент ($m)

Иногда нужно удалить сохраненную в 1С "покореженную" настройку или скопировать "удачную" другому пользователю...

1 стартмани

01.09.2012    70992    1394    AnryMc    46    

А1Э - альтернативная стандартная библиотека для 1С

Инструментарий разработчика v8 Абонемент ($m)

Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.

14.08.2020    16938    0    Enigma    47    

Диагностика контекста выполнения (внешняя компонента)

Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Небольшая экспериментальная внешняя компонента для получения дополнительной информации о контексте выполнения.

1 стартмани

24.07.2020    11188    2    YPermitin    14    

Консоль кода для управляемых форм

Инструментарий разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

17.07.2020    33964    482    salexdv    370    

Faster - многофункциональный ускоритель работы программиста 1С и других языков программирования Промо

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа Faster 9.4 позволяет ускорить процесс работы программиста (работает в любом текстовом редакторе). Подсказка при вводе текста на основе ранее введенного текста и настроенных шаблонов. Программа Faster позволяет делится кодом с другими программистами в два клика или передать ссылку через QR Код. Исправление введенных фраз двойным Shift (с помощью speller.yandex). Переводчик текста. Переворачивает текст случайно набранный на другой раскладке. Полезная утилита для тех, кто печатает много однотипного текста, кодирует в среде Windows на разных языках программирования. Через некоторое время работы с программой у вас соберется своя база часто используемых словосочетаний и кусков кода. Настройка любых шорткатов под себя с помощью скриптов. Никаких установок и лицензий, все бесплатно.

1 стартмани

24.05.2012    88902    971    moolex    157    

Экспорт журнала регистрации. Набор инструментов (приложения + исходный код)

Инструментарий разработчика v8 Абонемент ($m)

Набор инструментов для экспорта данных журнала регистрации во внешние хранилища для Windows и Linux (SQL Server, PostgreSQL, MySQL). Готовые приложения и исходный код.

10 стартмани

26.05.2020    16468    118    YPermitin    0    

Внешний регламент для 1С

Инструментарий разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    11804    9    moolex    12    

Информация о пользователях информационной базы (отчет на СКД)

Инструменты администратора БД Роли и права v8 v8::Права v8::СКД 1cv8.cf Абонемент ($m)

Два простых отчета по пользователям информационной базы и информации по ним.

1 стартмани

02.03.2020    13040    64    YPermitin    8    

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек. Промо

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    59039    571    Eugen-S    36    

Мастер полнотекстового поиска

Поиск данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Набор инструментов для работы с полнотекстовым индексом платформы 1С. Стандартные и расширенные возможности.

2 стартмани

07.02.2020    20798    206    YPermitin    32    

Обработка создания представлений (view) для BI, Tableau, QlikView и т.д.

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Обработка создает view на все таблицы(почти) БД 1C в юзабельном виде, пригодном для работы с этими таблицами из BI систем.

3 стартмани

24.01.2020    4346    21    ebongo    2    

Помощник работы с идентификаторами объектов

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Инструмент для расширенного анализа идентификаторов объектов.

2 стартмани

24.01.2020    23714    94    YPermitin    33    

CF & SQL : конструктор прямых запросов к БД 1С Промо

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    36758    347    dmitrydemenew    66    

Командный интерпретатор для 1С

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Инструмент для выполнения команд CMD / PowerShell из 1С.

2 стартмани

15.11.2019    21433    43    YPermitin    41    

Пакетная выгрузка / загрузка внешних отчетов и обработок

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Пакетная выгрузка / загрузка внешних отчетов и обработок для массовый манипуляций с ними.

2 стартмани

04.11.2019    17932    112    YPermitin    21    

Обозреватель криптографии

Инструментарий разработчика v8 Абонемент ($m)

Отчет для просмотра доступных провайдеров и сертификатов криптографии на сервере и клиенте.

2 стартмани

21.10.2019    16636    29    YPermitin    10    

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка) Промо

Инструментарий разработчика v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

5 стартмани

14.08.2018    138299    3227    Evg-Lylyk    775    

Конвейер проверки качества кода

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    43933    31    Stepa86    46    

Анализ производительности APDEX

HighLoad оптимизация v8 1cv8.cf Бесплатно (free)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    20648    488    YPermitin    7    

Путеводитель по истории релизов

WEB v8 1cv8.cf Абонемент ($m)

Отчет по истории выпуска релизов и анализа информации по обновлениям.

5 стартмани

13.08.2019    22886    13    YPermitin    18    

Просмотр и анализ структуры базы данных (отчет на СКД)

Инструментарий разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

5 стартмани

24.07.2019    35585    354    YPermitin    30    

Запуск 1С под любым пользователем (без необходимости указания пароля)

Пароли Инструменты администратора БД Инструментарий разработчика v8 v8::Права 1cv8.cf Абонемент ($m)

Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).

1 стартмани

02.07.2019    33583    363    sapervodichka    0    

Модель объекта

Инструментарий разработчика v8 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    19584    1    vadim1980    5    

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Инструментарий разработчика v8 Абонемент ($m)

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    44369    11    ripreal1    92    

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.

1 стартмани

13.05.2019    44123    175    Diversus    44    

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика v8 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    28980    22    slozhenikin_com    37    

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Склад и ТМЦ Инструментарий разработчика v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    68201    277    informa1555    239    

Легкое и гибкое управление списком доступных баз 1С у пользователей

Инструментарий разработчика v8 1cv8.cf Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    25085    27    RomikR    11