Консоль запросов. Очередная гайка.

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

Разработка - Инструментарий разработчика - Консоль запросов

консоль запросов функция

Небольшое дополнение к консоли запросов. Позволяет создавать функцию вместе с текстом запроса.
Здравствуйте уважаемые инфостартовцы. Прежде чем приступить к изложению небольшое отступление.
Возможно эта опция есть в других консолях. Если есть прошу строго не судить.
Итак начнем
Рецепт приготовления гайки)
1. Берем 1 стандартную консоль Чистова. Открываем ее в Конфигураторе.
2. Открываем основную форму и находим там элемент "КоманднаяПанельТекстаЗапроса".
3. Добавляем кнопку и даем ей какое нибудь незатейливое название. Например "Fx".
4. Создаем обработчик по нажатию кнопки.
5. В текст обработчика добавляем следующий код:

пНазваниеФункции="";

    ФункцияИнициал = "Функция ";

    Кодзапроса="";

    КодЗапроса = КодЗапроса+ФункцияИнициал;

    ТекстЗапроса = СтрЗаменить(вПолучитьТекстЗапроса(Истина), "|", "");

    Если ПустаяСтрока(ТекстЗапроса) Тогда

        Предупреждение("Отсутствует текст запроса.");

        Возврат;

    КонецЕсли;

    Запрос = Новый Запрос(ТекстЗапроса);

    

    Попытка

        ПараметрыЗапроса = Запрос.НайтиПараметры();

    Исключение

        Предупреждение(ОписаниеОшибки());

        Возврат;

    КонецПопытки;

    

    //название функции

    Если НЕ ВвестиСтроку(пНазваниеФункции, "Введите Имя функции") Тогда

        Возврат;

    КонецЕсли;

    КодЗапроса = КодЗапроса+ пНазваниеФункции+"(";

    КоличествоПараметров = ПараметрыЗапроса.Количество();

    НачальныйПараметр=1;

    Для каждого ПараметрЗапроса Из ПараметрыЗапроса Цикл

       

        Если НачальныйПараметр = КоличествоПараметров Тогда

            КодЗапроса = КодЗапроса+ПараметрЗапроса.Имя;

        Иначе

            КодЗапроса = КодЗапроса+ПараметрЗапроса.Имя + ",";

        КонецЕсли;

 
НачальныйПараметр = НачальныйПараметр+1;
    КонецЦикла;

    

    КодЗапроса = КодЗапроса+ ")"+Символы.ПС;

    пНазваниеЗапроса = "Запрос";

    Если НЕ ВвестиСтроку(пНазваниеЗапроса, "Введите Имя запроса") Тогда

        Возврат;

    КонецЕсли; 

    КодЗапроса = КодЗапроса + пНазваниеЗапроса + " = Новый Запрос;" + Символы.ПС;

    НовыйТекст = "";

    Для Ном = 1 По ЭлементыФормы.ТекстЗапроса.КоличествоСтрок() Цикл

        Текст = СтрЗаменить(ЭлементыФормы.ТекстЗапроса.ПолучитьСтроку(Ном),"|","");

        Текст = СтрЗаменить(Текст, Символ(34), Символ(34) + Символ(34));

        НовыйТекст = НовыйТекст + "|" + Текст + Символы.ПС;

    КонецЦикла;


    КодЗапроса = КодЗапроса + пНазваниеЗапроса + ".Текст = """ + Символы.ПС + СокрЛП(НовыйТекст) + """;" + Символы.ПС;

    

    Для каждого ПараметрЗапроса Из ПараметрыЗапроса Цикл

        КодЗапроса = КодЗапроса + пНазваниеЗапроса+".УстановитьПараметр("""+ПараметрЗапроса.Имя+""","+Символы.Таб+ПараметрЗапроса.Имя+");"+Символы.Таб+" //" + ПараметрЗапроса.ТипЗначения + Символы.ПС;

    КонецЦикла;


    КодЗапроса = КодЗапроса + "РезультатЗапроса = " + пНазваниеЗапроса + ".Выполнить();"+Символы.ПС;

    КодЗапроса = КодЗапроса + "Возврат РезультатЗапроса;"+Символы.ПС;

    КодЗапроса = КодЗапроса + "КонецФункции"+Символы.ПС;

    ФормаКода = ПолучитьФорму("ФормаКодаЗапроса");

    ФормаКода.ЭлементыФормы.КодЗапроса.УстановитьТекст(КодЗапроса);

    ФормаКода.Открыть();

6. Почти готово.
7. Заходим в режим Предприятие. И пробуем.
8. Результат приведен на скриншоте.
9.Спасибо за внимание.

Файл консоли прикладывать не буду его найти не проблема.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. AlexO 129 31.07.14 23:28 Сейчас в теме
Это что - просто создаем текст под функцию, и все? А чем не устраивает обычные "создать текст модуля"?
2. mdmdvd 51 01.08.14 12:55 Сейчас в теме
Я и написал ,что если есть то не судите строго)
Оставьте свое сообщение

См. также

Подсистема "COMExchange": консоль запросов в режиме «Консоль кода». Промо

Консоль запросов v8 1cv8.cf Россия Бесплатно (free)

Описана возможность использования обработки «Консоль запросов 1С+ADO» в качестве «консоли кода». При этом имеется возможность помещения результатов вычислений в «табло формул». Кроме результатов вычислений в это «табло» можно также вывести время выполнения и описание обработанных ошибок времени исполнения.

03.04.2014    25788    0    yuraos    2    

Обработка кодом результата запроса в Консоли запросов 9000

Консоль запросов v8::Запросы Бесплатно (free)

Пять вариантов обработки кодом в консоли запросов 9000: простое выполнение, построчно без индикации, построчно с индикацией, простое в фоне, построчно в фоне с индикацией.

01.06.2020    1077    0    kuza2000    7    

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

Прочие инструменты разработчика Консоль запросов v8::УФ v8::Запросы v8::СКД Бесплатно (free)

Консоль запросов и СКД – один из наиболее часто используемых программистом инструментов. Как с его помощью можно упростить разработку, в своем докладе на конференции Infostart Event 2019 Inception рассказал Евгений Люлюк, ведущий программист компании GLT.

06.04.2020    5734    0    Evg-Lylyk    0    

[8.3] Анализ планов запросов (Управляемая консоль отчетов)

Консоль запросов v8 1cv8.cf Бесплатно (free)

Новый инструмент! Позволяет удобно работать с планами запросов, анализ планов в файловой базе.

19.11.2018    18793    0    Evg-Lylyk    6    

Подсистема "COMExchange", "Консоль запросов 1C + ADO" - сервис обработки выборки запроса: грузим курс «бакса» ЦБРФ из файла *.dbf или *.xlsx. Промо

Консоль запросов v8 КА1 УТ10 УПП1 Россия Бесплатно (free)

На примере загрузки курса валюты продемонстрированы возможности консоли запросов в составе подсистемы "COMExchange" для обработки данных из внешних файлов и их синхронизации с данными информационной базы 1С.

10.03.2013    33013    0    yuraos    3    

Консоль запросов для УФ с возможностью передачи готовой ТЗ в качестве параметра

Консоль запросов v8 v8::УФ Россия Бесплатно (free)

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

11.07.2016    14700    0    vadim1011985    7    

Подсистема "COMExchange", консоль запросов, сервис обработки выборки запроса: корректируем регистры или «Берём банк, кассу, экспроприируем экспроприаторов».

Консоль запросов v8 1cv8.cf Россия Бесплатно (free)

На примере шуточного примера продемонстрированы не шуточные возможности консоли запросов в составе подсистемы "COMExchange" для работы с регистрами, подчинёнными регистратору («обнуление» регистров, ввод начальных итогов (сведений), корректировка итогов).

31.03.2013    22255    0    yuraos    7    

Полезные вкусняшки: Консоль запросов от GROOVY

Консоль запросов v8 1cv8.cf Россия Бесплатно (free)

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

19.09.2007    27925    0    GROOVY    17