Флавия
Автор
400205
Просмотров
3.15.212.91
Ваш IP
21 сентября 2023
Дата создания

Обработка с инфостартра

Имя обработки:
 
Тип обработки:
1C: Предприятие 8.1
Категория:Все для 1C:8
Конфигурация:Инструментарий
Кому предназначена обработкаПрограммист
Краткое описаниеКому приходится писать и отлаживать запросы с большим количеством временных таблиц, постоянно сталкивается с необходимостью проверить содержимое временных таблиц.
А если их много, да называются похоже? На этот случай я доработал консоль запросов, разработанную Евгением Лавелиным (http://www.lavelin.ru) - теперь все временные таблицы выводятся в меню, откуда их можно быстро открыть, и при необходимости - уничтожить.

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

При выборе временной таблицы в меню ее содержимое открывается в отдельном окошке. Каждая таблица открывается в своем окне. Можно отсортировать данные по одному столбцу, можно вывести список в табличный документ.

Улучшен анализ текста запроса - теперь закомментированные строки пропускаются (не создаются лишние строки в списке таблиц и не убираются из меню те таблицы, уничтожение которых закомментировано).

 



Ссылка на обработку:infostart.ru/public/92327
Скачать программу:/Download/report/92327.rar
Комментария к обработке:


Кому приходится писать и отлаживать запросы с большим количеством временных таблиц, постоянно сталкивается с необходимостью проверить содержимое временных таблиц.
А если их много, да называются похоже? На этот случай я доработал консоль запросов, разработанную Евгением Лавелиным (http://www.lavelin.ru) - теперь все временные таблицы выводятся в меню, откуда их можно быстро открыть, и при необходимости - уничтожить.

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

При выборе временной таблицы в меню ее содержимое открывается в отдельном окошке. Каждая таблица открывается в своем окне. Можно отсортировать данные по одному столбцу, можно вывести список в табличный документ.

Улучшен анализ текста запроса - теперь закомментированные строки пропускаются (не создаются лишние строки в списке таблиц и не убираются из меню те таблицы, уничтожение которых закомментировано).

 
1. cool.vlad4 2 29.09.11 13:20
было уже, но все равно посмотрю, имхо лавелинская консоль в плане интерфейса самая удачная
+ – Ответить 1
3. Поручик 4649 29.09.11 13:25
(1) Сам этой консолью пользуюсь.
+ – Ответить
2. cool.vlad4 2 29.09.11 13:25
кнопка? а я поле добавил (посмотрел в консоли какой-то)
Прикрепленные файлы:
+ – Ответить
4. shisha136 29.09.11 13:28
Клевая штука!
+ – Ответить
5. proal 209 29.09.11 13:34
Мне консоль от Лавелина самому очень нравится.
Вариант с менюшками мне показался наиболее простым и быстрым в доработке...
Кстати, если кто подскажет как РегЕкспами можно отсечь строки, начинающиеся на комментарий - буду очень благодарен :) Самому не получилось найти работающий вариант.
+ – Ответить 2
6. cool.vlad4 2 29.09.11 14:10
(5) в смысле комментарии в коде? - "//Комментарии"?
Тогда можно попробовать что-то типа (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)
+1 – Ответить
8. ediks 335 30.09.11 13:53
(5) Если нужно убрать комментарии из запроса, то можно воспользоваться конструктором запроса, как я у себя сделал http://infostart.ru/public/90275/
+ – Ответить
7. cool.vlad4 2 29.09.11 14:11
+6 годится и для /*Комментов*/(для с-образных языков удобно), но можно убрать это и получить (//.*)
+ – Ответить
9. DragonAgo 13 30.09.11 14:01
Хорошая разработка в области консолей
+ – Ответить
10. CaSH_2004 370 03.10.11 01:15
Думаю было бы правильно указать ссылку на первоисточник
+ – Ответить
11. Поручик 4649 03.10.11 07:28
Первоисточник http://infostart.ru/public/14183/
+ – Ответить
12. redcat 94 03.10.11 17:04
Доработка очень полезная.
Только при выполнении запроса сразу несколько раз ругается, что временная таблица уже существует (может это только у меня).
Выход: удаление временных таблий перед выполнением запроса
+ – Ответить 4
13. proal 209 04.10.11 10:11
(12) redcat, если один и тот же запрос выполнять несколько раз, то ругаться будет однозначно - ведь по умолчанию используется один и тот же менеджер ВТ, соответственно если не уничтожать таблицу явно (через выполнение "УНИЧТОЖИТЬ <ИмяТаблицы>"), она в нем будет оставаться.

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

Кстати, немного доработал анализ текста запроса - теперь закомментированные строки строки должны пропускаться.
Большое спасибо cool.vlad4 за идею в (6).

Конструктор запроса, как советовал ediks (8), не получается - если ему передавать текст запроса, ссылающийся на временную таблицу, созданную в другом запросе - выскакивает ошибка "Таблица Такая-то не найдена" :(
+ – Ответить
14. Поручик 4649 04.10.11 10:38
(13) Посмотрите консоль от Чистова aka GROOVY, там по-моему этих проблем небыло изначально.
+ – Ответить
17. proal 209 05.10.11 06:10
(14) Поручик, посмотрел - там происходит поиск имен таблиц по слову "ПОМЕСТИТЬ". Я тоже так в начале думал сделать, но что если в начале строк идет комментарий "//"? А еще иногда строка может быть такой:
//ВЫБРАТЬ ДАТАВРЕМЯ(2011,01,31,23,59,59) КАК Период ПОМЕСТИТЬ ВТПериоды

Поэтому я и делал через RegExp, чтобы закомментированные строки не учитывать.

(15) cool.vlad4 - перед выполнением запроса я не делаю попытки уничтожить создаваемые в запросе таблицы. Считаю что так лучше - есть вероятность перезаполнить ВТ и не увидеть старые данные.

(16) _iAlex - а что за вопрос с субконто?
+ – Ответить
18. redcat 94 05.10.11 10:38
(17) to (15) Я у себя тоже добавил перед выполением запроса принудительное удаление временных таблиц. Считаю, что после выполнения запроса интересуют именно данные, которые были использованы при выполнении основной части зароса.
+ – Ответить
15. cool.vlad4 2 04.10.11 10:46
В смысле с ВТ? Там наверное перед выполнением запроса с ВТ, проводится попытка уничтожения ВТ. Я себе также сделал, но потом добавил и ручное уничтожение(сделал красный крестик напротив списка таблиц)
+ – Ответить
16. _iAlex 04.10.11 16:01
А вопрос с субконто в параметре запроса решен ? а от все консоли которыми я пользуюсь глючат..
+ – Ответить
19. Olvia 15 30.09.12 13:43
Однозначно полезная штука, однако есть крохотный недостаток для авралоподобных случаев, вынудивший откомментировать:

нажав кнопку "получить параметры из запроса" и заполнив некоторые "списком значений", как-то забываешь изменить колонку "В" на "Список", что при повторном нажатии и перезаполнении приводит к очистке списков их значений.

После четырех лет работы со стандартной консолью большинство действий доведено до автоматизма + по административным причинам использую обе обработки параллельно, следовательно - пришлось доделать ))
+ – Ответить