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

23.07.14

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

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

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

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

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

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

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

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

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

        Возврат;

    КонецЕсли;

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

    

    Попытка

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

    Исключение

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

        Возврат;

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

    

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

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

        Возврат;

    КонецЕсли;

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

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

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

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

       

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

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

        Иначе

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

        КонецЕсли;

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

    

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

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

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

        Возврат;

    КонецЕсли; 

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

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

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

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

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

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

    КонецЦикла;


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

    

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

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

    КонецЦикла;


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

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

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

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

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

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

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

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

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

См. также

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

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

12000 руб.

02.09.2020    171936    964    403    

924

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14439    109    46    

108

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

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

22200 руб.

06.10.2023    17320    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

9360 руб.

17.05.2024    27322    96    48    

138

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

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

15000 руб.

10.11.2023    11927    45    27    

67

SALE! %

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

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

4800 3840 руб.

14.01.2013    191307    1153    0    

920

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18104    7    32    

42

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1139    2    0    

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