Транслятор запросов 1С в SQL

Публикация № 1175954

Администрирование - Производительность и оптимизация (HighLoad)

SQL трансляция диагностика производительность план запроса оптимизация инструмент 1СtoSQL перевод

Инструмент для трансляции запросов платформы 1С в SQL, а также их диагностики.

Назначение и возможности

Инструмент "Транслятор запросов 1С в SQL" предназначен для быстрого и удобного получения SQL-запросов, которые генерируются платформой 1С в различных ситуациях: либо выполнение конкретного запроса на языке 1С, либо запуск кода встроенного языка, который также может формировать SQL-запросы к базе данных. Кроме этого, по полученным запросам можно посмотреть дополнительную информацию для диагностики их работы (затраченные ресурсы, планы запроса и другое). Ниже на анимации Вы можете видеть длинный пример работы транслятора. О каждой функции инструмента ниже будет рассказано подробнее.

Основными возможностями инструмента являются:

  • Перевод запроса 1С в SQL с учетом всех особенностей работы платформы. Например, если выполнять запрос к виртуальной таблице "Движения с субконто", то фактически будет выполнен не 1 запрос, а целая серия вспомогательных запросов. Инструмент это покажет. Также будут собраны все связанные служебные запросы (получение информации о метаданных, создание и очистка временных таблиц и др.).
  • Перевод запросов платформы 1С в SQL при выполнении конструкций кода встроенного языка. Вам когда-нибудь было интересно как работает функция "НайтиПоНаименованию(...)"? С помощью этой обработки Вы найдете ответы на все вопросы.
  • Получение информации о затраченных ресурсах каждого отловленного запроса. Для каждого запроса будут получены показатели использования CPU, логических и физических чтений, операций записи и количество возвращенных записей в запросе.
  • Возможность посмотреть план для каждого собранного запроса (если такой план есть на стороне СУБД). Вы можете сразу открыть его в SQL Server Management Studio или же сохранить его на диск в формате "*.sqlplan".
  • Инструмент может быть использован как на тестовом , так и на рабочем окружении. Сам сбор информации о запросах создает минимальную нагрузку на сервер. Подробнее о принципах работы инструмента Вы можете прочитать ниже.

Требования к работе:

  • Платформа 1С версии 8.3.5 и выше.
  • СУБД Microsoft SQL Server 2012 и выше.
  • Возможность подключения через ADO c сервера 1С к экземпляру SQL Server с правами "sysadmin".
  • Только управляемые формы. Для использования в обычном приложении используйте известные обходные пути.

Таким образом, данная разработка может оказаться отличным инструментом для диагностики работы запросов и кода встроенного языка в части взаимодействия с СУБД, а также для изучения работы платформы 1С с СУБД. Тем более если диагностику нужно выполнить на рабочем окружении!

Принцип работы

Код обработки открыт и Вы можете самостоятельно его изучить. Сейчас же опишем общий принцип работы инструмента:

  1. Начинаем серверный вызов, в контексте которого и будет выполняться сбор информации.
  2. Определяем идентификатор соединения с СУБД, которое выделено платформой 1С из пула соединений для текущего сеанса (серверного вызова). Т.к. платформа использует пул соединений, то для гарантии того, что это соединение не будет использоваться другими сеансами 1С выполняется несколько трюков с временными таблицами.
  3. После того как мы определили идентификатор соединения, запускаем сессию Extended Events для сбора данных о выполняемых запросах с фильтром по базе данных и по соединению.
  4. Выполняем запросы или конструкции кода встроенного языка для анализа.
  5. Обрабатываем собранные данные и завершаем сессии сбора данных.
  6. Очистка от служебных данных.

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

Да, для сбора информации НЕ используется технологический журнал. Все базируется на расширенных событиях SQL Server, которые позволяют достаточно эффективно собирать данные для анализа, не мешая основной работе приложения. Об этом мы уже говорили в статье "Мониторинг SQL Server с помощью Extended Events (и не только) для 1С. Как держать руку на пульсе?". Единственный минус такого подхода - то, что запрос / конструкции кода все же выполняются, поэтому если в них будет запущено что-то тяжелое, то именно они и могут повлиять на производительность и стабильность работы. Это стоит учитывать, если Вы пользуетесь инструментом на рабочем окружении.

Примеры использования

Рассмотрим несколько небольших кейсов использования инструмента.

Начало работы

Первое, что нужно сделать для продолжения работы - это настроить подключение к базе данных с правами "sysadmin". Если этого не сделать, то продолжение работы будет недоступно.

 
 Настройка подключения

А теперь в путь!

Что скрывается за простым запросом

Теперь можно попробовать транслировать простой запрос. Как на счет вот такого запроса.

 
 Пример простого запроса

Теперь выполним его через инструмент.

 
 Транслируем простой запрос

Итого, у нас есть:

 
 Транслированный запрос
 
 Информация об использовании ресурсов

Перейдем к примерам интереснее.

Найти по наименованию

Запрос транслировать хорошо. А можно ли отловить запросы к базе данных при выполнении кода встроенного языка? Можно! Как на счет такого простого примера.

 
 Найти по наименованию

Результат получим следующий.

 
 Запросы

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

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

Сложный запрос

Можно пойти дальше и выполнить запрос сложнее, чем обычный SELECT. Как на счет запрос к одной из виртуальных таблиц регистра бухгалтерии.

 
 Запрос к виртуальной таблице

И тут также трансляция будет работать как надо. Плюс посмотрим план запроса.

 
 Трансляция и план запроса

Вроде ничего сложного.

Hardcore!

А теперь что-нибудь особенное. Вас когда-нибудь интересовал вопрос как платформа 1С выполняет пересчет итогов? А вот как!

 
 Что скрывается за пересчетом итогов

Осталось только разобрать что каждый запрос делает, но это уже другая история.

Некоторые настройки

Описание некоторых настроек:

  • Подавлять сообщения пользователю - если включено, то при выполнении кода встроенного языка для анализа все сообщения пользователю будут "заглушены" и Вы их не увидите.
  • Показать результат запроса - если включено, то результат запроса 1С будет выведен в табличный документ.
  • На вкладке "Дополнительно" можно добавить обработчики некоторых событий при трансляции. Может быть полезно в особых случаях. Обычно это:
    • Дополнительное логирование
    • Переопределение результатов собранных данных (удаление запросов без плана и др.)
    • Особым случаем может быть использование Softpoint Data Cluster, в этом случае в событиях можно явно указывать на каком узле должен выполняться запрос для его отслеживания.

Пока что все.

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

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

Это только первая версия, в будущем он будет развиваться.

 
 Планы для версии 2.0

Есть что сказать? Добро пожаловать в комментарии!

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

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

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

Наименование Файл Версия Размер
Транслятор запросов 1С в SQL:
.epf 37,25Kb
02.01.20
26
.epf 1.0.0.0 37,25Kb 26 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. pm74 162 07.01.20 21:34 Сейчас в теме
СУБД Microsoft SQL Server 2012 и выше.

с 2008 "не взлетит" ?
YPermitin; +1 Ответить
2. YPermitin 6903 07.01.20 21:36 Сейчас в теме
(1) нет, к сожалению. Это только в будущих версиях. В конце публикации писал об этом:

В версии 2.0 будут следующие изменения:
- Поддержка SQL Server 2008
- Поддержка PostgreSQL
- Поддержка файловых баз
- Добавление комментариев к частям SQL-запроса для сопоставления с метаданными 1С и удобного чтения текста запросов.
- Оптимизации для SQL Server 2016 и выше.
- И много другое.
Выход 2 версии будет не раньше, чем во второй половине 2020 года :).

2008 версия особая и сильно устаревшая уже. Поэтому под нее допиливать отдельно не стал пока что.
tormozit; Il; 3vs; pm74; +4 Ответить
3. pm74 162 07.01.20 21:46 Сейчас в теме
(2) жаль , у меня 2 рабочих базы крутятся на 2008
все равно утащил в избранное
а транслятор в t-sql зависит от номера версии ?
4. YPermitin 6903 07.01.20 21:51 Сейчас в теме
(3)
а транслятор в t-sql зависит от номера версии ?


Имеете ввиду номер редакции SQL Server?

Если да, то там дело в работе механизмов Extended Events, на которых все простроено.
Много функционала не доступна в редакции 2008, т.к. он еще находился тогда в начальной стадии развития.
Обходные пути есть, но там надо многое с 0 проверять, пилить.


(3)
все равно утащил в избранное


Спасибо :)
5. logarifm 1065 08.01.20 10:57 Сейчас в теме
Труд - согласен, просто мне для себя чтобы понимать, а за что во-первых 10 стартманей? Когда есть вот https://infostart.ru/public/295356/ и за один стартманей и там аналогичный функционал.
YPermitin; +1 Ответить
6. YPermitin 6903 08.01.20 12:20 Сейчас в теме
(5) вопрос хороший. Не рекламы ради, но Вы дали ссылку на консоль запросов, а этот инструмент ни в коем случае не консоль.

Консоль https://infostart.ru/public/295356/ надо скорее сравнивать с управляемой консолью https://infostart.ru/public/835718/.
Я раньше пользовался запросником, а теперь практически полностью перешел на управляемую консоль. Рекомендую.

Что касается этого инструмента - он необходим для трансляции запросов на языке 1С и выражений встроенного языка (кода) в SQL-запросы, которые генерирует платформа. Отличие от запросника в том, что:
1. Запросник использует технологический журнал, я использую встроенные средства диагностики SQL Server - Extended Events.
2. Запросник "повесит" нагруженную базу если Вы начнете использовать эти функции на продакшене. Да даже не нагруженную подвесит, ибо получение планов запросов через ТЖ довольно трудоемкая операция.
3. Данный инструмент получит ВСЕ запросы, которые генерирует платформа. В том числе и служебные (установка уровня изоляций, создание временных таблиц, очистка, запросы к информации по метаданным.
4. Запросник только получает информацию для запросов, а этот инструмент еще и сгенерированные запросы кодом 1С отлавливает.
5. Т.к. платформа 1С использует пул соединений с СУБД, то запросник может в при многопользовательской работе ошибиться и отловить лишние запросы. Этот инструмент максимально от этого защищен. Но полных гарантий нет, но на моей практике еще не было сбоев.
6. Ну и как результат - запросник только для локальной базы разработчика. Этот инструмент можно использовать и на продакшене.
7. Плюс запросник не всегда получает запросы как есть с СУБД или всю серию сгенерированных запросов платформой.

В общем, это совершенно два разных инструмента и для разных целей.
Запросник - отличный инструмент. Жаль он не обновляется уже с 2017 года :(

Что касается цены. 10 SM - это ~750 руб. 750 руб. - это 2 пиццы во таких (https://tiumen.leverans.ru/dostavka/pitstsa/pizza-express/pitstsa-32-sm/pepperoni-ostraia/) :) Цена символическая за инструмент, аналогов которого я еще не видел. Плюс я буду развивать его дальше для PostgreSQL и файловых баз. 10 SM для меня как стимул. К тому же инструмент очень специфический и вряд ли будет какой-то массовый спрос, а так 2-3 скачивания и мотивация не пропадет. За 1 SM отдавать как-то уж совсем свой труд не ценить.

Надеюсь я был объективным :)
Lansi; RocKeR_13; mike1970; aspirin4eg; gradi; 3vs; ids79; Evg-Lylyk; DarkAn; tunesoft; Il; triviumfan; +12 Ответить
16. triviumfan 13 08.01.20 23:34 Сейчас в теме
(6)
2. Запросник "повесит" нагруженную базу если Вы начнете использовать эти функции на продакшене. Да даже не нагруженную подвесит, ибо получение планов запросов через ТЖ довольно трудоемкая операция.

PS: "транслятор запросов 1с" через xevents... в целом - интересно :) Вот заработаю на две пиццы - куплю.
Прикрепленные файлы:
YPermitin; +1 Ответить
23. DarkAn 911 09.01.20 10:02 Сейчас в теме
(5) Как мне кажется, Вы задаете не корректный вопрос. Автор в праве поставить ту цену какую считает адекватной за свою работу.
Скажите спасибо, что за $m, а не за рубли. т.к. вещь действительно полезная.

Утащил в избранное(жду 2.0, т.к. стоит SQL 2008 :()
Fox-trot; YPermitin; +2 Ответить
24. DarkAn 911 09.01.20 10:06 Сейчас в теме
(23)
Автору бы посоветовал выставить обработку и за $m и за рубли, например 3000, не с целью наживы, а с целью расширить аудиторию, т.к. Infostart начисляет кэшбэк 25% за купленные продукты 1С. На счет покупателям падают рубли которые они не могут вывести, но могут потратить на такие вот разработки, а 3000 руб, это меньше, чем покупка сгораемых 10$m у Infostart.

P.S. Если будет я взял бы за рубли :)
YPermitin; +1 Ответить
26. YPermitin 6903 09.01.20 10:09 Сейчас в теме
(24) а про рублевую схему не знал. Надо подумать и правила почитать. Взять консультации :)

За идею спасибо)
27. DarkAn 911 09.01.20 10:12 Сейчас в теме
(26) Кроме того, покупая за рубли покупатель может скачивать обновления в течении года без дополнительной оплаты, а за $m только если обновление выйдет в течении месяца с момента приобретения.

Я уже консультировался, поэтому и сообщаю :)
YPermitin; +1 Ответить
28. YPermitin 6903 09.01.20 10:18 Сейчас в теме
25. YPermitin 6903 09.01.20 10:08 Сейчас в теме
(23) про цену спрашивать - это нормально. Но по мне цена адекватная. :) Лояльная сообществу, я бы так сказал.
Fox-trot; DarkAn; +2 Ответить
7. logarifm 1065 08.01.20 12:53 Сейчас в теме
Тогда надо ждать финального релиза от Вас. А то как оно получается, выйдет обнова и опять 10 СМ :)
YPermitin; +1 Ответить
8. YPermitin 6903 08.01.20 13:02 Сейчас в теме
(7) это дело каждого :)

Если Вы готовы ждать до ноября/ декабря 2020, то конечно. А потом ведь будет следующая версия запланирована:D

Как с процессорами. Ждем выхода i7. Вышел i7, тогда ждем i9 и т.д. :)))
9. logarifm 1065 08.01.20 13:15 Сейчас в теме
Инструмент интересен но мне пока что он без крайней необходимости не понадобится.
В основном при оптимизации исползую (не для рекламы не в коем случае) ЦУП. Трасировщик стандартный. Оптимизация это вообще бесконечная тема. И каждый случай уникальный по своему. Где-то достаточно только обновить платформу. А вот в основном приходится кропотливо и изрядно попотеть и помагает этому не одно решение, а целые кейсы.
Но Ваша работа заинтриговала и конечно же как только надо будет вот что-то раследовать я его скачаю.
10. YPermitin 6903 08.01.20 13:23 Сейчас в теме
(9) ЦУП почти уже не использую.

Воспользуюсь случаем узнать. А он обновляется или там все также по старому?
Слышал версию 2.0 вроде планировали выпускать, но не понятно когда.
11. logarifm 1065 08.01.20 13:28 Сейчас в теме
(10) на УФ есть но механика аналогичная.
Поиск тяжолых запросов (впрниципе он хорошо справляется со своей задачей). А дальше надо всеравно все перепроверять. Не ну конечно можно напилить свое что-то как это сделал Гилев. Но не вижу в этом особого смысла.

Хороший инструментарий у Андрея Бурмистрова имеется. По этому и говорю для решения проблем с оптимизацией необходимы целые кейсы. Никогда не поможет какое-то одно решение. И не всегда достаточно найти тяжолый запрос (это мог быть отчет коотрый запустили раз в месяц).
12. YPermitin 6903 08.01.20 13:29 Сейчас в теме
(11) посмотрите в сторону PerfExpert еще, лучше инструмента не видел. Но он больше под SQL Server ориентирован.
https://www.perfexpert.ru/

Походит на рекламу, но я просто поделился)
15. logarifm 1065 08.01.20 13:30 Сейчас в теме
(12) Да, согласен - эти ребята знают толк в своем деле!
19. tunesoft 221 09.01.20 08:30 Сейчас в теме
(10) да, ЦУП обновляется и развивается. Не рекламы ради расскажу. Пару месяцев назад сдал экзамен 1С:Эксперт, плотно изучал тему. В последней версии есть оффлайн импорт замеров. ЦУПом удобно анализировать и исправлять дедлоки и ожидания на блокировках. Можно и регулярными выражениями ТЖ парсить, кому как удобнее.
YPermitin; +1 Ответить
20. YPermitin 6903 09.01.20 08:36 Сейчас в теме
(19) а сейчас он также поддерживает только SQL Server?
21. tunesoft 221 09.01.20 09:18 Сейчас в теме
22. YPermitin 6903 09.01.20 09:21 Сейчас в теме
(21) Вы вернули мне интерес к ЦУП)
Нало по возможности будет посмотреть изменения)
29. DarkAn 911 09.01.20 10:18 Сейчас в теме
(9) Как рассказывает Виктор Богачев, на своем курсе, по оптимизации, он уже давно не пользуется ЦУПом, только регулярки, т.к. быстрее и функциональнее.
YPermitin; +1 Ответить
13. logarifm 1065 08.01.20 13:29 Сейчас в теме
А Ваша рабоа тоже займет достойное место среди инструментов. Впрочем как и все остальные Ваши труды, стараюсь всегда прочитать.
YPermitin; +1 Ответить
14. YPermitin 6903 08.01.20 13:30 Сейчас в теме
17. dmitrydemenew 433 09.01.20 07:41 Сейчас в теме
Очень полезный и удобный инструмент. Всем советую, а автору - большое спасибо!
YPermitin; +1 Ответить
18. YPermitin 6903 09.01.20 07:43 Сейчас в теме
(17) Вам спасибо огромное за отзыв!
36. 3vs 09.01.20 21:01 Сейчас в теме
(18)Юрий, Вам надо как-то скорефаниться с dmitrydemenew и разрабатывать какой-то свой инструментарий! :-)
Два крутых профессионала могли бы создать что-то действительно полезное сообществу!

Если
10 SM - это ~750 руб.
, то это не так много за такие разработки.
YPermitin; +1 Ответить
30. Evg-Lylyk 2764 09.01.20 11:03 Сейчас в теме
(0) Классная работа. Большое движение вперед идейно и функционально,
Пытался реализовать аналогичное, но не смог отфильтровать запросы из кучи.
Получение плана из кода хорошая идея

Жду если это не трудоемко:
В версии 2.0 будут следующие изменения:
Поддержка SQL Server 2008
YPermitin; +1 Ответить
31. YPermitin 6903 09.01.20 11:33 Сейчас в теме
(30) спасибо!

Идей еще много. Вот бы найти время все реализовать.

По поводу 2008 редакции. Не думал что она на столько популярна. Может и правда выпустить версию. Надо подумать, спланировать.
32. logarifm 1065 09.01.20 12:21 Сейчас в теме
(31) Я бы на вашем месте не стал бы этого делать. Этак можно дойти и СКЛ 2005 который еще на 1С 7.7 держиться. Если только действительно за рубли будете продавать обработку. А иначе теряется смысл. Сам майкрософт отказывается от своих продуктов какой смысл поддерживать то, что уже давно не поддерживаемо. Поотому что ленивцам лень обновиться до новых релизов СКЛ. Ведь там не только понт в номере, СКЛ в новых релизах стал намного функциональней и это как минимум так что пускай задумуются те кто еще работает на воде и переходят на авиатопливо.
Evg-Lylyk; Fox-trot; YPermitin; +3 Ответить
33. YPermitin 6903 09.01.20 12:29 Сейчас в теме
(32) так оно.

Есть коллеги, которые с уверенностью говорят, что разницы между 2008 / 2012 / 2014 / 2016 / и т.д. нет, а Microsoft просто гребет деньги лопатой.
Не часто удается донести информацию, что это не так.

Да за деньги вроде и не планирую, только если как альтернативу поддержки проекта. То есть и за SM будет, и за рубли. То что Иван Филимонов посоветовал в (27)
Evg-Lylyk; acanta; +2 Ответить
34. Fox-trot 109 09.01.20 12:46 Сейчас в теме
(32) замечу лишь только, что проблема можетбыть не только в елни
к примеру невозможность сменить платформу на более новую, которую надо тестировать на совместимость и баги
и не факт, что все взлетит как есть
опять таки нужны деньги и ресурсы на переход, и возможно это бизнесу и не нужно
YPermitin; +1 Ответить
35. YPermitin 6903 09.01.20 12:48 Сейчас в теме
(34) так и есть.

А если еще к этому добавить стоимость лицензий на СУБД, если это по ядрам особенно, то вопрос может вообще быть убран из повестки :)
37. 3vs 09.01.20 21:05 Сейчас в теме
(35)
А если еще к этому добавить стоимость лицензий на СУБД, если это по ядрам особенно

Да уж, ребята из Postgres Professional от скромности не умрут... :-)
YPermitin; +1 Ответить
38. YPermitin 6903 09.01.20 21:06 Сейчас в теме
39. 3vs 10.01.20 07:19 Сейчас в теме
(38)Умеете Вы, Юрий, заинтриговать народ!:-)
Набор слова в Яндекс:
Прикрепленные файлы:
YPermitin; +1 Ответить
40. YPermitin 6903 10.01.20 07:24 Сейчас в теме
41. novandrey_84 16.01.20 10:22 Сейчас в теме
С помощью вашего транслятора можно ли получить текст sql-запроса СУБД без выполнения самого запроса на 1С?
YPermitin; +1 Ответить
42. YPermitin 6903 16.01.20 10:34 Сейчас в теме
(41) нет, но если нужно получить без нагрузки на базу, то я использую такой подход:
1. Беру исходный запрос
2. В тексте запроса ставлю условия-заглушки везде где возможно (Ложь например).
3. Запрос получается дешковесным и можно получить текст.
4. Из полученного текста исключаю заглушки.

Как-тот так.
43. novandrey_84 16.01.20 12:42 Сейчас в теме
(42)
Спасибо, я так и думал)
YPermitin; +1 Ответить
44. YPermitin 6903 16.01.20 12:49 Сейчас в теме
(43) я бы хотел написать транслятор без выполнения. Но легкого пути не вижу)))
45. novandrey_84 16.01.20 13:37 Сейчас в теме
(44)
Ваше решение пока единственное, которое выдает полный пул запросов. И это касается больших 1С-запросов, включающих временные таблицы и прочий синтаксис. Для моей задачи по BI осталось решить вопрос с получением значений перечислений (хочу организовать прямую передачу данных из одной БД в другую без участия 1С). Объемы данных по одной выгрузке - более 4 млн. записей, на 1С я реализовал выгрузку в посредством параллелизма за 15-20 минут (часто отваливаются rphost'ы) в БД на sql-сервер. Код оптимизирован, но бизнесу такое время не устраивает. Поэтому буду переходить на прямые выгрузки между базами.
Спасибо еще раз!
Evg-Lylyk; YPermitin; +2 Ответить
46. YPermitin 6903 16.01.20 13:43 Сейчас в теме
(45) вам спасибо за отзыв!

Делал что-то подобное. Но для слодных запросов выгрузки создавал View'шку или функцию если там все сложно было.

Но суперсложных запросов там не было.
47. YPermitin 6903 24.01.20 14:29 Сейчас в теме
(45)
Для моей задачи по BI осталось решить вопрос с получением значений перечислений (хочу организовать прямую передачу данных из одной БД в другую без участия 1С)


Если вопрос в получении GUID'ов значений перечислений, то можно вот здесь посмотреть.
https://infostart.ru/public/1183874/
48. Infector 142 24.01.20 15:46 Сейчас в теме
Принцип работы в перехвате запроса на SQL-сервере?
Вообще есть мечта идиота - получить SQL -версию запроса, но не в таком виде, как они выполняются в СУБД, а с "человеческими" (т.е. аналогичными отображаемым платформой или в транслит-интерпритации) псевдонимами таблиц и полей.
acanta; YPermitin; +2 Ответить
50. YPermitin 6903 24.01.20 15:50 Сейчас в теме
(48) Все так, перехват. Нет лучше транслятора, чем сама платформа.

По поводу аналогичного отображения текста запроса. У меня есть для этого наработки, но они сырые. В планах сделать есть, но это не скоро. Не хочу поделки непонятные показывать. Мне будет стыдно :)

А так мне вроде даже удалось в некоторых случаях даже поля временных таблиц распознать. В общем, нужно время.
49. Evg-Lylyk 2764 24.01.20 15:49 Сейчас в теме
(48) Реализовано уже давно в типовой консоли ИТС анализа планов
Вот более продвинутый вариант https://infostart.ru/public/940250/
51. Infector 142 24.01.20 16:45 Сейчас в теме
(49) Пощупал, все-таки не то:

Выполняю:

ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Код КАК Код,
Номенклатура.Наименование КАК Наименование,
Номенклатура.Артикул КАК Артикул
ИЗ
Справочник.Номенклатура КАК Номенклатура

Получаю результат в двух вариантах:

1 (SQL не выполняет)

SELECT
T1.Ссылка,
T1.Код,
T1.Наименование,
T1.Артикул
FROM Справочник.Номенклатура T1

2 (SQL выполняет, но что это не ясно)

SELECT
T1._IDRRef,
T1._Code,
T1._Description,
T1._Fld644
FROM dbo._Reference32 T1

3. Хочется видеть приблизительно такое (SQL выполняет, читается глазами, выдается иностранцам из головной компании для интеграций):

SELECT

Номенклатура._IDRRef as Ссылка,
Номенклатура._Code as Код,
Номенклатура._Description as Наименование,
Номенклатура._Fld644 as Артикул

FROM dbo._Reference32 Номенклатура
52. Evg-Lylyk 2764 24.01.20 17:03 Сейчас в теме
(51) прямой доступ к базу sql, исключительный вариант
YPermitin; +1 Ответить
55. Infector 142 24.01.20 17:12 Сейчас в теме
(52) но это проще чем учить иноземцев (исключая большую часть постсоветского пространства) конфигурировать УПП или тащить на себя плюсом 100500 задач. А так готовим запрос в 1с, а иноземцы качают в свою иноземную базу справочники, движения и все что им интересно.
54. YPermitin 6903 24.01.20 17:11 Сейчас в теме
(51) да, как-то вы решили сурово решить задачу выгрузки данных.

На счет вашего предложения по трансформации текста запроса. Оно уже в работе. Но сроков нет :)
56. Infector 142 24.01.20 17:16 Сейчас в теме
(54)был у нас иноземный гость, он и решал. Еще и пару сисадминов в свою веру обратить успел до того как уволился и уехал. Вот плоды моих экспериментов. Есть еще сырые варианты с попытками конверсии, но это не для публики. Однако пару сортов виртуальных таблиц разложить удалось. Хотите, могу поделиться.https://infostart.ru/public/849139/
57. acanta 72 24.01.20 17:24 Сейчас в теме
В свое время нашему отделу ит была интересна мысль использования рабочей базы 1с как внешнего источника данных. Ради скорости предполагалось из файловой сделать postgres с прямым доступом к СУБД. Но.. не хватило образования.
53. YPermitin 6903 24.01.20 17:10 Сейчас в теме
(49) В версии, что в разработке, подобное есть. Но этот функционал еще не точно отрабатывает для большинства запросов, просто потому что служебные запросы платформы совсем не такие как на языке 1С. Те же запросы получения настроек регистров, метаданных, временные таблицы со слежебными именами и прочее.

Вот когда я это завершу до конца, тогда это появится в рабочей версии.

Но делать из транслятора консоль не планируется :)
Возможно транслятор превратится в инструмент диагностики, если я совмещу его с разрабатываемым профайлером кода встроенного языка. Но это уже другая история...
Оставьте свое сообщение

См. также

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

Проверка SQL базы данных 1С 8.1, 8.2, 8.3

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf MS SQL Абонемент ($m) Администрирование СУБД

Обработка предназначена для проверки SQL базы данных 1С. Используется только для клиент-серверной версии 1С, у которой база данных хранится под управлением MS SQL Server. Конфигурация 1С значения не имеет.

2 стартмани

25.12.2019    3669    33    dgonson    19       

На время отключаем контроль остатков и проверку документов

Статья Системный администратор Программист Расширение (cfe) v8 ERP2 УТ11 КА2 Абонемент ($m) Администрирование СУБД

На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.

1 стартмани

24.12.2019    2971    3    sapervodichka    2       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Администрирование СУБД Нагрузочное тестирование Сервера

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

3 стартмани

17.12.2019    6059    7    sapervodichka    3       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.12.х и УТ 11.4.11.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Очистка кэша нескольких баз прямо из 1С

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Администрирование СУБД

Обработка предназначена для очистка кэша нескольких баз непосредственно из 1С (только в обычном режиме).

1 стартмани

04.12.2019    1691    15    r.moschenskiy    2       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

Инструменты и обработки Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Администрирование СУБД Производительность и оптимизация (HighLoad) Администрирование данных 1С Структура метаданных

Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

10 стартмани

27.11.2019    6200    29    akpaevj    42       

Мониторинг количества использованных программных лицензий, выданных выделенным сервером лицензирования

Инструменты и обработки Системный администратор Архив с данными v8 Linux Абонемент ($m) Zabbix

Следим за утилизацией программных клиентских лицензий на выделенном сервере лицензирования в разрезе кластеров 1С Предприятия, в состав которых включен данный сервер лицензирования

1 стартмани

22.11.2019    1397    Sloth    0       

Открыто голосование за доклады на INFOSTART MEETUP Krasnodar Промо

Выбирайте и голосуйте за самые интересные доклады, лучшие из них попадут в окончательную программу митапа. Голосование продлится до 30 января 2020 года.

Быстрая реструктуризация базы данных

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Производительность и оптимизация (HighLoad) Конфигурирование 1С

Внешняя обработка для быстрой реструктуризации клиент-серверной базы данных. Способ ускорения реструктуризации - замена таблиц большого объема пустыми копиями перед проведением обновления БД и возврат к исходным таблицам после обновления с предварительной корректировкой их структуры. Полностью автоматизировано создание и выполнение всех требуемых скриптов SQL. Представлены версии обработки для обычных форм (1С:Предприятие 8.2 (8.2.19.130)) и управляемого приложения (1С:Предприятие 8.3 (8.3.9.1818)).

1 стартмани

05.11.2019    6765    20    dmitrydemenew    35       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Влияние БСП на производительность базы 1С с добавленными метаданными

Инструменты и обработки Программист Расширение (cfe) v8 УТ11 Абонемент ($m) Производительность и оптимизация (HighLoad) Адаптация типовых решений БСП (Библиотека стандартных подсистем)

Повод для статьи — заметное снижение быстродействия при переводе учета с УТ 11.1 на 11.4 по «нашим» не стандартным метаданным (регламенты работы с массовым заполнением/проведением документов/регистров). Предварительно причину увидел во влиянии БСП. Была создана тестовая подсистема, быстродействие которой оцениваем в демобазе "Управление торговлей". С включенными и выключенными подписками БСП.

5 стартмани

04.11.2019    2476    2    VsHome    1       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

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

Инструменты и обработки Системный администратор Программист Внешний отчет (ert,erf) v8 Windows Абонемент ($m) Инструментарий разработчика Защита ПО

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

2 стартмани

21.10.2019    4564    5    YPermitin    10       

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

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия MS SQL Абонемент ($m) Инструментарий разработчика Администрирование СУБД

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

1 стартмани

02.10.2019    8428    137    dmitrydemenew    35       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Закрытие незавершенных сеансов

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Сервисные утилиты Администрирование СУБД

Как удалять потерянные сеансы пользователей, чтобы они не мешали работе. Обработка протестирована на платформе версии 8.3.13.1644.

1 стартмани

20.09.2019    5588    25    AnatolPopov    8       

Кто круче: "ИЛИ" или "ОБЪЕДИНИТЬ ВСЕ" в запросе?

Статья Программист Внешний отчет (ert,erf) v8 v8::СПР v8::Запросы ЗУП2.5 MySQL Абонемент ($m) Производительность и оптимизация (HighLoad)

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

1 стартмани

14.09.2019    3088    azazana    27       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Оптимизация прав ролей

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8::УФ v8::Права 1cv8.cf Россия Windows Абонемент ($m) Производительность и оптимизация (HighLoad) Роли и права

Решение вопроса по неоптимальной настройке (избыточной) ролей, влияющей на производительность системы (потребление оперативной памяти). Алгоритм работы следующий: Выгрузка конфигурации в файлы - Обработка (изменение) файлов прав ролей - Загрузка измененных прав в конфигурацию. Проверено на платформе начиная с 8.3.12.

1 стартмани

09.09.2019    3711    3    toxilamer    11       

Еще один тест 1C: Postgres SQL 11 Pro Enterpise против MSSQL 14 под Windows 2012 Server R2

Статья Системный администратор Архив с данными v8 Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Проработав 15 лет с MSSQL в 2017 начал активно СУБД Postgres SQL. За два года успел поработать в 9 версии Postgres и в 10-ой. И пришел к выводу, что существуют реальное замедление работы баз после перехода на Postgres. Недавно вышла 11 версия Postgres Pro Enterpise, которая обещает почти 2-х кратное ускорение над 11 Pro Standart и 10-ой версией. Закупив лицензию Postgres 11 Pro Enterpise Это я и решил проверить на 1С.

1 стартмани

05.09.2019    7749    26    ogidni    88       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.130.х, КА 2.4.11.х и ERP 2.4.11.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

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

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

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

31.08.2019    5484    144    YPermitin    7       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

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

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) WEB

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

5 стартмани

13.08.2019    5870    7    YPermitin    15       

Менеджер потоков: реализация "любой" задачи в потоках

Статья Программист Нет файла v8 Абонемент ($m) Производительность и оптимизация (HighLoad)

Менеджер потоков – один их новых инструментов, который упрощает работу разработчиков. Насколько легко с ним, на конференции Infostart Event 2018 Education показал начальник отдела автоматизации 1С Иван Филимонов компании «Трансстроймеханизация».

01.08.2019    5949    20    DarkAn    6       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 17 февраля по 13 марта 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

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

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

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

5 стартмани

24.07.2019    11189    115    YPermitin    26