Трансформатор 1С - SQL

19.09.17

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

Публикация размещена исключительно в образовательных целях и подходит только для платформы версии 8.3.7.2027.
Использует недокументированные средства доступа к базе данных 1С. Прямое обращение к СУБД нарушает лицензионное соглашение,
может изменить поведение платформы, привести к разрушению базы данных, скомпрометировать данные,
а также привести к отказу в официальной поддержке Фирмы 1С.
Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

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

Наименование Файл Версия Размер
Трансформатор 1с SQL:
.epf 32,01Kb
505
.epf 1.0.1 32,01Kb 505 Скачать

Возможности обработки

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

2) Замена наименований таблиц SQL запроса терминами 1С (например, вместо _Reference185 будет Справочник.ПодразделенияОрганизаций)

3) Представление ссылок в 1С «формате» (например, вместо 0x9E80A570B3B742FB44770FC3B9C6ACCD будет "Подразделения"   Перечисление.ВидыОбъектовДоступа)

4) Форматирование текста результирующего запроса с помощью интернет-сервиса «sqlformat.org»

Внешний вид обработки в обычных формах:

ОФ

в управляемых формах:

УФ

в браузере:

Для чего можно использовать

Пример 1

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

Пример: у нас есть запрос 1С из конфигурации УПП 1.3, который медленно выполняется под некоторыми пользователями, и мы хотим понять, какой запрос по факту выполняется и по возможности ускорить его.

Исходный запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 100
                СдельныйНаряд.Ссылка,
                СдельныйНаряд.Проведен,
                СдельныйНаряд.ПодразделениеОрганизации
ИЗ
                Документ.СдельныйНаряд КАК СдельныйНаряд
 
Результат трансформации (все опции включены):

Видно, что к исходному запросу добавляется громоздкое условие проверяющее доступ пользователя к данной таблице. Предположим, что в организации не используется управленческий учет, тогда проверку доступа RLS можно упростить, отключив контроль по подразделению и оставив контроль по подразделению организации (Операции->Константы->Настройка параметров доступа на уровне записей). Обратите внимание, что при включенном флажке «Результат в терминах 1С», текст запроса максимально приближен к тексту запроса, корректного для выполнения в консоли запроса 1С. Что мне не удалось сделать, так это убрать из текста запроса проверки типа для составных полей, так как для этого пришлось бы использовать полноценный парсер языка запросов SQL. Чтобы запрос был полностью рабочим для консоли запросов, придется руками убрать проверку на составной тип, если такой используется в запросе. В приведенном примере нужно заменить строки

T7.ОбъектДоступа_TYPE = 0x08

AND T7.ОбъектДоступа_RTRef = 0x000000B5

AND T7.ОбъектДоступа = T1.Подразделение на строку

на строку

AND T7.ОбъектДоступа = T1.Подразделение на строку

А также строки

T9.ОбъектДоступа_TYPE = 0x08

AND T9.ОбъектДоступа_RTRef = 0x000000B6

AND T9.ОбъектДоступа = T1.ПодразделениеОрганизации

На строку

T9.ОбъектДоступа = T1.ПодразделениеОрганизации

Тогда запрос будет полностью корректным для языка запросов 1с и его можно будет выполнить в консоли.

 

Дополнительный способ проверки результирующего запроса в SQL

Если при выполнении трансформации снять флажок «Результат в терминах 1С», то результирующий текст запроса будет корректным для языка T-SQL и его можно выполнить в SQL Server Management Studio или в консоли запросов, которая поддерживает выполнение прямых запросов SQL (например моя простенькая консоль SQL запросов). Для нашего примера со списком сдельных нарядов результат будет следующим:

 
Результат трансформации (снят флажок «Результат в терминах 1С»):

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

 

Пример 2

Еще один способ использования обработки – в связке с технологическим журналом, без использования трассировки. Пример: в доработанной конфигурации Документооборот 1.4 под некоторыми пользователями очень медленно открывается список внутренних документов. Настраиваем тех. журнал на отлов событий DBMSSQL и смотрим запросы, которые генерировала платформа при открытии формы списка (для настройки и анализа тех. журнала удобно пользоваться инструментами разработчика, но для просмотра можно использовать и типовую обработку с ИТС ПросмотрТехнологическогоЖурнала.epf). Находим следующий запрос:

 
Исходный запрос из технологического журнала:

Не очень удобно разбираться с таким запросом – нет форматирования, вместо параметров стоят вопросы и т.д., поэтому прогоняем его через трансформатор(все опции включены) и получаем такой вид:

 
Результат трансформации (все опции включены):

Видно, что однотипные ограничения RLS применяются 3 раза при выполнении запроса динамического списка (это можно понять по характерным конструкциям WHERE EXISTS() или по использованию области доступа «ДокументыИФайлы») и это может быть причиной медленной работы списка документов. С проверкой на доступ к таблице T1 «Справочник.ВнутренниеДокументы» сделать ничего не получится, так как это основная таблица списка, а вот оставшиеся 2 проверки под вопросом. «РегистрСведений.ОбщиеРеквизитыДокументов» T4 используется для получения реквизитов «КорреспондентыДляСписков», «ПредставлениеСостояния», «СодержитОригинал», а таблица «Справочник.ВидыВнутреннихДокументов» T12 используется для получения реквизита «ВидДокумента.ЯвляетсяКомплектомДокументов». Таким образом, можно либо не использовать поля на форме, которые приводят к вызову дополнительных проверок на права доступа, либо убрать проверку RLS для вспомогательного регистра с данными, так как проверка уже выполняется в основной таблице и эффекта от дополнительных проверок в данном запросе нет.

 

Пример 3

Еще один вариант использования обработки – исследование фактического запроса SQL при обращении к виртуальным таблицам 1с. Меня давно интересовал вопрос, как интерпретируется запрос к виртуальным таблицам. Если с таблицей остатков и оборотов регистров накопления все достаточно очевидно, то, например, с регистрами бухгалтерии было бы интересно посмотреть на фактический запрос при указании разных параметров. Рассмотрим достаточно простой запрос обращения к движениям с субконто за указанный период

ВЫБРАТЬ
	ХозрасчетныйДвиженияССубконто.СчетДт,
	ХозрасчетныйДвиженияССубконто.СубконтоДт1,
	ХозрасчетныйДвиженияССубконто.Сумма
ИЗ
	РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(ДАТАВРЕМЯ(2017, 5, 1), ДАТАВРЕМЯ(2017, 5, 31), Счет = &Счет, , ) КАК ХозрасчетныйДвиженияССубконто

Прогоняем запрос через трансформатор(все опции включены) и получаем такой вид:

 
Результат трансформации (все опции включены):

Получен интересный листинг, который показывает, что фактически происходит выполнение нескольких запросов с формированием временных таблиц. Рассмотрим эти запросы:

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

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

3) Формируется таблица #tt3, простым копированием первых 1000 записей из таблицы #tt2, упорядоченной по регистратору и номеру строки (порционная обработка данных таблицы)

4) Формируется таблица #tt4 с помощью соединения сформированной таблицы #tt3 с основной таблицей регистра бухгалтерии по регистратору и номеру строки, выбираются дополнительно поля СчетДт, СчетКт, Сумма.

5) Формируется таблица #tt5 с помощью соединения сформированной таблицы #tt4 с таблицей субконто регистра бухгалтерии из которой выбирается вид субконто, значение субконто, вид движения в дополнение к регистратору и номеру строки. Соединение с табличной частью плана счетов используется для определения номера субконто по счету дебета или кредита и по виду субконто.

6) Формируется таблица #tt1 левым соединением таблиц #tt4 и #tt5. Так как в запросе был выбран СубконтоДт1 из таблицы #tt5, то параметры соединения задаются соответственно: _AccEdKindLineNo — номер субконто 1, _Correspond — вид движения Дебет. СчетДт и Сумма берутся из таблицы #tt4.

7) Выбирается максимальный регистратор и номер строки, для отделения следующей порции данных

8) В таблицу #tt3 Выбирается следующая порция в 1000 записей из таблицы #tt2

9) Очистка таблицы #tt3. Здесь при необходимости происходит повторение выборки (шаги 4-9)

10) Окончательная выборка результатов из таблицы #tt1

 

Разобрав запрос, можно сделать вывод что производительность выборки из виртуальной таблицы ДвиженияССубконто полностью определяется объемами выбираемых данных и если не использовать отбор внутри виртуальной таблицы, то все записи физических таблиц будут прогоняться через временные таблицы порциями по 1000 записей, что очень медленно (даже продвинутая СУБД не сможет оптимизировать такой запрос).

 

Как настроить трассировку запроса из обработки

За трассировку запроса отвечает 2 поля:

Путь файла трассы — здесь указывается путь к папке, в которую будут сохраняться временные файлы трассировки и имя файла (например D:\Временные файлы\TraceTest). Имена файлов трассировки будут присваиваться автоматически, добавлением номера в конец имени (например TraceTest_54.trc)

Подключение SQL — строка подключения к базе данных (например «DRIVER={SQL Server};SERVER=PC_1C_003;UID=sa;PWD=123;DATABASE=Localbase»). Строку подключения можно проверить на работоспособность, нажав на кнопку «Проверить подключение».

Трассировка запускается только если исходный запрос написан на языке запросов 1с, поэтому если введен SQL запрос, то поля «Путь файла трассы» и «Подключение SQL» можно не заполнять.

 

Выводы

Данную обработку можно использовать в связке с технологическим журналом с помощью инструментов разработчика или типовой обработки, а также можно использовать без ТЖ, используя трассировку запроса, встроенную в обработку или запуская трассировку вручную. Для понимания фактически выполняемого SQL запроса, гораздо удобнее видеть наименования таблиц и полей в терминах 1с, видеть представление ссылок 1с и читать форматированный текст запроса с отступами и пробелами.

Форма обработки анализа ТЖ из инструментов разработчика:

ИР

Форма типовой обработки с ИТС для просмотра логов ТЖ:

Типовая обработка

Ссылки

Инструменты разработчика: //infostart.ru/public/15126/

Типовая обработка просмотра логов ТЖ: https://its.1c.ru/db/metod8dev#content:5896:hdoc

Простая консоль ADO запросов: //infostart.ru/public/343268/

Update 19.09.2017

- При обращении к сервису форматирования убрано использование объекта ЧтениеJSON, для совместимости с 8.2 и версиями ниже 8.3.6

Обработка SQL технологический журнал трассировка

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    119959    656    389    

701

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    7016    20    6    

37

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    3253    10    1    

31

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177352    1071    0    

846

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99207    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

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

3000 руб.

27.08.2019    17921    6    8    

38

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    27949    3    10    

14

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

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

2400 руб.

24.09.2019    23493    15    15    

31
Отзывы
54. strop 11.02.22 19:09 Сейчас в теме
(52)
(52)
Проблема была в пути к файлу трассы. SQL сервер не мог туда писать. Спасибо
Andreyyy; +1 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Gilev.Vyacheslav 1910 28.06.17 09:53 Сейчас в теме
неплохо
корум; seperblunt2; r.zdorkin; +3 Ответить
2. bulpi 215 28.06.17 12:58 Сейчас в теме
Ха! Неплохо ? Да это просто бомба!
корум; wowik; mus-yo; seperblunt2; YPermitin; user747571; 🅵🅾️🆇; rpgshnik; primara; purgin; pallid; kolya_tlt; ice-net; WellMaster; sqncng; JohnConnor; maksa2005; JohnyDeath; kuzyara; akR00b; +20 2 Ответить
5. Synoecium 777 28.06.17 16:30 Сейчас в теме
(2) Спасибо за высокую оценку :)

(3) Да, портянки действительно большие, звучит разумно показывать по кнопке.
55. пользователь 24.03.23 17:37
Сообщение было скрыто модератором.
...
14. user774630 29.06.17 12:48 Сейчас в теме
(2) у Вячеслава это, видимо, максимальное значение из диапазона оценок :)
wowik; rpgshnik; JohnyDeath; +3 Ответить
17. JohnyDeath 301 29.06.17 14:15 Сейчас в теме
(14) если только это не оценка ему самому )
15. Yashazz 4707 29.06.17 12:57 Сейчас в теме
(2) Бомба? Я вас умоляю, это баян. Просто акккуратно и хорошо сделано. И публикация грамотно оформлена.
3. swimdog 762 28.06.17 15:21 Сейчас в теме
Рекомендую тексты запросов в статье поместить в спойлеры.
Скрытый текст
tormozit; +1 Ответить
4. pm74 199 28.06.17 15:26 Сейчас в теме
6. tormozit 7133 28.06.17 19:28 Сейчас в теме
А че же про встроенный конвертор текста запроса в анализе техножурнала не упомянул? Там есть
- преобразование констант в ссылки
- перевод в термины метаданных
- форматирование
- список таблиц использованных в запросе
- переход в конструктор запроса
- переход в дерево запроса
r.zdorkin; CSiER; artbear; +3 Ответить
9. kuzyara 1896 29.06.17 05:20 Сейчас в теме
(6)
- форматирование

А где оно расположено?

Помню сколько я мучился с сервисами онлайн-форматирования кода когда изучал исходные запросы виртуальных таблиц...
12. tormozit 7133 29.06.17 07:24 Сейчас в теме
(9)
Флажок "Пересобрать текст"
7. igomark 28.06.17 19:40 Сейчас в теме
О, по-моему, это крутейшая штука!
rpgshnik; +1 Ответить
8. Tanis 28.06.17 20:17 Сейчас в теме
Вечер добрый!

Прекрасная вещь! Молодцы!

Спасибо!
10. kuzyara 1896 29.06.17 05:48 Сейчас в теме
По-моему, в статье зря не упомянуто про типовую консоль запросов.
https://its.1c.ru/db/metod8dev/content/4500/hdoc

Именно с неё я и начинал изучение внутренностей бд.
Прикрепленные файлы:
zoikins; wowik; ZLENKO; stilet; +4 Ответить
22. Manticor 66 19.09.17 11:44 Сейчас в теме
(10) Николай, поделитесь плиз такой консолью, в типовой с сайта ИТС нет опции "показывать план выполнения запроса"
24. kuzyara 1896 19.09.17 12:21 Сейчас в теме
(22), в обработке для 8.3 - есть.
11. ArchLord42 83 29.06.17 07:14 Сейчас в теме
Очень нужная вещь, автор молодец!
13. 1segen1 33 29.06.17 09:50 Сейчас в теме
Отличная вещь! Автор - молодец.
16. Yashazz 4707 29.06.17 13:00 Сейчас в теме
Красиво сделано, аккуратно оформлено, толково рассказано. Собирался "вырастить" нечто подобное из своей http://infostart.ru/public/462714/, но руки не дошли. Спасибо, на первый взгляд выглядит как серьёзная качественная работа.
18. Serg O. 224 29.06.17 15:03 Сейчас в теме
только под 8.3 работает?

на платформе 8.2 - выдаёт ошибку!

{ВнешняяОбработка.ТрансформаторSQL1С.МодульОбъекта(26,22)}: Тип не определен (ЧтениеJSON)
ЧтениеJSON = Новый <<?>>ЧтениеJSON;
19. qwed557 30 29.06.17 19:50 Сейчас в теме
(18)
ЧтениеJSON

а что платформа 8.2 поддерживает JSON? Сами же видите где ошибка.
20. Synoecium 777 30.06.17 06:27 Сейчас в теме
(18) выяснил, что формат JSON в 1С до версии 8.3.6 не реализован https://helpf.pro/faq82/view/1664.html
В принципе большой сложности нет - написать код разбора JSON ответа с форматированным запросом, тогда будет работать и на 8.2. Сделаю в след. версии. Пока можно не пользоваться галкой "Форматирование интернет-сервисом", остальное то будет работать.
21. Manticor 66 19.09.17 11:26 Сейчас в теме
(20) аффтар, удалось переделать для версии 8.2))) ??
23. Synoecium 777 19.09.17 11:53 Сейчас в теме
(21) доработка небольшая, в ближайшее время сделаю, раз есть потребность у сообщества. Просто я пока занялся доведением до ума своей консоли запросов, скоро выложу на ИС :)
25. Sergey.Noskov 1375 29.09.17 10:53 Сейчас в теме
Большая работа, спасибо.
PS надеюсь когда нибудь конструктор запроса научится выдавать и текст запроса в терминах СУБД
27. red80 29.09.17 16:29 Сейчас в теме
28. Sergey.Noskov 1375 29.09.17 16:43 Сейчас в теме
(27) что бы видеть реальный запрос
26. LexSeIch 210 29.09.17 14:50 Сейчас в теме
Автору спасибо за разработку - взял на заметку.
29. SergF 30.09.17 10:16 Сейчас в теме
А самое главное, - автор не собирается останавливаться на достигнутом :

//TODO
//1. Прикрутить план запросов SQL
//2. Выполнение запроса под определенным пользователем (под вопросом)
//3. Проверка на тонкий клиент 8.3.5 конструктор запроса + модальный вызов
//4. Сохранение/загрузка настроек в УФ

Очень ждем продолжения !!!
30. Synoecium 777 02.10.17 14:33 Сейчас в теме
(29) вообще планы по развитию есть, но после обдумывания акценты сместились. В первую очередь хочу проработать 2 пункта:
1) таблица с параметрами запроса, как в консоли запросов. Это позволит выполнять некоторые запросы, которые нельзя выполнить сейчас из-за ограничений параметров, задаваемых текстом (например вирт. таблица регистра расчета для определения базы по регистру)
2) выполнение под другим пользователем. Тоже полезная функция, если надо проверить фактический запрос с учетом RLS для пользователя
Насчет плана запроса, есть задумки, но если делать, то надо делать полноценный вариант с графическим представлением и деревом плана запроса, а это довольно сложно. Разве что скопировать с согласия автора функционал из существующих на ИС обработок, работающих с планом запроса. В общем, с планом планом пока не определился точно, пишите пожелания :)
31. asved.ru 36 27.06.18 08:56 Сейчас в теме
+++
Как раз собирался написать конвертер для нового ЦУП (который на УФ). Благодаря Вам эта муторная работа отменяется.
32. wding 14.05.19 10:00 Сейчас в теме
Добрый день!
Обработка классная!
Но, при обновлении платформы на 8.3.13.1644 перестала работать
Прикрепленные файлы:
33. Synoecium 777 14.05.19 11:02 Сейчас в теме
(32) Это скорее всего проблемы с com-коннектором, а не с платформой, надо убедиться что он у вас работает сначала. Com-соединение используется в обработке чтобы определить ID запроса, по которому затем отбирается запрос SQL из трассировки.
Давайте в личку, попытаюсь помочь.
34. wding 14.05.19 11:24 Сейчас в теме
(33) В личку что-то не пишется, ругается на какуюто отложенную группу :(
Вот в чем "затык", но как исправить не понимаю:

{ВнешняяОбработка.ТрансформаторSQL1С.МодульОбъекта(350)}: Ошибка при вызове конструктора (COMОбъект)
Коннектор = Новый COMОбъект("v"+версияКоннектора+".COMConnector");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
35. Synoecium 777 14.05.19 11:37 Сейчас в теме
(34) посмотрите эти статьи, думаю информация из них поможет:
http://1clenta.ru/pattern/186 //сначала пробуйте так
https://infostart.ru/public/400951/ //если не получится, то так
https://infostart.ru/public/276794/ //эта статья скорее всего уже перебор для вашего случая, но на всякий случай :)
36. wding 14.05.19 15:52 Сейчас в теме
(35) Поучительные статьи.
Все сделал именно так -- под УФ не работает. Работает под неуправляемыми формами ...
Странно как-то. Уже по сносил все и переустановил, но все равно под УФ УТ 11.4 не работает.
37. tormozit 7133 14.05.19 16:03 Сейчас в теме
(36) Попробуй инструмент "Управление COM классами 1С" из набора "Инструменты разработчика". Он тебе покажет все варианты регистрации коннектора и позволит зарегистировать нужные.
38. wding 14.05.19 16:22 Сейчас в теме
(37) Тут глюк я думаю у 1С серьезный: та же конфа УТ 11.4, в режиме обычное приложение все отрабатывает на УРА! ... А, в режиме управляемого ругается.
39. tormozit 7133 14.05.19 16:40 Сейчас в теме
(38) Глюка в 1С тут уверяю нет. Но конечно, чтобы в этом убедиться, тебе потребуется потратить время.
46. Synoecium 777 24.10.19 09:43 Сейчас в теме
проблему уже обсуждали в комментарии (34), скорее всего у вас просто не установлена com-компонента для связи с сервером приложений 1С
40. r.zdorkin 06.06.19 07:29 Сейчас в теме
Спасибо за обработку, не понял только почему не добавлена опция доверительного подключения к SQL. хотя дописать скачавшему в этом плане не проблема
41. Synoecium 777 06.06.19 07:33 Сейчас в теме
(40) а что за доверительное подключение, какая от него польза? Можете ссылкой поделиться - почитаю на досуге
42. r.zdorkin 06.06.19 07:51 Сейчас в теме
(41)
видимо слишком вычурно выразился. я имел ввиду виндовую аутентификацию по сути, просто если в рамках строки подключения через ADO прямой перевод именно такой " доверительное подключение)

код будет примерно такой для получения строки подключения в случае ADO

Если ДоверительноеПодключение Тогда 
			стрПодключения = ("Provider=SQLOLEDB; Server="+СокрЛП(СерверSQL)+"; Trusted_Connection=yes; DataBase="+СокрЛП(БазаSQL));
			
		Иначе 		
			
			
			
			
			стрПодключения = "Driver={SQL Server};Server=" + СокрЛП(СерверSQL) + ";Uid=" + СокрЛП(ПользовательSQL) + ";Pwd=" + 
                                                         СокрЛП(ПарольSQL) + ";DataBase=" + СокрЛП(БазаSQL) + ";" + "Pwd=" + СокрЛП(ПарольSQL) +";";
			
			
		КонецЕсли; 
Показать


ну и еще раз спасибо за удобный инструмент и подробные инструкции
43. Synoecium 777 06.06.19 07:57 Сейчас в теме
(42) аа, похоже понял о чем речь. Имеете ввиду возможность авторизации без логина и пароля, как в Management Studio через пункт "Windows Authentication"? Да, хорошая идея, спасибо
44. r.zdorkin 06.06.19 08:06 Сейчас в теме
45. user1005652 24.10.19 06:08 Сейчас в теме
Выводит следующую ошибку
{ВнешняяОбработка.ТрансформаторSQL1С.МодульОбъекта(350)}: Ошибка при вызове конструктора (COMОбъект)
Коннектор = Новый COMОбъект("v"+версияКоннектора+".COMConnector");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса
47. Synoecium 777 24.10.19 12:22 Сейчас в теме
(45) эта проблема уже обсуждалась в комментарии (34), скорее всего у вас не установлена com-компонента подключения к серверу приложений 1с
48. user1416994 01.06.20 15:50 Сейчас в теме
49. Synoecium 777 01.06.20 16:41 Сейчас в теме
(48) да как обычно, это же внешняя обработка 1с за 1 стартмани
50. user1712176 10.12.21 11:24 Сейчас в теме
При выполнении ошибка:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][SQL Server]You do not have permission to run 'SYS.TRACES'.

Подключение к SQL - успешно
путь файла трассы - указан
51. strop 11.02.22 10:47 Сейчас в теме
Подключение к SQL успешно. Но на все, даже самые маленькие, запросы - ошибка

Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][SQL Server]Имя объекта или столбца отсутствует или пусто. Убедитесь, что каждый из столбцов в инструкции SELECT INTO имеет имя. Для других инструкций проверьте наличие пустых имен-псевдонимов. Не допускаются псевдонимы, определенные как [] или "". Измените псевдоним на допустимое имя.

1С:ERP 2.4.8.92. платформа 8.3.18.1289.
52. Synoecium 777 11.02.22 12:30 Сейчас в теме
(51)
Убедитесь, что каждый из столбцов в инструкции SELECT INTO имеет имя. Для других инструкций проверьте наличие пустых имен-псевдонимов. Не допускаются псевдонимы, определенные как [] или "". Измените псевдоним на допустимое имя.

Что-то пока никаких идей почему такая ошибка, но по тексту похоже что проблема в момент выполнения запрос MSSQL, который собирает через трассировку текст реального запроса. А какая версия MS SQL используется? Сможете в отладчике посмотреть какой текст запроса выполняется к MS SQL перед тем, как выдается ошибка?
54. strop 11.02.22 19:09 Сейчас в теме
(52)
(52)
Проблема была в пути к файлу трассы. SQL сервер не мог туда писать. Спасибо
Andreyyy; +1 Ответить
53. strop 11.02.22 19:03 Сейчас в теме
(52)
MS SQL 2016 13.0.5026.0. В понедельник подробнее посмотрим.
Оставьте свое сообщение