Снегопат
https://snegopat.ru/forum/

Дайте совет как работать с консолью запросв из ИР ?
https://snegopat.ru/forum/viewtopic.php?f=6&t=255
Страница 1 из 2

Автор:  headmade [ 17 сен 2012, 20:34 ]
Заголовок сообщения:  Дайте совет как работать с консолью запросв из ИР ?

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

Например:

Текст1 = " Выбрать ... Поместить Х ...";
Запрос1.ВЫполнить();

Текст2 = " Выбрать ... Поместить Y ...";
Запрос2.Выполнить();

Текст3 = " Выбрать ... ИЗ Y ...Объединить ВЫбрать .... Из Х";
Запрос3.Выполнить();

При отладке возникает необходимость проверить итоговый Запрос3, а также проверить Запрос1 и Запрос2.

Как можно красиво при отладке вытянуть эти запросы с параметрами в одну
консоль запросов?

Спасибо

Автор:  sosnae [ 18 сен 2012, 10:35 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

Как Запрос1, Запрос2 и Запрос3 у вас потом связывается, я не знаю.
Вот как я обычно делаю http://screencast.com/t/ysyqh48a

Автор:  headmade [ 19 сен 2012, 21:03 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

sosnae писал(а):
Как Запрос1, Запрос2 и Запрос3 у вас потом связывается, я не знаю.
Вот как я обычно делаю http://screencast.com/t/ysyqh48a

спс, помогло разобраться


PS за видео отдельное спасибо

Автор:  JohnyDeath [ 20 сен 2012, 12:08 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

Чтобы не плодить темы, спрошу здесь.
Как вы так делаете? У меня ничего не получается, я уж и в самом толстом клиенте запускал. И всё равно не кажет:
http://screencast.com/t/epDgeb1AAZ
Где я косячу?

Автор:  kuntashov [ 20 сен 2012, 12:53 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

JohnyDeath писал(а):
Чтобы не плодить темы, спрошу здесь.
Как вы так делаете? У меня ничего не получается, я уж и в самом толстом клиенте запускал. И всё равно не кажет:
http://screencast.com/t/epDgeb1AAZ
Где я косячу?


У меня такая же ерунда была, дело в том, что используется SendKeys для того, чтобы спровоцировать событие "ПриИзменении" поля Выражение, без этого программное нажатие "Рассчитать" рассчитывает выражение "Запрос", а не то, которое вставляется скриптом (Отладить(Запрос)).

Поиграйся с таймаутом в коде скрипта (второй аргумент в вызрве функции setTimeout():

Код:
                // Посылаем нажатие Enter, чтобы отработало событие "ПриИзменении" поля ввода выражения.
                setTimeout(function () {
                    wsh.SendKeys("{END} {ENTER}");
                    if (!params.doModal)
                        wsh.SendKeys("%{F4}{F5}");
                       
                }, 1000);

Автор:  headmade [ 20 сен 2012, 20:08 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

JohnyDeath писал(а):
Чтобы не плодить темы, спрошу здесь.
Как вы так делаете? У меня ничего не получается, я уж и в самом толстом клиенте запускал. И всё равно не кажет:
http://screencast.com/t/epDgeb1AAZ
Где я косячу?



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

Автор:  JohnyDeath [ 20 сен 2012, 21:06 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

У меня они встроены, это я уже игрался и с мобильными.

Автор:  JohnyDeath [ 22 сен 2012, 14:30 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

kuntashov писал(а):
Поиграйся с таймаутом в коде скрипта (второй аргумент в вызрве функции setTimeout():

Код:
                // Посылаем нажатие Enter, чтобы отработало событие "ПриИзменении" поля ввода выражения.
                setTimeout(function () {
                    wsh.SendKeys("{END} {ENTER}");
                    if (!params.doModal)
                        wsh.SendKeys("%{F4}{F5}");
                       
                }, 1000);

У меня скорее вопрос общего характера. Как вообще всё это должно работать?
Я так понимаю скрипт просто в окне расчета выполняет "Отладка(Запрос, Истина)" (в случае встроенной ИР). Что вообще должно произойти? У меня что скриптом, что и ручками результат выполнения - строка "Отложенная отладка объекта такого типа не поддерживается"
Объясните, что я делаю не так? Или здесь есть какие-то ограничения, под которые я как раз-таки и попадаю?
Изображение

Автор:  sosnae [ 22 сен 2012, 15:37 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

Посмотри функцию ирОтладка.Отладить();
1. У тебя на сервере выполняется запрос, поэтому возможна только отложенная отладка.
2. При отложенной отладке запрос с менеджером временных таблиц не может быть отлажен и пишется сообщение.
Но т.к. присутствуют такие конструкции для определения ошибки,
Код:
Если Объект.МенеджерВременныхТаблиц <> Неопределено Тогда
   Результат = "Отложенная отладка запроса с установленным менеджером временных таблиц не поддерживается";
..................
Иначе
   Результат = "Отложенная отладка объекта такого типа не поддерживается";
//тут бы
Иначе
Если Не ЗначениеЗаполненно(Результат) Тогда
   Результат = "Отложенная отладка объекта такого типа не поддерживается";

у тебя получается неправильная интерпретация сообщения об ошибке.

В теории, после нажатия "Рассчитать" и признака Модально=Истина, у тебя должна в режиме предприятия открыться форма консоли запросов с твоими уже заполненными параметрами и готовым текстом запроса.

Автор:  tormozit [ 22 сен 2012, 15:50 ]
Заголовок сообщения:  Re: Дайте совет как работать с консолью запросв из ИР ?

Действительно. Описание причины невозможности отладки в данном случае возвращается неверное. Это будет исправлено в следующей версии подсистемы "Инструменты разработчика".

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/