Pull to refresh

Comments 16

Описание процесса довольно интересное, но оно итак довольно интуитивно понятное. Было бы полезнее, на мой взгляд, описать схему работы обработок (или хотя бы выложить ссылки на них), которые осуществляют непосредственную конвертацию запросов на основании структуры метаданных базы.

В целом, решение рабочее, главное чтобы базу сильно не реструктуризировали :) Если с обычными типами все довольно просто, и их служебные имена в пределах базы не должны изменяться, то поля составных типов имеют не столь очевидную структуру, т.е. при расширении какого-то ссылочного поля до составного его структура может заметно измениться и запросы придется изменять. Красивого решения по автоматической генерации таких запросов я пока не встречал, правда не уверен, что в нем вообще есть такая уж необходимость. Хотя, когда поддерживаешь несколько предприятий с идентичной конфигурацией, имена хранения у них все равно будут отличаться — в таком случае было бы неплохо автоматизировать эти преобразования.
UFO landed and left these words here

Скорее всего, как указано в статье, была задача мигрировать 1 к 1. Переделывать архитектуру при миграции иногда бывает плохой практикой. Может выйти ситуация, когда старое "уже" не работает, а новое "ещё".

Плюс взаимодействие с другим интегратором, накладывает свои ограничения.

UFO landed and left these words here

А разве прямые SQL запросы к базе 1с не являются нарушением лицензии 1с? Несколько лет назад изучал этот вопрос, и встречался пункт о запрете.

UFO landed and left these words here

Согласен тем более на 8.3 появилось довольно много других возможностей для синхронизаций(web серверы, oData и.т.д.)

Увы, не всегда они подходят, т.к. имеют серьезные проблемы с производительностью в случае большого объема данных. SQL-запросы намного быстрее.

Сталкивался с PowerBI, пробовал данные о продажах передавать через OData, но это нереально по времени. В итоге остановились на варианте регламентной выгрузки данных обработкой раз в сутки во внешнюю базу на SQL за несколько последних месяцев, либо по требованию. Зато получился довольно гибкий инструмент, позволяющий сразу запросами внутри 1С сформировать необходимые данные в том виде, в котором они требуются для PowerBI. Минус — задержка в данных в течение дня, но это некритично в моем случае, можно было бы и чаще запускать выгрузку.
UFO landed and left these words here

Лицензионное соглашение это важный закон, его нарушать нельзя. Вот ссылка на него https://v8.1c.ru/priobretenie-i-vnedrenie/otvety-na-tipovye-voprosy-po-litsenzirovaniyu-1s-predpriyatiya-8/?

Соглашение не запрещает, например, сделать вторую копии базы 1С на СУБД (отрубить её от 1С Сервера, база теперь только на СУБД и к 1С не имеет отношения, работоспособность не нарушает), и с неё считывать данные. Материя тонкая согласен в ней надо понимать и быть осторожным.

Прикрепленные файлы:

UFO landed and left these words here
Надеюсь запросы сделали на отдельной RO-копии базы? У нас две рабочие реплики с разными настройками, т.к. OLTP и транзакционные нагрузки требуют разных профилей настроек (даже банальный MAXDOP уже нужен разный).

Ну и если есть отдельная копия, то можно сделать прокси-базу с подготовленными view-хами, в которых уже использовать понятные имена, и управлять мэппингом полей на уровне СУБД. Кроме того можно «расшивать» всякие непонятности типа полей составного типа.
UFO landed and left these words here
Возможно это его первый опыт с QlickView, мы в свое время тоже изрядно с ним повозились создав по ходу кучу костылей и велосипедов.

Согласен с @yukon39

  1. Делаем RO асинхронную реплику (вам же не нужно прям в realtime получать данные, 100-1000 мс задержки вполне норм, при этом не нагружаем прод. базу ожиданиями фиксации транзакций в RO реплике).

  2. В реплике на основании информации о соответствии полей таблиц и объектов метаданных в той же базе генерируем View с названиями таблиц и полей соответствующими именам метаданных.

    В итоге имеем отдельный сервер где можно крутить разные аналитики и SQL интеграции не нагружая основной сервер. При этом запросы пишутся почти как в 1С Конечно итоги и срезы последних нужно самим подключать, и какой то навык нужно иметь, лучше конечно первый раз писать в консоли и потом транслировать в SQL и затем уже писать через View что бы меньше ошибок. Основные плюсы потом в сопровождении, проще читать, проще менять запросы и.т.п.

Sign up to leave a comment.

Articles