Однопальцевое преобразование "одинэсного" запроса в запрос на SQL

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

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

Обработка предназначена для преобразования "одинэсных" запросов в запросы на SQL средствами встроенного языка. Разработка не претендует на то, чтобы на 100% повторить то, что разработчики видят при трассировке запросов в инструментах вроде Profiler. Но во многих случаях результат преобразования можно будет без дополнительной ручной обработки выполнить, например, в Managment studio. Актуальные ограничения и проблемы преобразователя описаны в статье. Работает с версией платформы не ниже 8.3.10.

Описание работы

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

Требования к тексту на языке 1С:

 - Он обязательно должен открываться конструктором запросов. Без этого преобразование невозможно т.к парсинг текста происходит средствами этого механизма.

-  Запрос обязательно должен быть отформатирован при помощи конструктора запросов. 

 

Внешний вид обработки

 

Описания команд:

1. При нажатии кнопки происходит непосредственное преобразование запроса на SQL

2. Открывается конструктор запросов

3. Открывается форма задания параметров запроса

4. Происходит разыменование полей через точку.

 

Возможности и "фишки" обработки.

 

1. Преобразование параметров 

 

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

 

Форма параметров

 

Например, для запроса 

ВЫБРАТЬ ПЕРВЫЕ 50
    Контрагенты.Наименование КАК Наименование,
    ВложенныйЗапрос.РУ КАК РУ
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 150
            РеализацияУслуг.Ссылка КАК РУ,
            РеализацияУслуг.Контрагент КАК Контрагент
        ИЗ
            Документ.РеализацияУслуг КАК РеализацияУслуг
        ГДЕ
            РеализацияУслуг.Дата < &Дата) КАК ВложенныйЗапрос
        ПО (Контрагенты.Ссылка = ВложенныйЗапрос.Контрагент)
ГДЕ
    Контрагенты.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
    Контрагенты.Наименование,
    ВложенныйЗапрос.РУ

Результат преобразования будет:

SELECT TOP 50
Контрагенты._Description Наименование,
ВложенныйЗапрос.РУ РУ
FROM
_Reference35 Контрагенты
INNER JOIN (SELECT TOP 150
РеализацияУслуг._IDRRef РУ,
РеализацияУслуг._Fld1114RRef Контрагент
FROM
_Document1109 РеализацияУслуг

WHERE
РеализацияУслуг._Date_Time < {ts '2021-04-16 12:00:00'}) ВложенныйЗапрос
ON Контрагенты._IDRRef = ВложенныйЗапрос.Контрагент
WHERE
Контрагенты._IDRRef = CAST(0xA277CD71A26B4BEA4F311172C8623727  AS binary(16))

GROUP BY
Контрагенты._Description,
ВложенныйЗапрос.РУ

2. Преобразование вложенных запросов

Обработка отлично справляется с вложенными запросами. Количество уровней при этом неважно. Например, запрос для получения "среза последних" без обращения к виртуальной таблице:

ВЫБРАТЬ
    ВложенныйЗапрос1.Подразделение КАК Подразделение,
    ВложенныйЗапрос1.Период КАК Период,
    ВложенныйЗапрос1.Должность КАК Должность
ИЗ
    (ВЫБРАТЬ
        ВложенныйЗапрос.Подразделение КАК Подразделение,
        ВложенныйЗапрос.Период КАК Период,
        ОтветственныеЛица.Должность КАК Должность
    ИЗ
        (ВЫБРАТЬ
            ОтветственныеЛица.Подразделение КАК Подразделение,
            МАКСИМУМ(ОтветственныеЛица.Период) КАК Период
        ИЗ
            РегистрСведений.ОтветственныеЛица КАК ОтветственныеЛица
        ГДЕ
            ОтветственныеЛица.Период <= &Период
        
        СГРУППИРОВАТЬ ПО
            ОтветственныеЛица.Подразделение) КАК ВложенныйЗапрос
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица КАК ОтветственныеЛица
            ПО ВложенныйЗапрос.Период = ОтветственныеЛица.Период
                И ВложенныйЗапрос.Подразделение = ОтветственныеЛица.Подразделение) КАК ВложенныйЗапрос1

будет преобразован в 
 

SELECT
ВложенныйЗапрос1.Подразделение Подразделение,
ВложенныйЗапрос1.Период Период,
ВложенныйЗапрос1.Должность Должность

(SELECT
ВложенныйЗапрос.Подразделение Подразделение,
ВложенныйЗапрос.Период Период,
ОтветственныеЛица._Fld7656RRef Должность
FROM
(SELECT
ОтветственныеЛица._Fld7654RRef Подразделение,
MAX(ОтветственныеЛица._Period) Период
FROM
_InfoRg7653 ОтветственныеЛица

WHERE
ОтветственныеЛица._Period <= {ts '2021-04-15 12:00:00'}

GROUP BY
ОтветственныеЛица._Fld7654RRef) ВложенныйЗапрос
INNER JOIN _InfoRg7653 ОтветственныеЛица
ON ВложенныйЗапрос.Период = ОтветственныеЛица._Period
AND ВложенныйЗапрос.Подразделение = ОтветственныеЛица._Fld7654RRef) ВложенныйЗапрос1

2. Разыменование полей "через точку"

Обработка позволяет в автоматическом режиме задать явное левое соединение к таблицам, реквизиты которой получаются через точку. Функция нерекурсивна. Поэтому если точек несколько, то нажать кнопку соответствующее количество раз. Составные типы предусмотрены. Например, запрос

 

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

Преобразуется сначала в 

ВЫБРАТЬ
    КонтрагентыРодительКонтрагенты.Автор.Код КАК РодительАвторКод,
    Контрагенты.Наименование КАК Наименование
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК КонтрагентыРодительКонтрагенты
        ПО (Контрагенты.Родитель = КонтрагентыРодительКонтрагенты.Ссылка)

А при повторном нажатии в 

ВЫБРАТЬ
    КонтрагентыРодительКонтрагентыАвторПользователи.Код КАК РодительАвторКод,
    Контрагенты.Наименование КАК Наименование
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК КонтрагентыРодительКонтрагенты
            ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи КАК КонтрагентыРодительКонтрагентыАвторПользователи
            ПО (КонтрагентыРодительКонтрагенты.Автор = КонтрагентыРодительКонтрагентыАвторПользователи.Ссылка)
        ПО Контрагенты.Родитель = КонтрагентыРодительКонтрагенты.Ссылка

 

После того, как все обращения "через точку" будут ликвидированы, можно преобразовать в текст на SQL

 

SELECT
КонтрагентыРодительКонтрагентыАвторПользователи._Code РодительАвторКод,
Контрагенты._Description Наименование
FROM
_Reference35 Контрагенты
LEFT OUTER JOIN _Reference35 КонтрагентыРодительКонтрагенты
ON Контрагенты._ParentIDRRef = КонтрагентыРодительКонтрагенты._IDRRef
LEFT OUTER JOIN _Reference169 КонтрагентыРодительКонтрагентыАвторПользователи
ON КонтрагентыРодительКонтрагенты._Fld10297RRef = КонтрагентыРодительКонтрагентыАвторПользователи._IDRRef

 

3. Временные таблицы

 

Обработка умеет работать с временными таблицами: создает описание и обеспечивает заполнение. Например, запрос на языке 1С 

ВЫБРАТЬ ПЕРВЫЕ 100
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.ИНН КАК ИНН
ПОМЕСТИТЬ ВТ_Контрагенты
ИЗ
    Справочник.Контрагенты КАК Контрагенты

;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РеализацияУслуг.Номер КАК Номер,
    РеализацияУслуг.Дата КАК Дата,
    РеализацияУслуг.ДокументОснование КАК ДокументОснование,
    ВТ_Контрагенты.ИНН КАК ИНН
ИЗ
    ВТ_Контрагенты КАК ВТ_Контрагенты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияУслуг КАК РеализацияУслуг
        ПО ВТ_Контрагенты.Ссылка = РеализацияУслуг.Контрагент

 

Будет выглядеть как

 If not exists (select * from tempdb..sysobjects where name =  '##ВТ_Контрагенты') Create table ##ВТ_Контрагенты(Ссылка  binary(16),ИНН  nvarchar(150))
INSERT INTO ##ВТ_Контрагенты WITH(TABLOCK) (Ссылка,ИНН)SELECT TOP 100
Контрагенты._IDRRef Ссылка,
Контрагенты._Fld2119 ИНН
FROM
_Reference35 Контрагенты

SELECT
РеализацияУслуг._Number Номер,
РеализацияУслуг._Date_Time Дата,
РеализацияУслуг._Fld3984_RRRef ДокументОснование,
ВТ_Контрагенты.ИНН ИНН
FROM
##ВТ_Контрагенты ВТ_Контрагенты
INNER JOIN _Document1109 РеализацияУслуг
ON ВТ_Контрагенты.Ссылка = РеализацияУслуг._Fld1114RRef
TRUNCATE TABLE  ##ВТ_Контрагенты

 

4. Виртуальные таблицы.

В текущей версии можно задать только "СрезПоследних" и "Обороты" для регистра накопления. Список планируется расширить в дальнейшем. 

Например, запрос

ВЫБРАТЬ
    ОтветственныеЛицаСрезПоследних.Период КАК Период,
    ОтветственныеЛицаСрезПоследних.Подразделение КАК Подразделение,
    ОтветственныеЛицаСрезПоследних.Должность КАК Должность
ИЗ
    РегистрСведений.ОтветственныеЛица.СрезПоследних(&Период, Подразделение = &Подразделение) КАК ОтветственныеЛицаСрезПоследних


    

Будет преобразован в 

SELECT
ОтветственныеЛицаСрезПоследних.Период Период,
ОтветственныеЛицаСрезПоследних.Подразделение Подразделение,
ОтветственныеЛицаСрезПоследних.Должность Должность
FROM
(SELECT
ВложенныйЗапросМаксПериод.Подразделение Подразделение,
ОтветственныеЛица._Fld7656RRef Должность,
ОтветственныеЛица._Period Период
FROM
(SELECT
ОтветственныеЛица._Fld7654RRef Подразделение,
MAX(ОтветственныеЛица._Period) Период
FROM
_InfoRg7653 ОтветственныеЛица

WHERE
ОтветственныеЛица._Period <= {ts '2021-04-15 12:00:00'} AND 
ОтветственныеЛица._Fld7654RRef = CAST(0x831A001A64963CBD11E06B2D4EAA2070  AS binary(16))

GROUP BY
ОтветственныеЛица._Fld7654RRef
) ВложенныйЗапросМаксПериод
INNER JOIN _InfoRg7653 ОтветственныеЛица
ON ВложенныйЗапросМаксПериод.Подразделение = ОтветственныеЛица._Fld7654RRef
AND ВложенныйЗапросМаксПериод.Период = ОтветственныеЛица._Period) ОтветственныеЛицаСрезПоследних


 

Ограничения обработки:

-Не поддерживается большая часть функций языка запросов (ССЫЛКА, Выразить, ТипЗначения, НачалоПериода и тд)

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

-Не поддерживаются таблицы изменений

-Пока встречаются ошибки

Проблемы, которые мешают разработке:

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

-Нет разделения данных

-Нет РЛС

-Нет разделения итогов (Spliter) и агрегатов.

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

Наименование Файл Версия Размер
Однопальцевое преобразование запроса на 1С в запрос на SQL:

.epf 23,98Kb
2
.epf 23,98Kb 2 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kirill_sh 17.04.21 16:04 Сейчас в теме
что-то примеры простые. Попробуйте в бухе на хозрасчетных сделать как там преобразить запрос в нормальный получиться?
2. kser87 2117 17.04.21 16:21 Сейчас в теме
(1) не получится. Я указал, что только виртуальные таблицы регистров сведений и накопления пока что работают. Не уверен, что регистры бухгалтерского учёта и расчета зп кому-то нужны в контексте скульных запросов
3. Sapiens_bru 4 18.04.21 04:08 Сейчас в теме
Инструмент в таком виде скорее демка, чем что то полезное. Те кто может запрос в ssms осмысленно запустить, простейшие запросы и от руки напишут.
Мне на просторах попадались консоли которые могут любой запрос показать в виде sql , да ещё и с планом запроса. Идея простая, консоль от себя добавляет в текст запроса строку-гуид, настраивает сбор ТЖ и оттуда забирает нужные тексты. Зачем дублировать функционал платформы когда можно его использовать.
4. kser87 2117 18.04.21 10:19 Сейчас в теме
(3) настраивать ТЖ таким образом не лучшая идея
5. kirill_sh 19.04.21 13:21 Сейчас в теме
Вот хороший пример для работы с запросами https://infostart.ru/public/1175954/ от Юрия Пермитина
6. kser87 2117 19.04.21 13:28 Сейчас в теме
(5) я не ставил цели транслировать запросы средствами MS SQL.
7. mikukrnet 176 22.04.21 11:45 Сейчас в теме
Нормальная тема, спасибо. Никаких проблем со строками подключения и т. п., сразу быстро получаем код для простых выборок и (самое важное) апдейтов с небольшим редактированием
8. kser87 2117 22.04.21 12:20 Сейчас в теме
(7) спасибо за коммент, вы очень верно поняли идею=)
Оставьте свое сообщение

См. также

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

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

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

1 стартмани

05.03.2020    5127    7    moolex    11    

Консоль кода и дескриптор объектов

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

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

5 стартмани

23.04.2021    861    1    pimenushka    2    

Конструктор процедур для создания дополнительных реквизитов и сведений для Бухгалтерии 3.0

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

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

2 стартмани

22.04.2021    2245    3    roma_semenov79    0    

Вспомогательный инструмент для быстрого просмотра объектов метаданных и ролей

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

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

1 стартмани

22.04.2021    821    5    user802597    1    

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

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

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

2 стартмани

06.03.2021    3578    5    pila86    16    

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

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

Отладка с помощью формы обработки, на форме добавляем реквизит Документ, для которого предназначена внешняя обработка. Затем командой вызываем нужный обработчик и отлаживаем в свое удовольствие. Написали и открываем как обычную внешнюю обработку, ставим точку остановки и жмем кнопку команды.

2 стартмани

20.04.2021    736    1    Miracle180882    0    

Свойства общих модулей

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

Надоело каждый раз искать, какие общие модули глобальные? какие повторно используемые? хочется взглянуть на все контексты выполнения?

1 стартмани

14.04.2021    874    1    kuzyara    3    

Отладка обработок с плюшками

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

Расширение для отладки внешних отчетов и обработок. Плюшки - отключение “отвлекающего” функционала, мешающего процессу разработки.

1 стартмани

14.04.2021    1405    4    pparshin    1    

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

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

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

1 стартмани

04.07.2019    9921    16    riposte    6    

Оперативный мониторинг управляемых блокировок и серверных вызовов кластера 1С (windows сервис BETA расширения функционала конфигурации "Центр Контроля Качества")

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

Windows сервис расширения функционала счетчиков производительности конфигурации "Центр Контроля Качества". Собирает и агрегирует информацию из технологического журнала об управляемых блокировках (TLOCK, TDEADLOCK, TTIMEOUT), а так же серверных вызовов (CALL в разрезе p:processName для процессов rphost и в разрезе IName для процессов ragent и rmngr). Агрегированная информация каждую минуту отправляется по http в конфигурацию ЦКК и там представлена в виде счетчиков производительности.

1 стартмани

29.03.2021    975    0    sdf1979    0    

Мгновенное отображение HTML-страницы исходя из введённого HTML-кода

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

Обработка поможет найти ошибки в коде HTML и правильно отобразить создаваемый документ. Просто правьте код в нижнем поле и сразу получайте результат в верхнем.

1 стартмани

09.03.2021    1063    1    ilyam23    5    

Работа с My SQL через ODBC

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

Работа с My SQL через ODBC. Разбираем базовые принципы соединения с MySQL и получения данных. Тестировалось на платформе 8.3.18.1208

1 стартмани

05.03.2021    1069    1    vov4ik1212    0    

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

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

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

5 стартмани

21.12.2020    4696    19    huxuxuya    11    

Универсальный "сравниватель" объектов

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

Сравнение реквизитов и табличных частей двух объектов 1С (справочники, документы), чтобы увидеть разницу в значениях.

1 стартмани

03.03.2021    1680    11    pyrkin_vanya    6    

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

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

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

1 стартмани

24.02.2021    2112    3    xl_yaz    12    

Создание и поддержка разных редакций (Demo, Lite, Pro и пр.) модулей, отчетов и обработок

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

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

1 стартмани

16.02.2021    1137    0    bme    2    

Многопоточная обработка данных Промо

Производительность и оптимизация (HighLoad) Администрирование данных 1С v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

23.11.2018    25757    87    _ASZ_    17    

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

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

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

1 стартмани

04.02.2021    4698    42    Sergspectr    35    

Автоматизированная очистка нетиповой конфигурации от //{{MRG

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

Удаление //{{MRG из конфигурации автоматизированным способом.

1 стартмани

02.02.2021    1278    1    nemec    0    

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

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

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

1 стартмани

26.01.2021    2149    20    Reaper_1C    2    

Версионирование объектов. Сжатие регистра "ВерсииОбъектов" Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Cжимаем версии объектов в регистре сведений "ВерсииОбъектов". Экономия занимаемого версиями объектов объема более 50% !!!

1 стартмани

30.12.2014    29039    42    ZLENKO    14    

Сравнение функций/процедур из расширения с функциями/процедурами из конфигурации

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

Обработка облегчает обновление функций/процедур в расширении, которые используют аннотацию &Вместо.

1 стартмани

18.01.2021    1542    4    Wilka    1    

Парсер технологического журнала (golang + redis + elasticsearch)

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

На просторах интернета, в том числе на данном ресурсе содержится разнообразное количество инструментов, позволяющих читать, трансформировать логи технологического журнала. Инструмент, который я описываю в данной статье, - является альтернативным вариантом, реализованным на стеке технологий Goroutines (golang) + Redis + Elasticsearch.

1 стартмани

07.01.2021    4838    3    Shmell    2    

DT2CF - Экстрактор конфигурации из дампа информационной базы

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

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

10 стартмани

21.12.2020    2476    5    SerVer1C    5    

Многопоточное тестирование производительности сервера 1С - СУБД Промо

Сервисные утилиты Статистика базы данных Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.02.2013    90445    709    Fragster    185    

FormCodeGenerator Программная доработка форм. Часть 1 (Режим работы "Палитра")

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

Данная публикация является описанием функционирования обработки "FormCodeGenerator " в режиме генерирования кода "на лету", без особых заморочек, данный режим идеально подходит для того что бы запустить, потыкать и забыть :)

1 стартмани

14.12.2020    4546    76    huxuxuya    9    

Работа с сериализатором XDTO

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

Отладочное расширение для просмотра объектов, преобразованных в XML, с помощью сериализатора XDTO, а также для выгрузки в xml.

1 стартмани

06.12.2020    1814    1    simon_sidoruk    5    

Обновление предопределенных данных

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

Обновляет предопределенные элементы, созданные в конфигураторе. Тестировалось на платформе 8.3.15.1869

1 стартмани

01.12.2020    1741    5    user618575_VladimirGluhov.1c    2    

Многопоточный МикроСервер для файловой базы управляемого приложения 1c Промо

Сервисные утилиты Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.12.2013    40654    84    Chai Nic    57    

Отчет по Глобальным командам и Подпискам на события в конфигурации с возможностью отбора по Документам и Справочникам

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

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

1 стартмани

23.11.2020    1656    2    AnryMc    5    

Шаблон расширения с функцией сохранения настроек

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

Удобный механизм для быстрого создания сохраняемых настроек в расширении.

1 стартмани

20.11.2020    1283    0    pm74    1    

Расширение для создания собственных подсистем БСП

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

В этой статье поделюсь некоторыми изысканиями о внутреннем устройстве стандартной подсистемы "Обновление версии ИБ" и расскажу, как разработать свою подсистему, в которой будет работать отчёт с описанием изменений.

1 стартмани

20.11.2020    5140    9    stas_ganiev    4    

Методика упрощения поддержки конфигураций. Переопределение и вызов обработчиков событий для УФ 1С 8.2-8.3 Промо

Производительность и оптимизация (HighLoad) Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

10.02.2013    56797    115    pbazeliuk    40    

Параллельные вычисления для http-сервиса

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

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

1 стартмани

19.11.2020    2911    3    Lars Ulrich    11    

Подготовка к 1С:Совместимо. Инструментарий в помощь программисту

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

Инструментарий в помощь программисту для подготовки конфигурации к сертификации 1С:Совместимо.

1 стартмани

16.11.2020    1944    2    BrainAttack    0    

БСП - рабочие примеры асинхронного запуска функций и процедур

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

В данной публикации я привожу рабочие примеры асинхронного использования функций и процедур конфигурации на БСП

2 стартмани

02.11.2020    5846    17    quazare    2    

И снова о скорости работы 1с 8.х + тест от Гилева (конфигурация TPС_1C_GILV_A) + как Выбрать сервер для 1С 8.х Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Предыстория: Есть в конторе, где я работаю, пара практически ОДИНАКОВЫХ по железу сервера... так вот заметили что на одном из них 1С 8.2 работает значительно быстрей что в Клиент-Серверном, что в файловом варианте... и что именно удивило так это что медленней работал сервер с большим количеством Оперативной памяти + RAID10 на SSD. Проводили много тестов на работу дисковой системы + различные тесты SQL - ВЫВОД: ничего непонятно где тормоза. И вот попала ко мне конфигурация 1С для оценки производительности 1С от Гилева http://infostart.ru/public/57204/ Подробности в Описании...

2 стартмани

13.08.2012    473807    643    sanfoto    2558    

Работа с формулой-шаблоном

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

"Работа с формулой-шаблоном" - внешняя обработка, в которой для "Идентификаторы объектов метаданных"/"Идентификаторы объектов расширений" рекурсивно строится дерево реквизитов/стандартных реквизитов, дополнительных реквизитов/сведений и можно с их помощью, используя операторов и функций слева с помощью перетаскивания мышью, построить формулу, которую потом применять к элементам справочника/документа и т.д. (например - задавать шаблоны наименований, имен файлов и т.п).

3 стартмани

02.11.2020    1963    4    kn    0    

Просмотр структуры базы в СУБД, в том числе расширений

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

Структура таблиц базы данных с учётом расширений.

1 стартмани

29.09.2020    5818    54    Yashazz    10    

Генератор внешних печатных форм

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

Генератор печатных форм - инструмент для создания внешних печатных форм в режиме предприятия с минимальным написанием кода

3 стартмани

18.09.2020    3768    17    andy_zhav    7    

Консоль Программиста 8.3. Управляемые формы, тонкий/толстый клиент Промо

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

Обработка в помощь программисту - тестировщику. Консоль позволяет выполнять код 1С на встроенном языка, по сути является универсальной внешней обработкой

2 стартмани

22.08.2013    47552    639    hmanubis    67    

Отладка расчета себестоимости в ERP - просмотр изменений временных таблиц

Практика программирования Закрытие периода Прочие инструменты разработчика v8::БУ ERP2 БУ Абонемент ($m)

Как уследить за изменениями в сотне временных таблиц на различных этапах выполнения расчета себестоимости. Тестировалось на 1С:ERP Агропромышленный комплекс 2 (2.4.12.75)

1 стартмани

09.09.2020    4458    10    doom2good    0    

Разбор областей и параметров печатной формы MXL и генерация кода заполнения. Обработка

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

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

1 стартмани

05.09.2020    3677    6    Ivon    0    

Тестирование проводок в ЕРП и КА

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

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

1 стартмани

02.09.2020    2596    15    JohnConnor    3    

Автоформатирование кода Промо

Сервисные утилиты Обработки Чистка базы Справки Производительность и оптимизация (HighLoad) Инструментарий разработчика Практика программирования Универсальные обработки Решение задач на 1С:Специалист Математика и алгоритмы Администрирование данных 1С Разработка Тестирование и исправление Стартеры 1С v8 1cv8.cf Абонемент ($m)

Как часто приходится работать в режиме аврала, когда на оформление кода не хватает времени? И как лениво порой бывает, возвращаться к уже рабочему коду, что бы отформатировать его и привести в порядок. Данная обработка позволяет автоматически форматировать текст кода, в соответствии с настройками пользователя. Это позволит привести ваш код, как уже написанный так и будущий к единому оформлению.

1 стартмани

19.12.2012    43096    181    Sibars    57    

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

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

Чтение файла происходит блоками, а не посимвольно, что ускоряет процесс. Конец строки это символ возврата каретки (13), символ переноса строки (10) игнорируется и может быть включен в текстовое поле. Также парные кавычки "" внутри поля воспринимаются как одиночный символ кавычек.

1 стартмани

31.08.2020    2367    4    e-rogov    0    

Визуальный html WYSIWYG редактор без сторонних библиотек на управляемых формах

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

Простой и удобный html редактор без сторонних библиотек.

1 стартмани

31.08.2020    5924    10    ivanov660    12    

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

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

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

10 стартмани

28.08.2020    7208    5    YPermitin    12    

Генератор кода COM-обмена

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

Обработка предназначена для автоматического создания кода для загрузки данных из другой базы 1С через COM-соединение.

1 стартмани

20.08.2020    3009    11    ManyakRus    4    

Оптимизация пакетной печати из 1С в MS Word

Пакетная печать Производительность и оптимизация (HighLoad) MS Office БСП (Библиотека стандартных подсистем) v8 ЗУП3.x Абонемент ($m)

Опыт оптимизации пакетной печати из 1С ЗУП 3.1 в MS Word. Об осторожности использования БСП. Внешние обработки: до и после оптимизации.

1 стартмани

14.08.2020    3438    1    info1i    5