Запросник на управляемых формах

05.10.17

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

За основу взята оригинальная консоль запросов "Запросник" из публикации http://forum.infostart.ru/forum24/topic34484/ Так получилось, что лично я всегда с огромным удовольствием пользовался вышеупомянутым творением, таскал везде и всюду, ибо давала невероятные возможности. Вошел в какой-нибудь РАУЗ в УПП, или модуль расчета ЗУП с простынями запросов, отбирающихся из менеджера временных таблиц, запустил мега-обработку и сразу всё как на ладони. Сказать, что ощущал себя как Нео - это мало сказать, с таким инструментом чувствовал себя почти богом. Но вскоре случилось ужасное - начали выходить всякие УТ на УФ и возможности применения инструмента резко сузились. Да, можно было включать режим ОФ и что-то делать, но удобство летело к черту, жизнь становилась не такой прекрасной. Время шло, версии для УФ не появлялось. И тут автор обработки, глубоко уважаемый лично мною tezin, заявляет: я от дел отошел, если что исходники открыты, если энтузиаст найдётся для перевода на УФ - я не против. Ну и собственно - почему бы и нет? Вооружился энтузиазмом и забацал консольку.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Запросник2_0_21
.epf 351,72Kb ver:2.0.21
1862
1862 Скачать (1 SM) Купить за 1 850 руб.

Итак, что сделано:

- Дерево запросов

- Вывод результата в таблицу и дерево

- Параметры с установкой момента времени, границы, списков, таблицы значений

- Просмотр и отладка временных таблиц

- Версионирование запросов - при каждом выполнении оно запоминается, что там было

- Сохранение в файлы и всё такое

- Обход запроса с помощью настраиваемой выборки

- Конструктор в тонком клиенте при использовании 8.3.5

- Выполнение алгоритмов над результатом запроса

- Возможность отлаживать запрос, формируемый в консоли системы компоновки данных с диска ИТС

- Получение плана запроса, сформированного СУБД

- Получение текста запроса СУБД

- Отладка запроса в модуле

На последнем пункте остановлюсь подробнее, так как суть работы его поменялась.

В далёкие и прекрасные времена, когда использовались ОФ, мы могли с чистой совестью открывать любые формы из отладчика, вызывать всё это модально и вообще играться как дети.

Эта прекрасная возможность и использовалась Запросником - пишем в модуле объекта функцию с открытием формы и установкой запроса и всё работает.

Суровая реальность УФ заставила поменять подход.

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

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

Таким образом, отладка происходитв 2 этапа - вычислить выражение в отладчике вида ВнешниеОбработки.Создать(путь,Ложь).Дамп(Запрос), после чего, можно отпустить исполнение кода дальше и нажать кнопку в обработке (обычный режим), или исполнение кода не отпускать и запустить обработку во втором сеансе (модальный режим).
Строка для вычисления выражения в отладчике доступна в обработке в окне "Отладка запроса в модуле", она генерируется с учетом серверного-файлового режима, в случае серверного файл передаётся на сервер во временную папку.
Проверено на клиент-серверном и файловом вариантах, платформа 8.2, 8.3

// update 2.0.3 08.08.2014
- Добавлена отладка запросов, генерируемых стандартной консолью СКД с ИТС

Решил не присобачивать сюда еще и консоль СКД, т.к. это всё-таки другой инструмент, но я сделал интеграцию между ними.
Как это работает: в Запроснике справа сверху есть подменю с командой "Получить запрос из схемы компоновки", после нажатия вам будет предложено указать, какое из открытых сейчас окон - консоль СКД. При выборе окна запросник выбирает из него схему, настройки, генерирует макет и добавляет получившийся запрос в дерево запросов со всеми параметрами.

// update 2.0.4 08.08.2014
- Добавлена совместимость с платформой 8.2

// update 2.0.5 08.08.2014
- Исправлена ошибка открытия списка версий запросов на платформе 8.3 и ошибка открытия конструктора запросов на 8.3.5
- Добавлена возможность перетаскивать мышкой структуру запроса и параметры в текст запроса при выполении алгоритма
- Добавлено отображение версии запросника в главном окне
// update 2.0.6 16.08.2014
- Исправлена ошибка при выполнении запроса второй раз с установленным флажком "Показывать служебные колонки результата"
- Исправлена ошибка при выполнении запросов, содержащих временные таблицы, когда первая попытка выполнения закончилась ошибкой из-за
неверного синтаксиса запроса
- Произведен рефакторинг участка работы с временными таблицами. Улучшена производительность в операциях сохранения значений ВТ
для последующего отображения.
- Исправлена ошибка сохранения дампа запроса, когда сразу за именем ВТ следовал символ ";"
// update 2.0.7 19.08.2014
Улучшения производительности:
- Несколько улучшена производительность вывода результатов запроса, содержащих большое количество строк
- Уменьшены задержки при навигации по дереву запросов, когда на форме содержиться очень большая таблица результатов запроса
- Произведен рефакторинг процесса работы с алгоритмами запроса. Результат теперь не переходит в другую форму, что
  значительно уменьшает время открытия формы работы с алгоритмами
// update 2.0.8 28.08.2014
- Исправлена ошибка в формируемой в файловой версии строки сохранения дампа - там не было кавычек к пути файла
- Добавлена возможность просматривать тексты запроса СУБД и план запроса СУБД

// update 2.0.9 03.09.2014
- Исправлена ошибка при формировании пакетного запроса в случае, когда включен режим получения плана запроса
- Добавлена совместимость с 8.2.16 и ниже, предположительно до 8.2.14
- Добавлена возможность формировать текст запроса для модуля
- Убрано сообщение об ошибке при открытии конструктора запросов в толстом клиенте
- Произведена некоторая оптимизация для получения плана запроса в клиент-серверном варианте

// update 2.0.10 13.09.2014
- Исправлены ошибки с параметрами дата, которые не содержали время
- Исправлена ошибка при работе с версиями запроса, после работы с которыми терялись параметр "список значений"
- Исправлена ошибка, из-за которой под платформой 8.2 не работало получение запроса из схемы СКД
- Добавлена возможность получать тексты запросов СУБД с представлениями полей 1С.
- Убраны ограничения интерактивного редактирования таблиц результата запроса
В 

//update 2.0.11 18.09.2014
- Исправлен печальный баг, который загонял отладчик в бесконечный цикл при сохранении дампа запроса с >4 таблицами
- Исправлены ошибки, из-за которых некоторые ВТ не сохранялись в дамп
- Исправлена ошибка с параметром даты в составе границы
- Интерфейс в такси переведен на компактный режим
- Исправлена ошибка, когда ВТ могли задваиваться в форме, если вызывать их несколько раз с разным синтаксисом

//update 2.0.12 03.10.2014

- Улучшен парсинг запросов при получении дампа - временная таблица теперь корректно обнаруживается внутри вложенного запроса

//update 2.0.13 19.12.2014
- Для возможности нормальной отладки запросов ЗУП добавлено замещение значений NULL на неопределено во временных таблицах
- Исправлена ошибка при выполнении запроса, в котором ВТ используется несколько раз и написана в разном регистре
- Исправлена ситуация, когда иногда могли не отображаться отрицательные числа из-за бага платформы

//update 2.0.14 24.02.2015
- Реализована поддержка отладки сохраненных дампов временных таблиц, у которых есть колонки со значением "Тип"
(используется в ERP 2.0 в запросах на отражение документов в рег. учете)
- Изменен приоритет конструкторов запроса - если доступен конструктор для толстого клиента, то вызывается он.

//update 2.0.15 02.03.2015

- Исправлена ошибка в заполнении колонок таблицы значений-параметра, когда при отмене редактирования выполнялась проверка на тип колонки
- Значения полей типа "Тип" и "Момент времени" в результате запроса теперь отображают представление данных, а не просто строки "Тип" и "Момент времени"
- Реализована интерактивная работа с полями типа "Хранилище значений", "Результат запроса", "Двоичные данные"

//update 2.0.16 12.05.2015

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

 

//update 2.0.17 14.05.2015
- Добавлен новый выбор типа при настройке колонок таблицы значений
- Добавлен новый выбор типа при работе стандартной команды "Подбор" списка значений
- Исправлены некоторые ошибки с отсутствием модифицированности формы

//update 2.0.18 21.06.2016

- Доработки алгоритма формирования текста запроса (автоподстановка параметров)
- Исправлена ошибка в хоткее Ctrl+S

//update 2.0.19 07.07.2016
- Убраны хвосты раскраски кода из формы выполнения алгоритмов

//update 2.0.20 26.12.2016

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

//update 2.0.21 05.10.2017
- Устранена ошибка, связанная с уничтожением ВТ
- Исправлена ошибка, связанная с влиянием закомментированных участков запроса на логику исполнения запроса

Запросник консоль запросов

См. также

SALE! 15%

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    160324    882    399    

866

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    8114    60    28    

71

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    23650    69    45    

118

SALE! 15%

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

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

22200 19980 руб.

06.10.2023    15520    36    7    

71

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10546    37    27    

62

SALE! 35%

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

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

4800 3120 руб.

14.01.2013    188219    1141    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

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

15000 12750 руб.

07.10.2021    17370    6    32    

42

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

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

1800 руб.

21.02.2023    7767    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. BigClock 07.08.14 14:42 Сейчас в теме
В Вашем Запроснике есть отладка СКД?
(как в проектах http://infostart.ru/public/179939/, http://infostart.ru/public/97962/)
4. mrstomak 422 08.08.14 00:22 Сейчас в теме
(1) BigClock, Добавил интеграцию со стандартной консолью СКД с диска ИТС. Отдельной кнопкой выбираете из запросника окно консоли СКД и её запрос перекочёвывает со всеми потрохами в дерево запросов. Мне кажется это лучше, чем городить рядом ещё одну консоль СКД :).
2. Nuuq 76 07.08.14 15:11 Сейчас в теме
Без Запросника82 в УП как без рук.
Посещал сайт автора с надеждой - а вдруг уже появилось на 1с83 ;) ... но нет... печаль
И о чудо! Вот оно! Спасибо автор!
Желаю не сбавлять энтузиазма
3. BigClock 07.08.14 15:59 Сейчас в теме
(2) Nuuq,
Согласен. В обычных формах только запросником и пользуюсь, очень удобно.
5. mrstomak 422 08.08.14 00:23 Сейчас в теме
(2) Nuuq, Спасибо за пожелание, надеюсь вещь будет полезная :)
6. Synoecium 786 08.08.14 04:50 Сейчас в теме
А будет версия обработки под 8.2? Судя по коду используется не так много возможностей из 8.3, поэтому при небольших усилиях можно расширить аудиторию пользователей Запросника.
Обработка понравилась) минималистично и функционально.
7. mrstomak 422 08.08.14 08:08 Сейчас в теме
(6) из 8.3 там немодальные вызовы форм и работа с форматированным документом в одном месте... Ну вообще да, можно под 8.2 переточить, постараюсь этим заняться.
8. BigClock 08.08.14 09:39 Сейчас в теме
Присоединяюсь к пожеланию добавить поддержку 8.2.
9. mrstomak 422 08.08.14 11:00 Сейчас в теме
Поддержка платформы 8.2 добавлена.
10. Synoecium 786 08.08.14 12:43 Сейчас в теме
Спасибо за добавление поддержки. Есть еще предложение по доработке, в окне выполнения произвольного алгоритма чтобы вставить в код обработки имя поля приходится жать кнопку "в буфер", затем вставлять в текст. это действие можно очень упростить если дать возможность таскать поля из таблицы "Структура результата запроса" прямо в текст обработчика.
11. mrstomak 422 08.08.14 14:50 Сейчас в теме
(10) Synoecium, согласен, в следующей версии добавлю, спасибо за идею!
12. dour-dead 272 09.08.14 11:29 Сейчас в теме
13. dour-dead 272 09.08.14 11:36 Сейчас в теме
Как пожелание, добавить возможность комментить код запроса

14. mrstomak 422 09.08.14 16:24 Сейчас в теме
(13) dour-dead, эта возможность сейчас есть в контекстном меню.
15. Gureev 11.08.14 09:30 Сейчас в теме
о, отлично! ) а я уж было хотел сам переписывать Тезинский запросник)
16. max082 11.08.14 12:39 Сейчас в теме
Спасибо! :)
Написал небольшую обработку, демонстрирующую удобство работы через дамп.
Прикрепленные файлы:
DampSampleForZaprosnik2_0.epf
17. Hitcher 178 12.08.14 15:14 Сейчас в теме
1С:Предприятие 8.3 (8.3.5.1098)
На странице "Временные таблицы" при попытке нажать на кнопку "Отладить" возникает ошибка

{Форма.ФормаУпр.Форма(1811)}: Значение не является значением объектного типа (ПолучитьЭлементы)
Для Каждого Поддерево Из ТекСтрока.ПолучитьЭлементы() Цикл
28. mrstomak 422 15.08.14 22:08 Сейчас в теме
(17)(18) Hitcher, спасибо за багрепорты, завтра поднакачу исправление.
18. Hitcher 178 12.08.14 15:55 Сейчас в теме
При нажатии на кнопку "Выполнить запрос"

{Форма.ФормаУпр.Форма(612)}: Ошибка при вызове метода контекста (ИзменитьРеквизиты)
ИзменитьРеквизиты(,МассивУдаляемыхКолонок);
по причине:
Недопустимый путь к реквизиту. Путь: "РезультатТаблицаИтогУровень"
19. Yimaida 38 12.08.14 19:39 Сейчас в теме
Автор взялся за хорошее дело, запросник очень нужный и полезный инструмент.
Обработку пока не качал, немного подожду. Но хотел бы озвучить баг, который только сегодня случайно обнаружил в запроснике на ОФ. При отладке запроса, в запрос был передан параметр с 4 знаками после запятой, а запросник его принял только с 3. Все дело было в ТипЗначения для колонки параметры. Предусмотрите, пожалуйста, такие случаи.
20. rasswet 82 13.08.14 08:01 Сейчас в теме
видимо пока в процессе отлова багов находится, надо немного подождать.
21. sanja 153 13.08.14 08:30 Сейчас в теме
Я тоже всегда этим запросником пользовался, очень удобно временные таблицы раскладывает. Теперь можно и на управляемых. В старом была проблема в том, что не освобождал память, и после выполнения нескольких объемных запросов в консоли сервера отсвечиваешь первым по количеству захваченных данных.
30. mrstomak 422 15.08.14 22:22 Сейчас в теме
(21) sanja, причина в том, что там захватывалось соединение с СУБД всегда из-за неосвобождаемого менеджера временных таблиц. Тут такого нет, ввиду концепции УФ.
22. dusha0020 1117 13.08.14 11:14 Сейчас в теме
Спасибо автору - довольно удобная консоль. Есть предложение по усовершенствованию. Мне часто приходится оперировать довольно большими ТЗ в запросах. Получить их из стандартных объектов запросом невозможно - это результат работы над выборкой довольно сложных алгоритмов, которые в консоли запросов воспроизвести нельзя.
Вот с отладкой таких запросов я долго мучился в консоли пока не допилил одну из стандартных добавив возможность исполнять некий код перед запуском запроса. Допил довольно примитивный но перегрузкой промежуточных таблиц через файл мне удалось подтягивать в консоль для отладки произвольные данные.
Не хочу заморачивать своим решением - оно написано было на коленке и далеко не идеальное, но предлагаю автору подумать над повышением функциональности разработки в этом направлении.
Чтобы был понятен принцип вешаю скрин со своей консоли.
Прикрепленные файлы:
27. mrstomak 422 15.08.14 22:01 Сейчас в теме
(22) dusha0020, в запроснике есть возможность использовать произвольные выражения для установки параметров запроса. В окне параметров флажок "Это выражение" и в значении параметра набираете код. Это случайно не то, что вам надо?
32. dusha0020 1117 18.08.14 11:18 Сейчас в теме
(27) А ведь пробовал - получил ошибку:) Скорее всего буква попала не русская. Действительно работает! Теперь пользуюсь только Вашей консолью. Спасибо.
23. Патриот 458 13.08.14 11:57 Сейчас в теме
Может быть наивный вопрос, но всё же - "Почему разработчики конфигураций или даже платформы не пишут такие инструменты?". Или им, в отличие от нас, не приходится заниматься отладкой? Или они настолько круто знают 1С изнутри, что отладка происходит непосредственно в их мозгу? Или может они просто экономят человекочасы, выжидают, пока энтузиасты с Инфостарта выложат свой титанический труд, чтобы потом скачать за один стартмани =)))? Или наоборот у них есть более крутые наработки, но они не делятся ими с простыми смертными?
25. EvgeniuXP 14.08.14 00:01 Сейчас в теме
(23) они ждут, когда кто-нибудь подкинет новых идей :)
29. mrstomak 422 15.08.14 22:19 Сейчас в теме
(23) Патриот, я тоже задумывался над этим и считаю, что никаких вундервафельных обработок у них нет. Мне кажется, нет никакого смысла для 1С скрывать продвинутые инструменты отладки и не выкладывать их на ИТС. Другое дело, что отладка типовых у них проще происходит, так как есть база проектной документации и описание как и чего должно работать.
31. ololoanonim 3 18.08.14 04:19 Сейчас в теме
(29) Знакомые работают во френче 1С, и пользуются простой консолькой скачанной из просторов интернета :)
24. bulas 214 13.08.14 14:22 Сейчас в теме
Пользуюсь консолью: КонсольЗапросов_8.3.5.epf, в которой есть вызов "Конструктора запросов" из контекстного меню, но когда на закладке "Условия" использую вложенный запрос, то в контекстном меню отсутствует пункт "Конструктор запросов". В вашей КонсолиОбработке есть такая возможность?
26. mrstomak 422 15.08.14 21:58 Сейчас в теме
(24) bulas, конструктор запросов разработан силами 1С и используется один и тот же что в той консоли, что в этой, так что не думаю что будет разница.
33. tezin 574 18.08.14 14:56 Сейчас в теме
34. dusha0020 1117 18.08.14 16:35 Сейчас в теме
Все-таки есть проблема. В модуле формы ФормаУпр есть процедура ЗагрузитьФайлИзЗапросаНаСервере.
Все работало нормально до сегодняшнего дня, а а теперь ругается на последнюю строку процедуры
{Форма.ФормаУпр.Форма(1076)}: Ошибка при вызове метода контекста (ЗначениеВРеквизитФормы)
ЗначениеВРеквизитФормы(Дерево,"ДеревоЗапросов");
по причине:
Недопустимое значение параметра (параметр номер '2')

Строку я закомментировал и работаю дальше, но как-то не комильфо.
35. mrstomak 422 18.08.14 18:27 Сейчас в теме
(34) dusha0020, на 95% причина в том, что файл *.sel другого формата, например, из обычной формы запросника. Но вообще да, оберну это в попытку.
36. Kserken 487 21.08.14 10:50 Сейчас в теме
37. DoctorRoza 27.08.14 15:31 Сейчас в теме
До ИР, пользовался только запросником, сейчас только консолькой из Инструментов .. Но за разработку мегареспект! :)
VovkaPutin; +1 Ответить
38. mrstomak 422 27.08.14 16:22 Сейчас в теме
(37) DoctorRoza, спасибо! А ИР уже есть на УФ?
40. ixijixi 1913 29.08.14 07:55 Сейчас в теме
(38) давно. Но только на толстом клиенте
41. mrstomak 422 29.08.14 08:10 Сейчас в теме
(40) the1, так там же обычные формы используются при этом, разве нет? И в типовых это не заработает.
Я просто с этой подсистемой знаком только по презентации на инфостарте.
52. DoctorRoza 16.09.14 16:24 Сейчас в теме
(41) рекомендую попробовать ИР! Час на разбор, ну хотя бы команды От() (на нее уйдет 15-20 мин, не более) и Вы сразу же будете использовать только Инструменты. :)
VovkaPutin; +1 Ответить
53. mrstomak 422 16.09.14 16:27 Сейчас в теме
(52) DoctorRoza, не очень понял про разбор команды От, но ИР написаны на ОФ, а это не то, что мне нужно.
59. tormozit 7233 18.09.14 10:00 Сейчас в теме
(41) По поводу "в типовых это не работает" можешь пояснить? Ну и заодно зачем тебе консоль запросов именно на управляемых формах?
60. mrstomak 422 18.09.14 10:36 Сейчас в теме
(59) tormozit, без проблем.
"В итиповых не работает":
1. Типовые конфы не имеют включенного флага по отображению обычных форм.
"Зачем мне консоль на управляемых формах":
2. Мобильные инструменты не позволяют вызывать выполнение кода на сервере. Это значит, что выполнение алгоритмов над результатом запросов ограничено, т.к. при записи могут быть обращения к общим модулям и подписки, вызывающие передачу мутабельных значений - это просто заколебавшее меня явление, которое постоянно возникает в клиент-серверных базах на УФ при попытке что-то серьёзное делать алгоритмами из клиента. Алгоритм же, выполняющийся в консоли для управляемых форм будет работать без всех этих проблем.
3. Насколько я понимаю, "Отложенная отладка" там тоже недоступна при мобильном варианте. Мне принципиально важно иметь возможность в любой конфигурации, которая мне в работе встретится, моментально вызвать отладку запроса, вызовом одной строки из отладчика и без вмешательств в конфигурацию. Т.к. уф позволяют внешним обработкам как угодно лазить на сервер, у меня есть возможность использовать такую отладку в любых условиях - и в файловом, и в серверном на разных машинах, и проблемы начинаются только тогда, когда несколько серверов в кластере или когда ограничен доступ к файловой системе.

Почему не подходят немобильные ИР:
Мне часто приходится анализировать базы, которые я не могу менять. Я подключаюсь, в базе есть проблема, мне нужно найти и исправить. Необходим именно мобильный инструмент.

Для тех, кто работает с известным списком баз, вероятно, ИР просто незаменимая вещь.
tormozit; +1 Ответить
62. tormozit 7233 18.09.14 15:38 Сейчас в теме
(60)
"Типовые конфы не имеют включенного флага по отображению обычных форм"
Ну тут вроде бы давно уже описано, как запустить обычное приложение для любой конфигурации.

Действительно типовые конфигурации (особенно с БСП) содержат ошибки (передачи мутабельных значений и подключения подписок), обычно мешающие записи объектов на клиенте. Я пытался доказать разработчикам БСП, что их следует исправлять, но пока все ограничилось публикацией рекомендаций в ИТС о поддержке толстого клиента. Для обхода проблемы с записью на клиенте во всех обработках я сделал опцию "Запись на сервере", доступную пока только в варианте подсистемы.
Интерактивная отладка (вызов инструмента из отладчика) же на сервере в принципе невозможна прикладными средствами. Тут встройка подсистемы дает огромное удобство в виде отложенной отладки. Отложенную отладку (сохранение объекта на сервере) в принципе конечно можно делать и в файл, но достаточно удобного и универсального способа с файлом я пока не придумал. Возможно у тебя есть идеи на этот счет? Выполнение записи объекта в коде алгоритма действительно сейчас не обустроено для поддержки опции "Запись на сервере". Это я попробую исправить. Но если придется вызывать какой то прикладной метод, внутри которого будет такая ошибка, то тут конечно только перенос выполнения на сервер поможет.

В итоге записал задачи, конечно лишь частично решающие обозначенные проблемы
1. В подсистеме в произвольном алгоритме добавить поддержку перенаправления записи на сервер.
2. В мобильных инструментах реализовать отложенную отладку.
63. mrstomak 422 18.09.14 16:11 Сейчас в теме
(62) tormozit,
Собственно, моя идея на счет отложенной отладки на сервере через файл как раз и воплощена в текущей обработке. Причем её можно и не отложенно вызывать - без проблем получается держать на брекпоинте строку с запросом и отлаживать его в другом сеансе.
Принцип работы - в каталоге временных файлов сервера создаются файлы, содержащие в себе структуру запроса и сохранённые значения ВТ, которые создаются не в самом запросе, а значит, потребуются для его выполнения.
Для отделения предметов отладки разных конфигураций в файл также пишется строка соединения ИБ.

Так как внешняя обработка может залезть на сервер только в УФ, этот способ невозможен для обычного приложения.

Работает и под Linux, и под Windows, проблемы есть только при запрете в кластере работы с файловой подсистемой и при разнесенных физических серверах в рамках 1 кластера (не факт, что файл найдётся при следующем вызове, поэтому не всегда будет работать).

Но у файла есть и преимущество перед объектом базы - он пишется вне транзакций. Это значит, что откат транзакции в запросе не убьёт сохранённые данные для отладки. Допускаю, что у вас для этого запись объекта отладки производится в фоновом задании на сервере?...
64. tormozit 7233 18.09.14 16:31 Сейчас в теме
(63)
Допускаю, что у вас для этого запись объекта отладки производится в фоновом задании на сервере?

Конечно. Поэтому с транзакциями проблем нет. Считаю, что у объектов в базе бесспорно больше преимуществ (при условии что подсистема уже встроена =).

Я все же попробую сделать отложенную отладку в мобильных ИР.
102. tormozit 7233 10.06.15 00:50 Сейчас в теме
(60)
Мобильные инструменты не позволяют вызывать выполнение кода на сервере. Это значит, что выполнение алгоритмов над результатом запросов ограничено, т.к. при записи могут быть обращения к общим модулям и подписки, вызывающие передачу мутабельных значений - это просто заколебавшее меня явление, которое постоянно возникает в клиент-серверных базах на УФ при попытке что-то серьёзное делать алгоритмами из клиента.

В версии 3.33.1 портативных инструментов разработчика реализован серверный модуль для конфигураций с БСП и соответственно поддержка опции "Запись на сервере" для всех модифицирующих данные инструментов.
103. mrstomak 422 10.06.15 08:04 Сейчас в теме
(102) tormozit,
Да, я видел на мисте уже, молодец.
Выжимаешь последние капли из ОФ
61. mrstomak 422 18.09.14 10:38 Сейчас в теме
(59) tormozit, ну и эта, ERP 2.0 уже марширует, инструменты для УФ нужно развивать.
39. mrstomak 422 28.08.14 15:38 Сейчас в теме
Добавлена возможность получения текста запроса СУБД и плана запросов СУБД!
42. soft-servis 14 03.09.14 12:50 Сейчас в теме
1. В толстом клиенте(8.3.4.465) при нажатии кнопки "Конструктор" появляется ошибка "Метод объекта не обнаружен(Показать)";
2. Если в запросе есть временная таблица, то план запроса не формируется, возникает ошибка;
3. Нет кнопки "Скопировать текст для модуля...".
Можно узнать когда будут исправлены эти ошибки? И будет ли у нас возможность получить исправленную обработку бесплатно?
43. mrstomak 422 03.09.14 15:47 Сейчас в теме
(42) soft-servis,
п. 1 не мешает открытию конструктора, просто сообщение о том, что немодально открыть не получилось, уберу если напрягает так.

п. 2 ошибка с планом запроса уже исправлена в грядущей версии 2.0.9

п. 3 думал делать или нет, раз кому-то надо то сделаю, тоже будет в следующей версии.

Повторное скачивание, если не ошибаюсь, бесплатно в течение суток. Могу на мыло выслать.

44. soft-servis 14 04.09.14 06:48 Сейчас в теме
Спасибо, ждем следующую версию. Пришлите, пожалуйста, обработку с исправленным п. 3 на наш e-mail.
45. mrstomak 422 04.09.14 09:51 Сейчас в теме
(44) soft-servis, мне не виден ваш e-mail
46. soft-servis 14 04.09.14 09:59 Сейчас в теме
Спасибо!
но мы обнаружили еще пару ошибок(((:
1. В параметрах запроса если указать значение параметра список значений, то при добавлении в этот список значений, он не определяет тип значения;
2. Не критичное, так для справки)), при выполнении "удалить символы модуля" в тексте запроса, если имеются строчные значения, т.е. имеются кавычки, то он их не отрабатывает, а если строчное значение указано у последнего условия, то он удаляет все кавычки с последней.
47. mrstomak 422 04.09.14 12:40 Сейчас в теме
(46) soft-servis,
1. В списках значений учитывается тип. При открытии окна выбора типа в списке, он позиционируется на типе, который используется в запросе.
2. Спасибо, посмотрю-поправлю!
48. juntatalor 63 05.09.14 16:14 Сейчас в теме
Скажите, а это нормально, что при встраивании в конфигурацию появляется ошибка (при простом открытии все работает):

{Обработка.Запросник2_0.МодульОбъекта(197,64)}: Переменная не определена (ИспользуемоеИмяФайла)
ОбработкаВОЛЕ = мТекущееПодключение.ВнешниеОбработки.Создать(<<?>>ИспользуемоеИмяФайла); (Проверка: Сервер)
49. mrstomak 422 05.09.14 16:29 Сейчас в теме
(48) juntatalor, О, ничего себе. Это хвосты от того, что я дописывал для обычного запросника - открытие запроса из модуля в другом сеансе. Можете комментировать эту строку смело, она нигде не используется. Ошибка возникает, т.к. у встроенной обработки нет свойства ИспользуемоеИмяФайла. Кстати, в режиме встроенной обработки не будет работать получение планов запросов в клиент-серверном варианте, там фильтр в ЖР мешает. В следующих релизах поправлю.
50. sanja 153 16.09.14 10:30 Сейчас в теме
Не создается новый файл списка запросов по кнопке "Новый файл".
51. mrstomak 422 16.09.14 10:51 Сейчас в теме
(50) sanja, исправлено, будет в следующей версии.
54. Sirruf 195 17.09.14 09:40 Сейчас в теме
Обработка хорошая, но интерфейс глючит(
55. mrstomak 422 17.09.14 09:44 Сейчас в теме
(54) Sirruf, подробнее расскажи?
56. Sirruf 195 17.09.14 09:52 Сейчас в теме
(55) не все элементы помещаются на экран, появляется полоса прокрутки http://joxi.ru/liEZVP3JTJBta2UKwHY
57. mrstomak 422 17.09.14 09:57 Сейчас в теме
(56) Sirruf, я это уже исправил путем выставления компактного режима для такси, когда выложу следующий релиз будет нормально. А так может просто сам для ФормаУпр выставить компактность.
58. Sirruf 195 17.09.14 10:00 Сейчас в теме
(57) Спасибо, да, так лучше :)
65. tormozit 7233 23.09.14 02:17 Сейчас в теме
Реализовал в мобильных ИР 3.14.2 отложенную отладку для всех не тонких контекстов и всех режимов запуска http://www.youtube.com/watch?v=hiw_aYVOvFc&feature=youtu.be
66. mrstomak 422 23.09.14 08:09 Сейчас в теме
(65) tormozit, желательно еще передавать как-либо файл обработки на сервер, не всегда есть общий доступный ресурс. Например, разработать УФ у ИР, которая будет формировать строку отладки и перемещать файл, а саму отладку уже в ОФ.
67. VasMart 07.10.14 15:49 Сейчас в теме
Спасибо за инструмент.
Для команды ОткрытьФайл определено сочетание ctrl+s - дублируется с СохранитьФайл.

PS update 2.0.12 03.10.2014 и ранее
68. mrstomak 422 07.10.14 18:07 Сейчас в теме
(67) VasMart, спасибо за ошибку, поправлю
69. dj_serega 393 28.10.14 10:16 Сейчас в теме
1.
Ошибка вот такая при получении плана запроса:

{Форма.ФормаУпр.Форма(2480)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища)
СтруктураБД = ПолучитьИзВременногоХранилища(АдресХранилища);
по причине:
Недопустимое значение параметра (параметр номер '1')

Вот что там находится:

АдресХранилища "" Строка


Может стоит добавить проверку на "ЭтоВременноеХранилище"?
73. mrstomak 422 28.10.14 13:24 Сейчас в теме
(69) dj_serega, ошибка при получении плана связана с тем, что в хранилище не помещалась структура базы. Она помещается при первом нажатии галочки "включить получение плана запроса". В стандартном запроснике нельзя включить режим получения плана запроса каким-то другим способом, поэтому никаких проверок не делается. Кеширование структуры бд необходимо для ускорения парсинга запроса СУБД. Скорее всего, ты вывел реквизит "включеноПолучениеПлановЗапроса" на форму или используешь возможность сохранения его значения.

Проверка синтаксиса у меня проходит нормально в режиме обычного приложения, не понимаю, откуда у тебя эта ошибка.

Кнопочки открытия/скрытия и вопрос о закрытии добавлю в будущих версиях, спасибо за комментарий
74. dj_serega 393 29.10.14 16:25 Сейчас в теме
(73)
Проверка синтаксиса у меня проходит нормально в режиме обычного приложения, не понимаю, откуда у тебя эта ошибка.

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

Кнопочки открытия/скрытия и вопрос о закрытии добавлю в будущих версиях, спасибо за комментарий

Я уже себе добавил :)

И еще:
Я там еще поправил "СЗ" в параметрах и еще что-то. Так что кидаю ЛС.
Код комментировал. Но изменения в элементах формы. Надеюсь как-то увидишь где менял :)

з.ы.: жди ЛС :)
70. dj_serega 393 28.10.14 10:18 Сейчас в теме
2. Сделать бы перед закрытием вопрос о закрытии.
71. dj_serega 393 28.10.14 10:19 Сейчас в теме
3. Еще одна ошибка:
{Форма.ФормаУпр.Форма(2026,11)}: Процедура или функция с указанным именем уже определена (Отладить)
Процедура <<?>>Отладить(Команда) (Проверка: Толстый клиент (обычное приложение))
151. Hitchenson91 13 07.07.23 20:32 Сейчас в теме
(71) Фиксится переименованием команды
72. dj_serega 393 28.10.14 10:25 Сейчас в теме
4. Еще бы кнопочки для отображения/скрытия панелей (Текста запроса и результата).

Если что могу доработанный под себя запросник скинуть в ЛС. Обновишь потом (если захочешь).
75. Gmix 417 03.11.14 16:25 Сейчас в теме
Спасибо. Отличная разработка как на обычных формах так и на УФ.
76. i.c.h 99 17.11.14 13:42 Сейчас в теме
А как скачать версию 2.0.12 03.10.2014? При скачивании файла в комментарии написано версия от 08.08.2014 и основная форма отличается от картинки к публикации. Интересует дамп запросов
77. mrstomak 422 18.11.14 15:33 Сейчас в теме
(76) i.c.h, версия написана в заголовке окна, по ссылке последняя качается.
78. i.c.h 99 19.11.14 11:28 Сейчас в теме
(77) ни знаю-ни знаю, скачайте сами. проверьте
79. mrstomak 422 20.11.14 09:48 Сейчас в теме
(78) i.c.h, в комментарии не написана актуальная версия, она есть в заголовке и в истории изменений
80. rasswet 82 09.12.14 12:02 Сейчас в теме
при попытке нажать на кнопку "конструктор" валится в ошибку "Неизвестное имя формы. Имя "ExternalDataProccessor.QueryWizard.Form"
на платформе 8.3.5.1186
на 8.3.5.1231 такой проблемы нет. Это к сведению.
81. MGraf 3 12.12.14 08:04 Сейчас в теме
(80) rasswet, Перешли с 8.3.4 сразу на 8.3.5.1231, вылазит такая же ошибка:

"Неизвестное имя формы. Имя "ExternalDataProccessor.QueryWizard.Form"
83. rom-x 152 29.01.15 16:43 Сейчас в теме
(81) MGraf, (82) тоже самое на платформе 8.3.5.1248. Конфигурация Бухгалтерия 3.0 (3.0.36.21)
82. mrstomak 422 12.12.14 11:31 Сейчас в теме
Коллеги. У кого такая ошибка, пробуйте чистить кеш - судя по тексту, она явно связана не с обработкой, а с методом Показать() конструктора в платформе.
Возможно, добавление параметра /ClearCache в параметры запуска сможет помочь.
Я не могу воспроизвести данную ошибку ни на одной платформе.
84. izidakg 172 11.02.15 01:44 Сейчас в теме
очень пригодилась. удобно и быстро все
пока из неудобств наткнулся только на 1 момент
если условие длинное, например:
НЕ ПриходныйКассовыйОрдер.Ссылка В
					(ВЫБРАТЬ
						ПриходныйКассовыйОрдерДополнительныеРеквизиты.Ссылка
					ИЗ
						Документ.ПриходныйКассовыйОрдер.ДополнительныеРеквизиты КАК ПриходныйКассовыйОрдерДополнительныеРеквизиты
					ГДЕ
						ПриходныйКассовыйОрдерДополнительныеРеквизиты.Ссылка.Дата >= &ДатаНач
						И ПриходныйКассовыйОрдерДополнительныеРеквизиты.Ссылка.Дата <= &ДатаКон
						И ПриходныйКассовыйОрдерДополнительныеРеквизиты.Свойство = &ОтборСвойство)
Показать


при первом заполнении все хорошо, но если потом требуется изменить что угодно в этом условии, все отображается в одну строку с символом перевода строки и изменить условие можно убрав его и кучу пробелов
Прикрепленные файлы:
worker1c; +1 Ответить
85. dj_serega 393 27.02.15 12:51 Сейчас в теме
Нашел неприятную фичу в форме ФормаТаблицыЗначенийУпр.
Если на заполнено имя колонки и перешел на тип то ругается что не заполнено и не дает отменить ввод строки.

Добавил проверку на отмену редактирования.
Если Не ОтменаРедактирования И (ПустаяСтрока(ТекДанные.ИмяКолонки) ИЛИ ТекДанные.ТипЗначения = Новый ОписаниеТипов) Тогда
86. Alien_job 190 04.03.15 11:09 Сейчас в теме
Если конфа своя можно еще такой бантик прикрутить чтобы отлаживать не сохраняя модуль:

//В общем модуле "отладка"
Функция СоздатьДампЗапроса(Запрос) Экспорт
	
	Попытка
		ВнешниеОбработки.Создать("E:\ITS\is\Запросник2_0.epf",Ложь).Дамп(Запрос);
		Возврат Истина;
	Исключение
		Возврат ОписаниеОшибки();
	КонецПопытки;
	
КонецФункции

//В табло на точке останова
отладка.СоздатьДампЗапроса(Запрос)
Показать
87. mrstomak 422 04.03.15 11:20 Сейчас в теме
Не понимаю, что сейчас мешает отлаживать не сохраняя модуль?
88. Alien_job 190 11.03.15 10:20 Сейчас в теме
(87) вот влез я в дебри какого-нибудь ПФР, а там запрос и хочу его дамп. Можно написать в модуле строчку "ВнешниеОбработки.создать().Дамп(Запрос)", сохранить обработку/конфигурацию, перепустить обработку/предприятие, вновь пройти отладкой проблемный участок и получить дамп (потом не забыть почистить и пересохранить). А можно сразу написать в табло "отладка.СоздатьДампЗапроса(Запрос)" и в отдельном сеансе сразу смотреть запрос.
89. mrstomak 422 11.03.15 14:08 Сейчас в теме
(88)
Странный ты.
Сразу пишешь ВнешниеОбработки.создать().Дамп(Запрос) в табло и смотришь.
Все написано как раз так, чтобы вставлять текст в код не нужно было.
90. Alien_job 190 11.03.15 15:01 Сейчас в теме
(89) ок. Мне не пришло в голову что это может сработать.
135. hotey 42 18.10.17 08:15 Сейчас в теме
(89)
Как сейчас в 8.3.10 можно из отладки записать дамп?
Я по-разному пытаюсь создать внешнюю обработку - не выходит.
Защиту для конкретного пользователя пробовал отключать...
136. mrstomak 422 18.10.17 11:43 Сейчас в теме
(135)
отладки записать дамп?
Я по-разному пытаюсь создать внешнюю обработку - не вых

Недостаточно данных для анализа проблемы.
На 8.3.10 всё работает, строку для создания можно посмотреть из формы запросника.
91. FractonKireyev 24.03.15 15:27 Сейчас в теме
ВНИМАНИЕ!!! ОШИБКА!!!

Ядро 8.3.5.1482.
Интерфейс Такси.
В разделе "Совместимость" для "Режим использования синхронных вызовов расширений и внешних компонент" установлено "Не использовать".

При выполнении запроса получаю ошибку:
{Форма.ФормаУпр.Форма(280)}: Ошибка при вызове метода контекста (КаталогВременныхФайлов)
Файл = Новый Файл(КаталогВременныхФайлов()+"ZaprTemp.Sel");
по причине:
Использование синхронных методов на клиенте запрещено!


Дело в том, что в этом режиме совместимости вместо КаталогВременныхФайлов() надо использовать НачатьПолучениеКаталогаВременныхФайлов(<ОписаниеОповещения>) - это написано в справке.
Только в этой форме функция КаталогВременныхФайлов() вызывается 7 раз.
92. mrstomak 422 24.03.15 15:48 Сейчас в теме
(91) Катастрофа, как теперь жить!!!
stas1kbob; tormozit; +2 Ответить
93. FractonKireyev 31.03.15 22:32 Сейчас в теме
(92)
Ну зачем-же так нервничать...
Достаточно просто исправить не сложную (в общем-то) ошибку...
94. mrstomak 422 03.04.15 14:18 Сейчас в теме
(93) Не могу с собой ничего поделать - днями и ночами думаю о написанной капслоком проблеме.

Ну вообще по теме:
1. Переписывание вызовов компоненты работы с файлами на асинхронные затронет не только "ПолучитьВременныйКаталог..", а вообще всё, что связано с файлами.
2. Переписывание вызовов на асинхронные "в общем-то несложно" при нулевом стеке вызовов. Когда у тебя функция на глубине 3 стеков лежит, то добавление там асинхронности подразумевает переписывание вообще нафиг всего и добавление 100500 дополнительных параметров для формирование правильного контекста продолжения работы.
3. Асинхронные вызовы компонент добавились только в релизе платформы 8.3.5.13хх, т.е. совместимость с 8.2 или 8.3.4 или старыми 8.3.5 летит к чёрту - это уже невозможно реализовать в рамках одной формы, нужно либо разные формы для разных релизов, либо разные обработки.
4. Включение упомянутого режима в конфигурации имеет смысл при её ориентированности на Chrome. Да и даже там запрещать синхронные компонентные вызовы имеет смысл только для контроля и симуляции "режима веб-клиента" в тонком клиенте 1С, который сам по себе работает в окружении операционной системы, а не ограничен средой javascript в браузере, и его никто никогда не будет вынуждать использовать асинхронные вызовы.

Вывод: доработка поддержки подобного режима на данный момент нецелесообразна.
Оставьте свое сообщение