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

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

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

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

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

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

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с и читать форматированный текст запроса с отступами и пробелами.

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

ИР

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

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

Ссылки

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

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

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

Update 19.09.2017

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

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

Наименование Файл Версия Размер
Трансформатор 1с SQL:

.epf 32,01Kb
367
.epf 1.0.1 32,01Kb 367 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Gilev.Vyacheslav 1878 28.06.17 09:53 Сейчас в теме
2. bulpi 181 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; kare; +19 2 Ответить
5. Synoecium 717 28.06.17 16:30 Сейчас в теме
(2) Спасибо за высокую оценку :)

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

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

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

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

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

Именно с неё я и начинал изучение внутренностей бд.
Прикрепленные файлы:
wowik; ZLENKO; stilet; +3 Ответить
22. Manticor 66 19.09.17 11:44 Сейчас в теме
(10) Николай, поделитесь плиз такой консолью, в типовой с сайта ИТС нет опции "показывать план выполнения запроса"
24. kuzyara 1132 19.09.17 12:21 Сейчас в теме
(22), в обработке для 8.3 - есть.
11. ArchLord42 75 29.06.17 07:14 Сейчас в теме
Очень нужная вещь, автор молодец!
13. 1segen1 32 29.06.17 09:50 Сейчас в теме
Отличная вещь! Автор - молодец.
16. Yashazz 3740 29.06.17 13:00 Сейчас в теме
Красиво сделано, аккуратно оформлено, толково рассказано. Собирался "вырастить" нечто подобное из своей http://infostart.ru/public/462714/, но руки не дошли. Спасибо, на первый взгляд выглядит как серьёзная качественная работа.
18. Serg O. 191 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 717 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 717 19.09.17 11:53 Сейчас в теме
(21) доработка небольшая, в ближайшее время сделаю, раз есть потребность у сообщества. Просто я пока занялся доведением до ума своей консоли запросов, скоро выложу на ИС :)
25. Sergey.Noskov 1185 29.09.17 10:53 Сейчас в теме
Большая работа, спасибо.
PS надеюсь когда нибудь конструктор запроса научится выдавать и текст запроса в терминах СУБД
27. red80 29.09.17 16:29 Сейчас в теме
28. Sergey.Noskov 1185 29.09.17 16:43 Сейчас в теме
(27) что бы видеть реальный запрос
26. LexSeIch 208 29.09.17 14:50 Сейчас в теме
Автору спасибо за разработку - взял на заметку.
29. SergF 30.09.17 10:16 Сейчас в теме
А самое главное, - автор не собирается останавливаться на достигнутом :

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

Очень ждем продолжения !!!
30. Synoecium 717 02.10.17 14:33 Сейчас в теме
(29) вообще планы по развитию есть, но после обдумывания акценты сместились. В первую очередь хочу проработать 2 пункта:
1) таблица с параметрами запроса, как в консоли запросов. Это позволит выполнять некоторые запросы, которые нельзя выполнить сейчас из-за ограничений параметров, задаваемых текстом (например вирт. таблица регистра расчета для определения базы по регистру)
2) выполнение под другим пользователем. Тоже полезная функция, если надо проверить фактический запрос с учетом RLS для пользователя
Насчет плана запроса, есть задумки, но если делать, то надо делать полноценный вариант с графическим представлением и деревом плана запроса, а это довольно сложно. Разве что скопировать с согласия автора функционал из существующих на ИС обработок, работающих с планом запроса. В общем, с планом планом пока не определился точно, пишите пожелания :)
31. asved.ru 35 27.06.18 08:56 Сейчас в теме
+++
Как раз собирался написать конвертер для нового ЦУП (который на УФ). Благодаря Вам эта муторная работа отменяется.
32. wding 14.05.19 10:00 Сейчас в теме
Добрый день!
Обработка классная!
Но, при обновлении платформы на 8.3.13.1644 перестала работать
Прикрепленные файлы:
33. Synoecium 717 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 717 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 6293 14.05.19 16:03 Сейчас в теме
(36) Попробуй инструмент "Управление COM классами 1С" из набора "Инструменты разработчика". Он тебе покажет все варианты регистрации коннектора и позволит зарегистировать нужные.
38. wding 14.05.19 16:22 Сейчас в теме
(37) Тут глюк я думаю у 1С серьезный: та же конфа УТ 11.4, в режиме обычное приложение все отрабатывает на УРА! ... А, в режиме управляемого ругается.
39. tormozit 6293 14.05.19 16:40 Сейчас в теме
(38) Глюка в 1С тут уверяю нет. Но конечно, чтобы в этом убедиться, тебе потребуется потратить время.
46. Synoecium 717 24.10.19 09:43 Сейчас в теме
проблему уже обсуждали в комментарии (34), скорее всего у вас просто не установлена com-компонента для связи с сервером приложений 1С
40. r.zdorkin 06.06.19 07:29 Сейчас в теме
Спасибо за обработку, не понял только почему не добавлена опция доверительного подключения к SQL. хотя дописать скачавшему в этом плане не проблема
41. Synoecium 717 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 717 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 717 24.10.19 12:22 Сейчас в теме
(45) эта проблема уже обсуждалась в комментарии (34), скорее всего у вас не установлена com-компонента подключения к серверу приложений 1с
48. user1416994 01.06.20 15:50 Сейчас в теме
49. Synoecium 717 01.06.20 16:41 Сейчас в теме
(48) да как обычно, это же внешняя обработка 1с за 1 стартмани
Оставьте свое сообщение

См. также

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

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

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

1 стартмани

05.03.2020    4542    7    moolex    6    

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

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

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

2 стартмани

06.03.2021    3104    5    pila86    16    

Генератор кода схемы компоновки данных (СКД)

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

Формирование кода для программного создания схемы компоновки данных (СКД)

1 стартмани

04.02.2021    4168    41    Sergspectr    33    

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

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

5 стартмани

21.12.2020    4058    19    huxuxuya    11    

Markdown-editor в 1С (с сохранением в HTML) Промо

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

В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.

1 стартмани

04.07.2019    9447    16    riposte    6    

Отладчик запроса 1С 8.3 (управляемые формы), бета-версия

Консоль запросов v8 v8::УФ 1cv8.cf Абонемент ($m)

По просьбам некоторых своих коллег и пользователей Инфостарта, выкладываю первую версию обработки "Отладчик запросов by Акулов А.С.", переделанной под управляемые формы. Реализованы почти все возможности из отладчика запросов, которые присутствовали в версии под обычные формы, а также добавлено немного нового.

1 стартмани

28.09.2020    9125    107    DrAku1a    28    

Конвертация данных 3 расширение: Редактор кода.

Инструментарий разработчика Адаптация типовых решений v8 КД Россия Абонемент ($m)

Расширение для конфигурации “Конвертация данных 3.0” добавляет на все формы, где используется код языка 1С, консоль кода для управляемых форм. В результате работать с кодом в пользовательском режиме становится намного удобнее - появляется привычная расцветка кода, а также контекстная подсказка.

1 стартмани

08.09.2020    7569    25    Viktor_Ermakov    29    

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

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

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

14.08.2020    10016    0    Enigma    47    

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

Консоль запросов v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

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

5 стартмани

14.08.2018    107651    2727    Evg-Lylyk    722    

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

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

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

1 стартмани

17.07.2020    17829    287    salexdv    273    

Консоль запросов 9000

Консоль запросов v8 v8::Запросы 1cv8.cf Абонемент ($m)

Простая и удобная консоль запросов 1С для управляемых форм 8.3, работает на любой конфигурации без ее модификации. Возможность использования как внешней обработки или в составе расширения. С перехватом любых запросов и поддержкой всех типов данных во временных таблицах. Анализ плана запроса, запроса на уровне СУБД. Обработка результата кодом.

1 стартмани

24.02.2020    16804    347    kuza2000    134    

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

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

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

2 стартмани

24.01.2020    13473    51    YPermitin    32    

Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих) Промо

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

Простая обработка для просмотра и установки значений предопределенных элементов. Позволяет заменить значение предопределенного элемента с одного элемента справочника на другой, удалить предопределенный элемент (снять пометку предопределенности), установить пометку переопределенного элемента. Проверяет предопределенные данные на наличие задвоений и отсутствующих. Работает со справочниками, планами счетов, планами видов характеристик, планами видов расчетов.

2 стартмани

06.10.2014    159406    2672    ekaruk    168    

Инструменты оптимизации для 1С на MS SQL Server

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

Набор базовых инструментов для поиска узких мест в работе 1С на MS SQL Server.

1 стартмани

15.12.2019    18515    224    berezdetsky    23    

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

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

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

1 стартмани

02.10.2019    23582    227    dmitrydemenew    49    

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

Инструментарий разработчика Практика программирования Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

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

3 стартмани

04.09.2019    30133    27    Stepa86    46    

Консоль запросов с графом (Анализатор сложных запросов) Промо

Консоль запросов v8::УФ v8::Запросы 1cv8.cf Абонемент ($m)

Консоль запросов для анализа запросов с большим количеством временных таблиц и вложенных запросов. Отображает структуру взаимосвязей временных таблиц в виде графа. Позволяет быстро передвигаться по тексту запроса и получать результат выполнения подзапросов. Единственная консоль запросов, которая позволяет выводить результат выполнения вложенных запросов и любой части объединения запроса. Удобное получение данных запроса из отладчика включая временные таблицы. Текст запроса в структурированном виде (можно свернуть, развернуть текст подзапроса). И еще много другого, чего вы не найдете в других консолях запросов. Поддержка УФ и ОФ. Версия 0.9.1 от 18.10.2019 (поддержка WebKit).

10 стартмани

03.05.2017    99995    456    manuel    278    

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

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

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

1 стартмани

30.06.2019    14304    0    vadim1980    5    

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

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

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

1 стартмани

03.06.2019    30613    9    ripreal1    91    

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

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

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

1 стартмани

13.05.2019    33195    140    Diversus    42    

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении Промо

Универсальные функции Инструментарий разработчика Учет ТМЦ Учет ТМЦ v8 1cv8.cf Россия БУ Абонемент ($m)

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

1 стартмани

17.08.2015    50038    168    ekaruk    32    

Групповая проверка доработок

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

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    17373    113    sapervodichka    23    

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций

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

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    22337    61    Bazil    34    

Настройка отладки на сервере 1С

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

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    32352    136    frkbvfnjh    42    

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

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

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

1 стартмани

24.05.2012    80635    961    moolex    147    

Методика оптимизации программного кода 1С: проведение документов

Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    27377    18    dmitrydemenew    84    

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

Пользователю системы Инструментарий разработчика v8 v8::УФ Россия Абонемент ($m)

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    15425    44    ROM_NN    8    

Конструктор мобильного клиента 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    50896    262    informa1555    234    

Консоль запросов + ТЗ как параметры Промо

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

Стандартная консоль запросов, с добавленной возможностью использования описания/заполнения/использования таблиц значений как параметров. Совместима с настройками базовой консоли. Упрощает отладку запросов, использующих временные таблицы.

2 стартмани

12.11.2010    39102    442    Kashemir    24    

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6

Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом v8 Абонемент ($m)

Конфигурация-подсистема для управления задачами с базовым функционалом, который, однако, может удовлетворить довольно широкий спектр запросов. Есть статусы и приоритеты, учёт трудозатрат по исполнителям и даже базовые разграничения по правам. А открытый исходный код позволит на базе данной конфигурации развить систему до любого уровня сложности.

2 стартмани

17.12.2018    23270    119    for_sale    38    

Консоль Внедренца v.3.6.2

Консоль запросов Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.08.2018    24822    400    evvakra    42    

HTTP Сервисы: Путь к своему сервису. Часть 3

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

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    44697    63    dsdred    17    

[x1c.ru] 1CDBin: Работа с файлами *.1CD на низком уровне средствами языка 1С с возможностью чтения таблиц (поддерживается формат 8.3.8.0) Промо

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

Обработка позволяет просматривать файловые базы 1CD на низком уровне средствами встроенного языка. Реализована часть функциональности Tool_1CD, но на языке 1С Предприятия. Показываются таблицы, параметры таблиц, поля таблиц, записи таблиц, значения полей BLOB, есть 16-ричный просмотр страниц базы и консоль кода. Можно использовать для изучения структуры файлов 1CD, просмотра баз 1CD для выявления повреждений, создания своих обработок для выгрузки данных без открытия исследуемой базы в 1С:Предприятии.

1 стартмани

07.10.2014    57422    365    GusevNA    77    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

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

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    31437    28    informa1555    26    

Консоль HTTP-запросов с генерацией кода

Консоль запросов v8 v8::УФ 1cv8.cf Абонемент ($m)

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    27800    299    leongl    19    

Униформальная консоль запросов

Консоль запросов v8::УФ v8::Запросы 1cv8.cf Абонемент ($m)

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

1 стартмани

23.05.2018    25369    324    Synoecium    58    

Регистры правил [Расширение]

Инструментарий разработчика Информационная безопасность v8 v8::Права УТ11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    20039    28    33lab    5    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

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

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    32194    5    kraynev-navi    41    

Программное формирование форматированной строки в стиле html+inline CSS

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

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    36679    42    bonv    11    

Макет в СКД - пример всех возможных типовых вариантов

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

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    24224    77    freelancer    4    

Заполнение шаблона Word на сервере, без использования MS Office (docx -> zip -> xml). Предусмотрен вывод табличных частей

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

Шаблон в Word, управляемые формы. Создание заполнение документа Word (docx -> zip -> xml) по шаблону на сервере без использования MS Office. Предусмотрен вывод табличных частей.

2 стартмани

04.10.2017    31304    230    artms    60    

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С

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

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    33937    22    ivanov660    46    

OneStyle. Улучшенное форматирование кода в конфигураторе

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

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

1 стартмани

19.06.2017    25657    24    Stepa86    46    

"Конвертация данных" + Git. Решение проблемы различий в файлах

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

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    27367    44    stas_ganiev    13    

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

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

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

1 стартмани

28.05.2017    28104    203    Bassgood    11    

Набор подсистем "Умные таблицы"

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

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    35238    104    Silenser    34