Консоль запросов для управляемых форм 8.3
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
СДРКонсольЗапросовХ – инструмент для программиста, позволяющий создавать и отлаживать запросы для баз 1С 8.3, а также обрабатывать результаты запросов (тонкий, толстый, web клиент). Не зависит от конкретной конфигурации, никаких БСП.
Работает с современными конфигурациями 1С с запретом на использование модальности и синхронных вызовов. Для конфигураций, использующих БСП, есть возможность подключения обработки к справочнику "ДополнительныеОтчетыИОбработки".
Видео инструкции по работе с консолью можно посмотреть здесь
Если Вас заинтересовала эта обработка, то рекомендую обратить внимание на Навигатор по базе данных 1С 8.3
В плане интерфейса использована классическая схема: дерево запросов, запрос и результаты запроса.
Особенности
- Работает с современными конфигурациями 1С (с запретом на использование модальности и синхронных вызовов)
- Заточена на интерфейс «Такси» - мало место для работы по сравнению с неуправляемыми формами (поэтому экономим место: можно погасить дерево запросов, результаты запроса и вообще ничего лишнего стараемся не показывать)
- Оптимизирован обмен данными между клиентом и сервером
- Не содержит избыточного функционала, редко используемого в практической работе
- Для всех форм обработки установлен вариант масштаба "Компактный". Если кому то это не нравится и хочется использовать платформенную кнопку "Изменить масштаб", то надо в конфигураторе для всех форм обработки установить вариант масштаба "Авто".
Работа с деревом запросов
- Запросы хранятся в виде дерева (как обычно)
- Можно сохранить или загрузить все дерево запросов (в файл или из файла)
- Можно сохранить отдельную веточку запросов в файл
- Можно подгрузить в отдельную ветку запросов запросы из файла
- Можно копировать запросы (вместе с параметрами и таблицами МВТ) или перетаскивать их в другие ветки дерева
- ВАЖНО: корень дерева не предназначен для работы с запросом
Работа с текстом запроса
- Поддержка пакета запросов
- Можно выполнить весь пакет, либо только выделенную часть пакета
- Можно подсчитать время выполнения запросов, входящих в пакет (отдельная страница результатов "Выполнение пакета")
- В поля выборки можно вставить специальное поле, чтобы вместо ссылки выводился GUID
- В пакет запроса можно вставить специальный разделитель, чтобы выполнение пакета остановилось на этом месте
- Выделенную часть запроса можно закомментировать, раскомментировать или преобразовать в строку для вставки в код скрипта 1С
Параметры запроса
- В параметрах запроса кроме стандартных, может быть таблица значений, граница, момент времени, уникальный идентификатор
- В параметре можно указать битую ссылку (ссылку не несуществующий объект)
- В значение параметра можно вставить ссылку на объект
- В качестве параметру можно указать выражение на языке 1С, которое будет вычисляться перед выполнением запроса
- Можно скопировать выбранные параметры из одного запроса в другой
- Можно редактировать таблицу значений, являющуюся параметром запроса
Таблицы МВТ
- Здесь располагаются таблицы значений, которые перед выполнением запроса помещаются в менеджер временных таблиц
- В основном используется при перехвате сложных запросв из отладчика
- Можно скопировать выбранные таблицы из одного запроса в другой
- Таблицы значений можно редактировать
Результаты запроса
- Результаты запроса оформляются в виде таблицы значений или дерева значений
- Временные таблицы пакета запроса также оформляются в виде таблицы значений (по желанию)
- Есть возможность показывать итоги по числовым колонкам таблицы результатов или временных таблиц
- Есть возможность показывать итоги для выделенных строк по числовым колонкам таблицы результатов или временных таблиц
- Кликнув мышкой по ячейки результирующей таблицы значений можно открыть значение в стандартной форме (если там находится ссылка на объект)
- Можно открыть значение ячейки таблицы в специальной форме, предоставляющей доступ ко всем реквизитам объекта (Редактор объектов информационной базы 8.3 – встроен в консоль запросов). Как самостоятельно встроить более новую версию "Редактора объектов" описано здесь.
- В специальной форме можно открыть не только ссылочный объект, но и хранилище значения (поддерживаются массив, список значений, структура, соответствие, таблица значений, табличный и текстовый документ)
- Можно загрузить таблицу результатов запроса в параметр запроса либо сохранить в файл
- Можно загрузить таблицу результатов запроса в менеджер временных таблиц запроса
- Можно выгрузить ссылочные объекты из произвольной колонки результатов запроса в формате XML (для последующей загрузки в базу). Для обмена данными можно использовать файлы или строку, передаваемую через буфер обмена.
Сохранение запросов из отладчика
- Есть возможность остановиться в отладчике и сохранить запрос с параметрами и временными таблицами в файл, который затем можно подгрузить в консоль для отладки.
- Есть возможность остановиться в отладчике и сформировать XML-представление запроса с параметрами и временными таблицами, из которго в консоли можно сформировать запрос для отладки (передается через буфер обмена без использования промежуточных файлов)
- Можно перехватить запросы для отчетов СКД
- Функция общего модуля для сохранения запроса из отладчика прилагается, пример вызова: омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос, "D:\1Cv8\Запросы\000") или омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос) - формирует XML-представление запроса
- В функцию сохранения запроса в качестве первого параметра можно передать Запрос или МакетКомпоновкиДанных
// ---------------------------------------------------------------------
// ФУНКЦИЯ ДЛЯ ОТЛАДКИ ЗАПРОСОВ (для использования в отладчике Shift-F9)
// ---------------------------------------------------------------------
// Назначение: сохраняет объект запрос в файл или формирует XML-представление запроса для последующей отладки в консоли запросов
// Версия: 1.1.0.67 от 22.11.2020
// Параметры:
// ЗапросИлиМакетКомпоновки - объект типа Запрос или МакетКомпоновкиДанных, для которого надо сохранить описание
// ИмяФайла - имя файла, куда будет сохранено описание запроса (можно без расширения)
// этот файл затем можно подгрузить в расширенную консоль запросов
// ВАЖНО: если ИмяФайла равно Неопределено, то функция возвращает XML-представление запроса, которое можно через буфер обмена передать в консоль запросов
// ВАЖНО: в качестве имени файла можно указать ЧИСЛО, сформированное обработкой СДРКонсольЗапросовХ - в этом случае запрос сохранится во временный файл
// на сервере, который потом можно будет подгрузить в консоль
// МаксЧислоЗаписей - максимальное число записей, выгружаемых из каждой временной таблицы, при значении -1 выгружаются ВСЕ записи
// ВключатьВременныеТаблицы - если истина, то сохраняются временные таблицы из менеджера временных таблиц
//
// Пример вызова:
// _омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос, "D:\1Cv8\Запросы\000") - сохраняет запрос в файл (НА СЕРВЕРЕ)
// _омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос, 4055120049) - сохраняет запрос во временный файл (НА СЕРВЕРЕ), расширение файла: "4055120049-dat"
// _омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос) - возвращает XML-представление запроса
// _омОтладка.СохранитьЗапросДляСДРКонсолиХ(Запрос,,200) - возвращает XML-представление запроса (выгружаются не больше 200 записей из каждой временной таблицы)
// Замечания:
// - ВАЖНО: функцию надо вызывать ДО ВЫПОЛНЕНИЯ запроса
// - в управляемом режиме выполняется на сервере, соответственно обращайте внимание на имя файла
Функция СохранитьЗапросДляСДРКонсолиХ(Знач ЗапросИлиМакетКомпоновки, Знач ИмяФайла = Неопределено, Знач МаксЧислоЗаписей = -1, Знач СжиматьПараметрыXML = истина, Знач ВключатьВременныеТаблицы = истина) Экспорт
Если ТипЗнч(ЗапросИлиМакетКомпоновки) = Тип("МакетКомпоновкиДанных") Тогда
ВключатьВременныеТаблицы = ложь;
Запрос = новый Запрос(ЗапросИлиМакетКомпоновки.НаборыДанных.Получить(0).Запрос);
Для каждого Элем из ЗапросИлиМакетКомпоновки.ЗначенияПараметров Цикл
Запрос.Параметры.Вставить(Элем.Имя, Элем.Значение);
КонецЦикла;
ИначеЕсли ЗапросИлиМакетКомпоновки = Неопределено Тогда
Запрос = новый Запрос;
Иначе
Запрос = ЗапросИлиМакетКомпоновки;
КонецЕсли;
СтрукЗапрос = новый Структура;
СтрукЗапрос.Вставить("Формат", "СДРКонсольЗапросовХ");
СтрукЗапрос.Вставить("Версия", 2);
СтрукЗапрос.Вставить("Назначение", "Запросы");
СтрукЗапрос.Вставить("Элементы", новый Массив);
СтрукЭлемент = новый Структура;
СтрукЭлемент.Вставить("Дети", новый Массив);
СтрукЭлемент.Вставить("Имя", "Запрос");
СтрукЭлемент.Вставить("Текст", Запрос.Текст);
СтрукЭлемент.Вставить("СпособВыгрузки", 0);
СтрукЭлемент.Вставить("Параметры", новый Массив);
СтрукЭлемент.Вставить("МВТ", новый Массив);
Если ВключатьВременныеТаблицы и Запрос.МенеджерВременныхТаблиц <> Неопределено и Запрос.МенеджерВременныхТаблиц.Таблицы <> Неопределено и Запрос.МенеджерВременныхТаблиц.Таблицы.Количество() <> 0 Тогда
Если МаксЧислоЗаписей >= 0 Тогда
пЗапрос = новый Запрос;
пЗапрос.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
пШаблонЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ " + Формат(МаксЧислоЗаписей, "ЧРГ=0;ЧН=;") + "
| т.*
|ИЗ
| %1 КАК т
|";
КонецЕсли;
ТекстЗапроса = "";
Если Запрос = Неопределено Тогда
Запрос = новый Запрос;
КонецЕсли;
Для каждого пТаблицаМВТ из Запрос.МенеджерВременныхТаблиц.Таблицы Цикл
пРезультатЗапроса = пТаблицаМВТ.ПолучитьДанные();
Если МаксЧислоЗаписей < 0 Тогда
ТабРезультат = пРезультатЗапроса.Выгрузить();
ИначеЕсли пРезультатЗапроса.Пустой() Тогда
ТабРезультат = пРезультатЗапроса.Выгрузить();
Иначе
пЗапрос.Текст = СтрЗаменить(пШаблонЗапроса, "%1", пТаблицаМВТ.ПолноеИмя);
ТабРезультат = пЗапрос.Выполнить().Выгрузить();
КонецЕсли;
пСтрук = новый Структура;
пСтрук.Вставить("Имя", пТаблицаМВТ.ПолноеИмя);
пСтрук.Вставить("СпецЗначение", ЗначениеВСтрокуВнутр(ТабРезультат));
СтрукЭлемент.МВТ.Добавить(пСтрук);
КонецЦикла;
КонецЕсли;
// ВАЖНО: алгоритм формирования параметров должен быть идентичен (метка:001)
ПараметрыЗапроса = Запрос.Параметры;
Для каждого Элем из ПараметрыЗапроса Цикл
СтрукПараметр = новый Структура;
СтрукПараметр.Вставить("Имя", Элем.Ключ);
СтрукПараметр.Вставить("Значение", Элем.Значение);
СтрукПараметр.Вставить("ЭтоСпецЗначение", ложь);
СтрукПараметр.Вставить("СпецЗначение", "");
СтрукПараметр.Вставить("ТипЗначения", "");
Если ТипЗнч(Элем.Значение) = Тип("Массив") Тогда
Список = новый СписокЗначений;
Список.ЗагрузитьЗначения(Элем.Значение);
СтрукПараметр.Значение = Список;
ИначеЕсли ТипЗнч(Элем.Значение) = Тип("ФиксированныйМассив") Тогда
Список = новый СписокЗначений;
Список.ЗагрузитьЗначения(новый Массив(Элем.Значение));
СтрукПараметр.Значение = Список;
ИначеЕсли ТипЗнч(Элем.Значение) = Тип("Граница") Тогда
СтрукПараметр.ЭтоСпецЗначение = истина;
СтрукПараметр.Значение = "Граница";
СтрукПараметр.ТипЗначения = "Граница";
СтрукПараметр.СпецЗначение = ЗначениеВСтрокуВнутр(Элем.Значение);
ИначеЕсли ТипЗнч(Элем.Значение) = Тип("ТаблицаЗначений") Тогда
СтрукПараметр.ЭтоСпецЗначение = истина;
СтрукПараметр.Значение = "ТаблицаЗначений";
СтрукПараметр.ТипЗначения = "ТаблицаЗначений";
СтрукПараметр.СпецЗначение = ЗначениеВСтрокуВнутр(Элем.Значение);
ИначеЕсли ТипЗнч(Элем.Значение) = Тип("МоментВремени") Тогда
СтрукПараметр.ЭтоСпецЗначение = истина;
СтрукПараметр.Значение = "МоментВремени";
СтрукПараметр.ТипЗначения = "МоментВремени";
СтрукПараметр.СпецЗначение = ЗначениеВСтрокуВнутр(Элем.Значение);
ИначеЕсли ТипЗнч(Элем.Значение) = Тип("УникальныйИдентификатор") Тогда
СтрукПараметр.ЭтоСпецЗначение = истина;
СтрукПараметр.Значение = Строка(Элем.Значение);
СтрукПараметр.ТипЗначения = "УникальныйИдентификатор";
СтрукПараметр.СпецЗначение = ЗначениеВСтрокуВнутр(Элем.Значение);
КонецЕсли;
СтрукЭлемент.Параметры.Добавить(СтрукПараметр);
КонецЦикла;
СтрукЗапрос.Элементы.Добавить(СтрукЭлемент);
// преобразование запроса в строку XML
Если ИмяФайла = Неопределено Тогда
Попытка
СтрукЗапросXML = новый Структура;
СтрукЗапросXML.Вставить("СжиматьПараметрыXML", СжиматьПараметрыXML);
СтрукЗапросXML.Вставить("Текст", СтрукЭлемент.Текст);
СтрукЗапросXML.Вставить("МВТ", новый Структура);
Для каждого Элем из СтрукЭлемент.МВТ Цикл
ИмяПараметра = Элем.Имя;
Если СжиматьПараметрыXML Тогда
ЗначениеПараметра = ЗначениеИзСтрокиВнутр(Элем.СпецЗначение);
Если ТипЗнч(ЗначениеПараметра) = Тип("ТаблицаЗначений") Тогда
ЗначениеПараметра = новый ХранилищеЗначения(ЗначениеПараметра, новый СжатиеДанных(9));
КонецЕсли;
Иначе
ЗначениеПараметра = ЗначениеИзСтрокиВнутр(Элем.СпецЗначение);
КонецЕсли;
СтрукЗапросXML.МВТ.Вставить(ИмяПараметра, ЗначениеПараметра);
КонецЦикла;
СтрукЗапросXML.Вставить("Параметры", новый Структура);
Для каждого Элем из СтрукЭлемент.Параметры Цикл
ИмяПараметра = Элем.Имя;
Если Элем.ЭтоСпецЗначение Тогда
Если СжиматьПараметрыXML Тогда
ЗначениеПараметра = ЗначениеИзСтрокиВнутр(Элем.СпецЗначение);
Если ТипЗнч(ЗначениеПараметра) = Тип("ТаблицаЗначений") Тогда
ЗначениеПараметра = новый ХранилищеЗначения(ЗначениеПараметра, новый СжатиеДанных(9));
КонецЕсли;
Иначе
ЗначениеПараметра = ЗначениеИзСтрокиВнутр(Элем.СпецЗначение);
КонецЕсли;
Иначе
ЗначениеПараметра = Элем.Значение;
КонецЕсли;
СтрукЗапросXML.Параметры.Вставить(ИмяПараметра, ЗначениеПараметра);
КонецЦикла;
ЗаписьXML = новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, СтрукЗапросXML, НазначениеТипаXML.Явное);
Возврат ЗаписьXML.Закрыть();
Исключение
Возврат ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
Если ТипЗнч(ИмяФайла) = Тип("Число") Тогда
пРасширение = Формат(ИмяФайла, "ЧГ=0") + "-dat";
ИмяФайла = ПолучитьИмяВременногоФайла(пРасширение);
КонецЕсли;
СтрокаДанных = ЗначениеВСтрокуВнутр(СтрукЗапрос);
ТДок = новый ТекстовыйДокумент;
ТДок.УстановитьТекст(СтрокаДанных);
Если Найти(ИмяФайла, ".") = 0 Тогда
ИмяФайла = ИмяФайла + ".dat";
КонецЕсли;
Попытка
ТДок.Записать(ИмяФайла);
Возврат "Ок";
Исключение
Возврат ОписаниеОшибки();
КонецПопытки;
КонецФункции
// Комментарий СОХРАНИТСЯ
// Комментарий СОХРАНИТСЯ
ВЫБРАТЬ
т.Ссылка КАК Ссылка, // Комментарий НЕ СОХРАНИТСЯ
т.Код КАК Код
ПОМЕСТИТЬ втВалюты
// Комментарий СОХРАНИТСЯ
ИЗ
Справочник.Валюты КАК т
ГДЕ
т.Ссылка В(&Валюты)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
т.Ссылка КАК Ссылка,
т.Код КАК Код
ПОМЕСТИТЬ втКонтрагенты // Комментарий НЕ СОХРАНИТСЯ
// Комментарий СОХРАНИТСЯ
// Комментарий СОХРАНИТСЯ
ИЗ
Справочник.Контрагенты КАК т
ГДЕ
т.Ссылка В(&Контрагенты)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
т.Ссылка КАК Ссылка,
т.Код КАК Код
ИЗ
втКонтрагенты КАК т
Для обработки результатов запроса есть закладка «Алгоритмы»
- в Web клиенте выполнить алгоритм можно только на стороне сервера
- Алгоритм – это код на языке 1С
- Алгоритмы хранятся в виде дерева, функционал аналогичен дереву запросов
- ВАЖНО: корень дерева не предназначен для работы с алгоритмом
- Алгоритмы могут выполнятся как на стороне сервера, так и на стороне клиента; имеют доступ к результатам запроса, можно указать дополнительные параметры (число, дата, ссылка и т.д.)
- В консоль встроены примеры реализации алгоритмов на стороне сервера и клиента. В примере для клиента обратите внимание на строки «//--- Сервер:старт» и «//--- Сервер:финиш» - код между этими строками будет выполняться на сервере.
Видео инструкции по работе с консолью можно посмотреть здесь
Некоторые примеры скриншотов

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

Просмотр и редактирование параметра типа "ТаблицаЗначений"

Если использовать нестандартную форму для выбора типа параметра, то выбор организован более интелектуально - типы объектов не сваливаются в одну кучу, а разбиты по категориям

Просто в псевдониме поля надо добавить строку "__GUID__" (во временных таблицах и при выгрузке в дерево значений игнорируется)

Открывается встроенный Редактор объектов информационной базы 8.3




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

Переходим в консоль запросов, вызываем команду "XML -> Запрос", в текстовое поле, открывшегося окна вставляем текст из буфера обмена и нажимаем кнопку "ОК"

После этого в текущий запрос консоли переносятся текст запроса и его параметры


Эту возможность я использую очень часто для оперативной правки данных в базах

Тестирование
- Платформа (8.3.11.2867, 8.3.13.1513, 8.3.15.1489), на платформах ниже 8.3.10 работать не будет
- Управление холдингом, редакция 3.0 (3.0.4.4)
- 1С:ERP Управление предприятием 2 (2.4.10.56)
Это инструмент для программистов и продвинутых пользователей (я использую постоянно).
Если Вас заинтересовала эта обработка, то рекомендую обратить внимание на Навигатор по базе данных 1С 8.3
- для уменьшения обмена с сервером, результаты запроса очищаются на клиенте перед выполнением очередного запроса
- исправлена ошибка - при заполнении параметров запроса очищались параметры типа "СписокЗначений"
- доработана функция для сохранения запроса из отладчика: СохранитьЗапросДляСДРКонсолиХ - теперь по умолчанию сжимает параметры запроса типа "ТаблицаЗначений", т.к. при больших временных таблицах в отладчике обрезается строка XML представления запроса.
- доработана функция выполнения запроса
- доработана форма отображения параметра запроса типа "ТаблицаЗначений"
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- доработана функция для сохранения запроса из отладчика: СохранитьЗапросДляСДРКонсолиХ - теперь может обрабатывать МакетКомпоновкиДанных
- добавлена команда преобразования параметров запроса в СписокЗначений и обратно
- доработана форма отображения параметра запроса типа "ТаблицаЗначений"
- доработан механизм обмена параметрами между различными запросами
- реализована возможность выгрузки ссылочных объектов из колонки результата запроса в формате XML, результат выгрузки затем можно загрузить в базу
- обновлен СДРОбъектУпр (1.1.0.29 от 27.08.2019)
- добавлена возможность использовать собственную форму для выбора значений параметров запроса
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- доработан функционал для работы с параметрами запроса
- добавлен новый тип параметра "Выражение" (с помощью него можно задать любое значение параметра)
- добавлена возможность использования битой ссылки (ссылка на удаленный объект) в качестве параметра запроса
- добавлен новый способ вывода результатов пакета - "Таблица значений + размеры временных таблиц"
- добавлена возможность задать ограничение на максимальное число строк при выводе временных таблиц
- доработана функция для сохранения запроса из отладчика: СохранитьЗапросДляСДРКонсолиХ
- не существенная доработка интерфейса (актуально для новых пользователей консоли, тем кто уже использует - не интересно)
- для конфигураций, использующих БСП, добавил возможность подключения обработки к справочнику "ДополнительныеОтчетыИОбработки"
- не существенная доработка интерфейса (при очистке дерева запросов или алгоритмов задается вопрос)
- теперь по умолчанию при закрытии консоли задается вопрос (если запросы изменены)
- более корректная работа в режиме Web-клиента
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлена возможность использовать в параметрах запроса объекты метаданных, добавленные в расширениях конфигурации
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлена возможность выгрузки данных в строку XML (без использования файлов)
- добавлена возможность загрузки данных из строки XML (без использования файлов)
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- улучшена реализация перехвата сложных запросов из отладчика
- доработана функция общего модуля для перехвата запросов из отладчика
- таблицы менеджера временных таблиц отображаются на отдельной закладке (раньше были реализованы через параметры запроса)
- добавлена поддержка типов Тип и МоментВремени в таблицах менеджера временных таблиц
- добавлена возможность перехвата запроса в отладчике без использования функции общего модуля (вызовом самой обработки)
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлена возможность отображать итоги по числовым полям результатов запросов (для всех или выделенных строк)
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- обход ошибки, возникающей если в таблицах менеджера временных таблиц есть не типизированные колонки (встречается при перехвате сложных запросов из отладчика, на пример закрытие 20-ых счетов в конфигурации "Управление холдингом 3.0")
- доработан механизм перехвата запросов в отладчике
- доработана функция для перехвата запросов в отладчике
- добавлена возможность захвата соединения с СУБД (для трассировки запроса на стороне СУБД)
- добавлена возможность ограничивать размер выборки результатов
- доработаны замеры времени при выполнения запросов
- доработаны интерфейс и встроенная справочной информации
- исправлена ошибка, возникающая в тонком клиенте при редактировании таблиц МВТ и таблиц параметров, содержащих колонки с типом значения "ТаблицаЗначений"
- исправлена ошибка (при копировании запросов не копировались таблицы МВТ)
- ошибку можно исправить самому (в модуле основной формы в строке № 967 заменить "Приемник.Параметры.Добавить" заменить на "Приемник.МВТ.Добавить")
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлена возможность автоматического сохранения запросов перед выполнением
- загрузка данных из временных таблиц результатов выполнения в МВТ
- добавлен подсчет времени выполнения запросов, входящих в пакет (отдельная страница результатов "Выполнение пакета")
- изменена реализация выгрузки/загрузки данных через XML (значительно снижено потребление оперативной памяти на сервере для данных большого объема)
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- мелкие интерфейсные изменения
- настройки получения результатов запроса перенесены на закладку "Результат запроса"
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- мелкие интерфейсные изменения
- восстановление строковых комментариев в тексте пакета запроса после его изменения в конструкторе (подробнее см. в описании обработки)
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- мелкие интерфейсные изменения
- добавлена возможность вставки ссылки на объект в значения параметров запроса (правая кнопка мыши)
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлена возможность формирования таблицы значений для параметров запроса или для менеджера временных таблиц из табличного документа (на закладке "Параметры запроса" и "Таблицы МВТ" появилась кнопка "Добавить таблицу из табличного документа")
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлена возможность выгрузить результаты выполнения запроса в табличный документ (см. подменю "Отчеты" на закладке "Результат запроса")
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- теперь при комментировании и раскомментировании выделенного текста запроса не сбрасывается текущая позиция в редакторе запроса
- теперь при двойном клике на поле с пустым значением в результатах запросов показывается что это за значение - NULL, Неопределено или пустая ссылка на объект БД
- в отчетах по результатам запросов можно настроить способ отображения значений NULL и Неопределено
- добавлена возможность открывать в редакторе объекта пустые ссылки на объекты базы данных (иногда удобно)
- доработана краткая справка по работе с обработкой
- для ссылок добавлена возможность вывода в результатах запроса даты создания объекта в базе (информация берется из UUID объекта), см. краткую справку
- ВАЖНО: минимальная версия платформы - 8.3.10
- небольшие интерфейсные изменения (доступна командная панель для дерева запросов, см. настройки)
- доработана функция перехвата запроса - для отчета СКД перехватываются запросы для ВСЕХ наборов данных (раньше сохранялся запрос только для первого набора данных), вложенные схемы СКД не обрабатываются
- доработана краткая справка по работе с обработкой
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлена возможность быстрого перехода в тексте пакета запросов к запросу создания временной таблицы (переход можно выполнить по правой кнопке мыши или с вкладки результатов "Временные таблицы")
- улучшена работа с параметрами запроса типа Граница
- повышено удобство загрузки временных таблиц в менеджер временных таблиц (важно при больших объемах данных)
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- оптимизация работы с внутренним кешем обработки (ускорение повторного открытия форм)
- адаптация под работу в ОС Linux
- теперь при перехвате запроса можно сохранять только необходимые таблицы из менеджера временных таблиц (см. справку по функции для перехвата запроса)
- исправлена ошибка при выполнении запроса, возникающая когда в менеджере временных таблиц существует пустая таблица с колонкой типа МоментВремени
- обновлена специальная форма объекта (Редактор объектов информационной базы 8.3), предоставляющей доступ ко всем реквизитам объектов и движениям документов
- добавлен функционал для установки и подключения расширения браузера "Расширение для работы с 1С:Предприятием" (для Веб клиента), см. закладку "Настройки"
- при формировании таблицы значений для параметров запроса или для менеджера временных таблиц из табличного документа доступен тип UUID (уникальный идентификатор)
- исправлено неудобство при работе на платформе 8.5
Проверено на следующих конфигурациях и релизах:
- 1С:Управление холдингом 3.2 (русский и английский интерфейсы), релизы 3.2.9.2
Вступайте в нашу телеграмм-группу Инфостарт
консоль запрос алгоритм обработка параметры отладка редактор объект таблица пакет результат перехват выгрузка XML СДР СДРКонсольЗапросовХ
См. также
Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)
Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.
50000 руб.
10.09.2026 13813 124 0
Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.
24900 руб.
20.08.2024 83397 432 171
Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)
Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.
16500 руб.
02.09.2020 285943 1608 423
Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)
Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.
14000 руб.
17.04.2026 16933 63 62
Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)
Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26
22570 руб.
06.10.2023 44281 122 54
Инструментарий разработчика Нейросети Платные (руб)
Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.
15250 руб.
25.08.2025 77093 147 41
Разработка Инструментарий разработчика Разработчик Руководитель проекта 1С 8.3 Платные (руб)
Pilot 1C превращает задачу, поставленную обычными словами, в техническое задание, код на встроенном языке и сценарии проверки. Прежде чем что-то предложить, он сверяется с устройством вашей конфигурации через граф Analyzer 1C: существует ли объект, из чего он состоит, кто его вызывает, какие роли дают права. Чего найти не удалось – спрашивает, а не выдумывает. Готовый код проходит более полутора сотен проверок по справочнику языка и стандартам разработки, который приезжает вместе с продуктом. Модель – ваша: любой сервер, совместимый с программным интерфейсом OpenAI, в том числе локальный. Правки в конфигурацию Pilot не вносит – их применяет разработчик.
18300 руб.
11.09.2026 3809 5 0
Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
17000 руб.
10.11.2023 28805 103 46
В 1С:Документооборот и БП 3.0 работает.
В ЗУПе 3.1 не работает.
Платформа: 1С:Предприятие 8.3 (8.3.13.1513)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.7.144) (
Copyright © ООО "1C-Софт", 2007-2018. Все права защищены
(
Режим: Серверный (сжатие: усиленное)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский
Вариант интерфейса: Такси
Ошибки:
--------------------------------------------------------------------------------
08.11.2018 14:44:53
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"
При начале работы с интерактивам конструктором запросов ЗУПе. Например при раскрытии справочников.
Штука классная. Надеюсь поправите для ЗУПа.
По поводу ЗУПа - для открытия конструктора используется платформенный вызов, поэтому поправить что либо проблематично.
Думаю, что ошибка вызвана или ошибкой платформы (наблюдал для ERP под 8.3.12.1685), или подпорченной струтурой хранения самой базы (проверить можно на новой пустой или демонстрационной базе ЗУП)
ТекстЗапроса = _ТекстЗапроса.ПолучитьТекст();
Если не ПустаяСтрока(ТекстЗапроса) Тогда
Конструктор = Новый КонструкторЗапроса(ТекстЗапроса);
Иначе
Конструктор = Новый КонструкторЗапроса;
пСоотв = новый Соответствие;
КонецЕсли;
ПоказатьСознательно не делал эту обработку подключаемой, если очень хочется, то в модуль объекта надо добавить экспортную функцию с именем "СведенияОВнешнейОбработке"
описание функции здесь:
Для обычных форм есть замечательный набор инструментов "Инструменты разработчика 1С", но его невозможно использовать в линуксе и в тонком и веб клиенте.
Поэтому мы решили собрать подобный пакет, но который будет работать только на платформенных механизмах или с использованием кроссплатформенных компонент.
Использование этого пакета инструментов хотим сделать общедоступным(OpenSource), разработку вести через гитхаб с использованием EDT.
Можем ли мы включить в этот набор обработки(или часть идей и функционала) вашей консоли запросов для управляемых форм?
На текущий момент нашли основные инструменты (консоль запросов, консоль кода, редактор реквизитов, консоль компоновки и др.) для включения в инструментарий. Сейчас занимаемся получением одобрения авторов. Часть включаем свои- редактор предопределенных, редактор констант, Групповая обработка
Ссылка на репозиторий с новыми инструментами
Поля "ТекстЗапросв", "ОписаниеЗапроса" не редактируются.
Аналогично и для текстовых полей алгоритма.
Вы наверное находитесь в корне дерева запросов (// КОРНЕВОЙ ЗАПРОС НЕ ИСПОЛЬЗУЕТСЯ //)
Добавьте новый запрос в дерево запросов и все получится
Самый простой способ сформировать таблицу в параметрах запроса следующий:
1. Создаю запрос, на пример ВЫБРАТЬ Ссылка, Наименование ИЗ Справочник.Валюты
2. Выполняю запрос в консоли
3. Результаты запроса подгружаю в параметр (это будет таблица валют)
4. После этого эту таблицу в параметрах запроса можно редактировать (добавлять, удалять, изменять строки)
5. Изменять структуру таблицы нельзя
Платформа 8.3.12. , УНФ 1.4 Ошибки
{ВнешняяОбработка.СДРКонсольЗапросовХ.Форма.Форма.Форма(1416,35)}: Переменная не определена (НаправлениеПоиска)
Поз1 = СтрНайти(пСтрока, ",", <<?>>НаправлениеПоиска.СКонца);
{ВнешняяОбработка.СДРКонсольЗапросовХ.Форма.Форма.Форма(1397,54)}: Процедура или функция с указанным именем не определена (СтрНайти)
пСтрокаОбъектНеНайден = Сред(пСтрокаОбъектНеНайден, <<?>>СтрНайти(пСтрокаОбъектНеНайден, "(") + 1);
{ВнешняяОбработка.СДРКонсольЗапросовХ.Форма.Форма.Форма(1401,8)}: Процедура или функция с указанным именем не определена (СтрНайти)
Поз = <<?>>СтрНайти(пСтрокаОбъектНеНайден, ":");
Я так понимаю из-за включенного режима совместимости. Если дело только в этом конечно можно попробывать подправить или бесполезно ?
Данная обработка будет корректно работать на версии платфлормы не ниже 8.3.8 (это написано в публикации)
Функция СтрНайти появилась в версии платформы 8.3.6 (судя по Вашей ошибке у вас режим совместимости еще ниже)
Попробывать подправить можно, только этим (функция СтрНайти) правка не ограничиться
Нет такой возможности нет (как то не было необходимости реализовывать)
В Вашем случае я бы воспользовался закладкой "Алгоритмы" - там можно написать любой алгоритм, с перебором строк таблицы результатов запроса.
При клике на кнопку "открыть спец.значение" открывается окошко. уазать количество строк нельзя, число не вводиться. 8.3.18.1289 Как поправить? очень нужно, поясните плз
Запрос выполняется целиком (отправился целиком на сервер, а затем вернулся результат, см. Запрос.ВыполнитьПакет()), поэтому определить сколько времени занимал отдельный запрос из пакета не представляется возможным.
Сценарий такой > Сначала текст запроса, потом заполняем параметры, нажимаем Выполнить. Понимаем что нам нужны временные таблицы. Начинаем искать где эта настройка.
Обычно происходит так:
- сначала пишется текст запроса
- потом заполняются параметры
- потом выполняется запрос
- потом выполняется тюнинг запроса (работаем не вкладке "Текст зароса")
но тем не менее подумаю, возможно доработаю интерфейс
1С:ERP Управление предприятием 2 (2.5.7.394)
1С:Предприятие 8.3 (8.3.20.1613) Тонкий клиент
ВЫБРАТЬ ПЕРВЫЕ 10
т.Ссылка КАК Ссылка,
т.Наименование КАК Наименование,
СОКРЛП(т.Наименование) КАК НаименованиеХ
ИЗ
Справочник.Контрагенты КАК т
запрос выполняется без ошибок, конструктор запроса открывается
СОКРЛП(т.Наименование) КАК НаименованиеХ - написал руками
Как раз хотел задать такой же вопрос но увидел, что уже задали.
Это когда пытаешься вызвать конструктор запроса для условия и задать выборку из временной таблицы.
Т.е. в условии указать ... Где Номенклатура В ( Выбрать Ссылка из Вт_номенклатура ) и вот то что скобках, сделать конструктором, как в толстом клиенте, а не руками писать.
Тоже интересует есть ли такая возможность у этой консоли? По фотке похоже, что нет?
Консоль использует платформенный конструктор запросов.
В тонком клиенте конструктор несколько урезан (вопрос к разработчикам платформы 1С), поэтому вылетает эта ошибка.
Пока единственный выход - это запустить консоль под толстым клиентом или написать этот запрос руками.
Чтобы не писать руками, можно предварительно сформировать этот запрос отдельно в констукторе, а потом текст вставить в условие.
Но вот почему-то не нашел элементарной вещи. Когда вставляешь текст запроса из конфигуратора в консоль, он содержит символы переноса строк и двойных ковычек (ведь это строка), и нет кнопки по которой можно было бы их быстро убрать... (может я просто не нашел). Поэтому вот вам небольшая команда, добавьте пожалуйста, думаю будет очень полезно.
Индекс = 1;
Пока Индекс <= _ТекстЗапроса.КоличествоСтрок() Цикл
_ТекстЗапроса.ЗаменитьСтроку(Индекс, СтрЗаменить(_ТекстЗапроса.ПолучитьСтроку(Индекс), "|", ""));
_ТекстЗапроса.ЗаменитьСтроку(Индекс, СтрЗаменить(_ТекстЗапроса.ПолучитьСтроку(Индекс), """""", """"));
Индекс = Индекс + 1;
КонецЦикла;
Такой кнопки действительно нет - не хотел нагружать интерфейс, посчитал, что нажать Ctrl+H и выполнить замену не сложно.
Может быть добавлю такую команду.
Кроме того из конструктора можно вствить запрос без не нужных символов - в конфигураторе открыть конструктор запроса, нажать кнопку Запрос и получить нормальный текст запроса.
алгоритмы всегда разные - это способ быстро поправить данные для объектов, которые вы получили запросом
для примера написания, можно нажать конпку "Пример (клиент)" или ""Пример (сервер)"
пример конкретного полезного алгоритма приложу в описании обработки позже
По консоли (1.1.0.83) есть такая проблема. В Толстом клиенте при открытии запроса в конструкторе запроса нет вкладки Итоги. В Тонком клиенте все нормально. В 77 версии вкладка Итоги есть, а с 79 уже пропала.
В 87 есть Итоги в Толстом клиенте или стоит подождать исправления?
И если не сложно, добавьте пожалуйста возможность сохранить результат запроса в Excel-файл. Иногда нужно анализировать в экселе данные, а писать отчет не хочется, проще и удобнее воспользоваться консолью. :)
1. Закладка Итоги: консоль использует платформенный конструктор запросов - если он открывается в "режиме компоновки данных", то вкладка "Итоги" не видна.
Можно поправить самому: откройте обработку в конфигураторе, в модуле формы "Форма" найдите и закомментарьте строку
Конструктор.РежимКомпоновкиДанных = истина;2. с Excel возиться не хочу, тем не менее выгрузить в Excel можно:
- результат запроса выгрузить в табличный документ (кнопка "Еще", "Вывести список")
- получившийся табличный документ можно сохранить в различном формате средствами платформы
Олег, спасибо за опциональность режима компоновки данных в 89. Только на днях скачала 87 версию и там закомментировала строку по вашему совету. Но опция универсальнее конечно.
А о выводе списка для выгрузки в Excel почему-то не подумала ;) . Спасибо.
Рекомендую Олега и его обработку всем, кто ищет эффективные инструменты для упрощения своей работы.
Спасибо вам, Олег, за то, что вы делаете!)
- в таблицах данные можно сортировать, устанавливать отбор
- таблицу результат можно поместить в параметр запроса или в менеджер временных таблиц
- из таблицы можно сразу открыть ссылочный объект (для табличного документа придется делать расшифровку)
- по экспериментам для больших объемов данных работает быстрее
- чисто субъективно мне больше нравится
Хотя, возможно сделаю (когда будет время) отдельную команду для вывода всех результатов в табличный документ, в принципе это не сложно.
Пока отвечал пришла мысль когда это будет полезно.
1 - Я иду по отладчику и вижу запрос.
2 - Я не могу запрос сохранить в файл. Мне для этого надо запустить 1С предприятие, посмотреть код сеанса, и после этого повторить отладку и сохранить запрос. Надо сделать фикс что бы не сбрасывать каждый раз отладку.
Если выбрать режим "Таблица значений + временные таблицы", то консоль не может выполнить такой запрос. Запрос приходится допиливать руками. А запросы там огромные.
Схему запроса надо убирать, в ней косяки. Схема запроса такие запросы спарсить не может. Чем не понравился простой запрос и выгрузкой оттуда временных таблиц?
Функция вРазобратьПакетЗапросов(Знач Запрос)
СтрукРезультат = новый Структура;
СтрукРезультат.Вставить("Таблицы", новый Соответствие);
СтрукРезультат.Вставить("Запросы", новый Соответствие);
Если Запрос = Неопределено Тогда
Запрос = новый Запрос;
КонецЕсли;
СхемаЗапроса = Новый СхемаЗапроса;
СхемаЗапроса.УстановитьТекстЗапроса(Запрос.Текст); //аааааааааааааааааааааа Показатьможно поправить самостоятельно:
- в модуле "Форма" описать переменную мСпецДействие
&НаКлиенте
Перем мСпецДействие;
- в модуле "Форма" добавить процедуру вВыполнитьСпецДействие(...)
&НаКлиенте
Процедура вВыполнитьСпецДействие() Экспорт
Если мСпецДействие.Команда = "Запрос_ПерейтиКЗаданнойСтроке" Тогда
Элементы._ТекстЗапроса.УстановитьГраницыВыделения(мСпецДействие.Строка, 1 ,мСпецДействие.Строка, 1);
Попытка
пWscriptShell = новый COMОбъект("Wscript.Shell");
пWscriptShell.SendKeys("{HOME}");
Исключение
Состояние("Нажмите Up или Down");
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Показать- в модуле "Форма"заменить процедуры _ЗакомментироватьТекстЗапроса(Команда) и _РаскомментироватьТекстЗапроса(Команда)
&НаКлиенте
Процедура _ЗакомментироватьТекстЗапроса(Команда)
Перем Строка1, Колонка1, Строка2, Колонка2;
Если вСЗапросомРаботатьНельзя() Тогда
Возврат;
КонецЕсли;
Если Элементы._ТекстЗапроса.ВыделенныйТекст = "" Тогда
Возврат;
КонецЕсли;
вЗапросыИзменены(истина);
Элементы._ТекстЗапроса.ПолучитьГраницыВыделения(Строка1, Колонка1, Строка2, Колонка2);
Для Сч = Строка1 по ?(Колонка2 = 1, Строка2-1, Строка2) Цикл
Стр = _ТекстЗапроса.ПолучитьСтроку(Сч);
Стр = "//" + Стр;
_ТекстЗапроса.ЗаменитьСтроку(Сч, Стр);
КонецЦикла;
мСпецДействие = новый Структура("Команда", "Запрос_ПерейтиКЗаданнойСтроке");
мСпецДействие.Вставить("Строка", Строка2);
ПодключитьОбработчикОжидания("вВыполнитьСпецДействие", 0.1, истина);
вЗапросыИзменены(истина);
КонецПроцедуры
&НаКлиенте
Процедура _РаскомментироватьТекстЗапроса(Команда)
Перем Строка1, Колонка1, Строка2, Колонка2;
Если вСЗапросомРаботатьНельзя() Тогда
Возврат;
КонецЕсли;
Если Элементы._ТекстЗапроса.ВыделенныйТекст = "" Тогда
Возврат;
КонецЕсли;
вЗапросыИзменены(истина);
Элементы._ТекстЗапроса.ПолучитьГраницыВыделения(Строка1, Колонка1, Строка2, Колонка2);
Для Сч = Строка1 по ?(Колонка2 = 1, Строка2-1, Строка2) Цикл
Стр = _ТекстЗапроса.ПолучитьСтроку(Сч);
Если Лев(Стр, 2) = "//" Тогда
Стр = Сред(Стр, 3);
_ТекстЗапроса.ЗаменитьСтроку(Сч, Стр);
КонецЕсли;
КонецЦикла;
мСпецДействие = новый Структура("Команда", "Запрос_ПерейтиКЗаданнойСтроке");
мСпецДействие.Вставить("Строка", Строка2);
ПодключитьОбработчикОжидания("вВыполнитьСпецДействие", 0.1, истина);
вЗапросыИзменены(истина);
КонецПроцедуры
ПоказатьЕсли хотите сделать таблицу определенной структуры, то попробуйте
- команду "Добавить таблицу из табличного документа" на закладке "Параметры запроса"
- команду "Результаты" -> "Поместить в параметр запроса" на закладке "Результаты запроса"
Можно добавить такой функционал, типа группа запросов. ПрикрепФайл1.
И возможность формировать новый параметр запроса из его результата. ПрикрепФайл2.
Многие пишут запросы прямо текстом без конструктора,
неплохо бы сделать быструю помощь по функциям.
А также быструю вставку предопределенного значения. ПрикрепФайл3.
Это так, пожелания. Ваша обработка хороша, а будет еще лучше!
Ради интереса хотел спросить - есть ли у вас проблема с уведомлениями в ТГ (у меня последнее время вообще не приходят - думаю, как вариант, в т.ч. на vpn, что (и) с ним м.б. связано).
(Предполагаю спросить у техподдержки интернет-сайта Инфостарта позже по этому вопросу.)
добавить флаг указывающий нужно ли передавать данные таблицы с клиента на сервер - для неверных запросов или с большим результатом, если всегда показывать всЁ то клиент может повиснуть на долго
по умолчанию ставить галку только на последний результат
скрин
если будет реализовано, то заменю свою привычную обработку (на скрине) на эту как более удобную
просто приходится работать с запросами в тысячи строк и огромными таблицами, это все будет висеть если передавать на клиент
Из описания:
- Можно редактировать таблицу значений, являющуюся параметром запроса;
По кнопке "Открыть спец. значение" появляется окно с предложением указать число записей таблицы в поле ввода, у которого свойство "Только просмотр" равно Истина. Непонятно как заполнить вручную параметр с типом "ТаблицаЗначений".
UPD: уже скачала есть инструкция кроме как на ютубе? В частности не могу задать параметры для запроса: массив типов и список перечислений.
1. я так понял, что вы разобрались как не тащить временные таблицы в результаты. На всякий случай напишу: на закладке "Результат запроса" надо установить требуемое значение для режима "Вывод"
2. для подготовки видео инструкций не хватает времени, кроме ютуба есть только описание на Инфостарт и краткая справка в самой консоли, см.закладку "Настройки"
3. Тип и массив типов нельзя использовать в параметрах
4. Список значений перечислений задать в качестве параметра можно
ВЫБРАТЬ
ТИП(Справочник.Валюты) КАК ТипОбъекта
ПОМЕСТИТЬ втТипы
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ТИП(Справочник.Контрагенты)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
т.ТипОбъекта КАК ТипОбъекта
ИЗ
втТипы КАК т ПоказатьВы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 938606
Создание 08.11.18 10:29
Обновление 25.01.26 18:08
Просмотры 72240
Загрузки 1146
Рейтинг
109
Комментарии 114
Код открыт Да
Рубрики Инструментарий разработчика Запросы
Кому Разработчик
Тип файла Внешняя обработка (ert,epf)
Платформа 1С 8.3
Конфигурация Универсальные
Операционная система Windows
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)