gifts2017

Консоль запросов, версия 1.8.1 для управляемого приложения тонкий клиент. Интеграция с режимом отладки

Опубликовал Александр Загребельный (hobi) в раздел Программирование - Инструментарий

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

Консоль запросов 1.8.1 разработана для использования в тонком и толстом клиенте управляемого приложения.
Работает начиная с версии платформы 8.3.3.

При интеграции в конфигурацию поддерживается автоматическое добавление новых запросов из точки отладки приложения (исполняемый текст запроса и набор параметров запроса, заполненных значениями в точке отладки).

Возможности:
- цветовое выделение ячеек по типу содержимого и получение расширенной информации о ячейке "на лету" или в текстовую область;
- получение в текстовую область всех предопределенных элементов справочников, значений перечислений в формате ЗНАЧЕНИЕ(...);
- выполнение выделенной части текста запроса, вызов конструктора для выделенной части текста и сохранение результата в выделенную часть текста;
- поддержка работы с временными таблицами;
- возможность использования параметров запроса с типами "Список значений", "Таблица значений", "Момент времени", "Граница"';

- возможность заполнения параметра "Таблица значений" из файла .mxl;

- выполнение выделенной части текста запроса, вызов конструктора для выделенной части текста и сохранение результата в выделенную часть текста;

- получение "на лету" расширенной информации о содержимом ячейки и возможность непосредственного использования для включения в текст запроса;

- работа в режимах "Толстый клиент (управляемое приложение)" и "Толстый клиент (обычное приложение)". Для обычного приложения нужно включить обработку в состав конфигурации; Инструкция по подключению прилагается :)

- обмен текстами запросов с модулями 1С;

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

В версии 1.8.1 исправлена ошибка 1.8.0: при добавлении из режима отладки нового запроса не обрабатывался тип параметра "Массив". Теперь параметр автоматически преобразуется в "Список значений", который поддерживается обработкой "Консоль запросов". 


Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Интегрированная консоль запросов для управляемого приложения (версия 1.8.1). Выгрузка базы данных.
.dt 141,02Kb
10.01.16
146
.dt 141,02Kb 146 Скачать
Консоль запросов для управляемого приложения (версия 1.7.9). Обработка, краткое описание, пример.
.rar 1,03Mb
06.01.16
1227
.rar 1,03Mb 1227 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

0. Александр Загребельный (hobi) 02.05.12 08:53
Интеграция консоли запросов с режимом отладки. Автоматическое добавление новых запросов с заполненными параметрами вызовом функции "Вычислить".


Перейти к публикации

1. Иван Иванов (Famza) 02.05.12 08:53
(0) Ну почему и обработку, и документацию, и пример нельзя прикрепить одним файлом?! Дело не в $m - это дело наживное, а в удобстве скачивания.
Имхо, ведь приятнее распаковать в папку где все лежит вместе.
2. Александр Загребельный (hobi) 02.05.12 11:09
(1) Famza, не знал, что $m снимают за каждый файл, а не за публикацию. Исправил недочет.
Только вот первый релиз "проверку боем" не прошел. Тормозит не по детски. Количество тормозов прямо пропорционально количеству строк в результате запроса. Да и от количества колонок зависит не слабо. Эх, придется опять "основу" рихтовать. Как говаривал кот Матроскин: "Неправильно ты, дядя Федор, бутерброд ешь !". Где лечить - знаю, чем лечить - тоже. Как свободное время появится, вылечу от задумчивости. Текущий релиз можно рассматривать как анонс будущего счастья :)
dgolovanov; chirinna; +2 Ответить 2
3. Иван Иванов (Famza) 02.05.12 11:56
(2) Ну чтож, буду ждать с нетерпением)))
4. Алексей Роза (DoctorRoza) 03.05.12 09:32
Плюс за разработку .. так сказать, авансом, в счет .. будующего счастья! :)
5. Владислав Данилин (Legavaz) 03.05.12 10:24
Отличная работа и исполнение, было бы удобно если прикрутил бы еще и выполнение кода на примере моей обработки : Моя консоль
6. Владислав Данилин (Legavaz) 03.05.12 10:35
Еще пожелание, иметь итоговые показатели по числовым полям результата. (понятно что можно использовать итоги но вкусняшка пригодится и обязана быть !!! ;-) )
7. Дмитрий Баранов (Sunhare) 03.05.12 10:58
8. zavedeev (zavedeev) 03.05.12 13:24
Отличная обработка. Спасибо
9. Владимир Клименко (KliMich) 04.05.12 01:33
Спасибо.Качественная работа
10. ddd ddd (alexsiswx) 04.05.12 15:13
Ухт! И даже работает! Спасибо.
11. Василий Антонов (khaoos) 05.05.12 06:43
Мощно, ничего не скажешь. Автор молодец. Но раз анонсировано ускорение, подожду со скачиванием. А так, пока плюс ).
12. Александр Загребельный (hobi) 05.05.12 08:51
Спасибо за положительные отклики и предложения. Как только задумчивость вылечу, буду смотреть функционал, что полезного туда еще добавить. Пока состояние следующее:
Все тормоза - при выводе в табличный документ в двойном цикле.
Немного изменил код двойного цикла (убрал создание нового табличного документа для каждой строки результата), оно ускорилось, не кардинально. Кардинально - при отключении расширенного режима вместо двойного цикла - построитель. Разница примерно такая - вывод результата запроса о 16 колонках и 530 строках занимает в расширенном режиме 5сек, при отключенном - 0.25 сек.
Что без расширенного режима отключено:
- цветовое выделение по типу содержимого ячеек и примечания к ячейкам;
- расшифровка содержимого ячеек "таблица значений";
- содержимое ячеек с типами "таблица значений", NULL, неопределено, "пустая ссылка" - не отображается;
- режим "дерево" (пока не успел).
Работает:
- пакетные запросы;
- расшифровка значения ячеек (кроме "таблицы значений");
- получение расширенной информации о содержимом ячейки из контекстного меню "О ячейке" и вывод
предопределенных элементов справочников и значений перечислений.

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

Как только "дерево" сделаю - выложу версию 1.1.
13. Дандронтий Крузенштерн (dandrontiy) 05.05.12 13:13
Мы ждем не дождемся когда же ты снова пришлешь нам хороших и вкусных калош (с) Маршак :-)
14. Александр Загребельный (hobi) 07.05.12 09:18
(13) dandrontiy, калоши версии 1.1 доступны к скачиванию :). Как и обещалось, произведена оптимизация вывода в табличный документ. Даже три:
  • 1 ускорена работа в расширенном режиме (не кардинально, но все-таки);
  • 2 в обычном режиме скорость вывода по сравнению с прежней версией может достигать десятков раз (чем больше результат запроса, тем разница больше, особенно при большом количестве колонок). Причем при повторном запуске запроса время вывода еще уменьшается);
  • 3 в настройках добавлен "ограничитель жадности" - максимально выводимое количество строк в табличный документ. Запрос исполняется полностью, но при превышении ограничителя остаток отбрасывается. Это позволяет избежать ситуации долгого ожидания, когда запрос вернул неожиданно много строк. Да и в оперативной памяти табличный документ не будет занимать неприлично много места.
В обычном режиме расшифровка таблицы значений работает ! Есть нюансы с отображением поля "родитель". В обычном режиме отображается значение "родителя", в расширенном - <пустая ссылка> разных цветов. Если цвет черный, команда "О ячейке" или выпадающее окно покажет значение "родителя".
Итого: на практике проблем со скоростью вывода больше нет (и других принципиальных проблем).
Мелкие шероховатости со временем отполируются.

Построитель не понадобился (вызов в коде закомментирован). Ускорения по сравнению с текущей реализацией почти не даёт, но расшифровка "таблицы значений" с ним не работает.

А теперь и версия 1.2.
В этой версии возможность работы с параметром типа "Таблица значений" из разряда "а еще она и так может" превратилась в практически полезную. Если в конфигурацию включить идущий в комплекте общий модуль, можно сохранять непосредственно из отладчика таблицу значений (например, вычислив выражение: Консоль.ТЗ(Запрос.Выполнить().Выгрузить()). В результате в файл формата .q1c будет сохранено все содержимое аргумента функции и автоматически сформированный текст запроса.
Замечание: поскольку ссылки в файле сохранятся в виде значений уникальных идентификаторов, выгруженный запрос можно открыть только из базы, из которой он выгружен. Для иллюстрации процесса к публикации добавлены новые картинки.

В архивный файл для загрузки добавлены файлы "История версий" и "Общий модуль Консоль_ Модуль.txt".

P.S.
Замеченные ошибки:
- в сведениях о регистрации обработка версии 1.2 бодро сообщает, что она версии 1.1 :)
15. Dima Dima (dumal) 10.05.12 09:58
Всегда приятно, когда разработчики делают инструменты сами для себя, причем так, что ими может пользоваться любой желающий, а не только этот разработчик. Плюс, однозначно
16. Владимир Чаклин (vec435) 14.05.12 11:42
в своей консоли в 8,1 добавлял фильтр вроде "Отбор по значению в текущей ..." : позволяет не менять запрос. И еще группировку с количеством записей. Доавить возможно?
17. Александр Загребельный (hobi) 14.05.12 22:08
(16) vec435, Отбор по значению в текущей добавил. А про группировку подробнее ?
18. Владимир Чаклин (vec435) 16.05.12 22:25
группировка по текущей колонке с подсчетом количество записей
19. Владимир Чаклин (vec435) 16.05.12 23:20
можно добавить(если нет) групповые операции(сумма...) по текущей
20. Александр Загребельный (hobi) 17.05.12 00:02
(19) vec435, (6) Legavaz, добавил команду контекстного меню "О колонке" для области результата запроса. Выдаёт имя колонки, количество строк в таблице, сумму чисел по колонке (если в ней есть числовые ячейки) с учетом установленных отборов по значению (отборы по значению можно применять последовательно, к разным колонкам, после каждого отбора количество строк может уменьшиться). Для иллюстрации добавил к публикации картинку.
Вопрос:
в контекстном меню есть функционал "Выделить/отменить выделение". Пока он служит только для визуального выделения.
Может приспособить его для подсчета сумм выделенных ячеек ? По текущей колонке или по всей таблице ? Может еще какую полезную нагрузку для этого функционала придумать ?
Главное, я думаю, востребованность функции и простота использования, без лишней экзотики. Иначе из консоли монстр получится.
21. Kent_killer (Kent_killer) 17.05.12 16:10
Пробую работать с версией 1.4
При попытке выгрузить таблицу значений методом Консоль.ТЗ(МояТаблица), если в таблице есть значение типа "Структура" - срабатывает исключение.
В остальном вроде всё отлично работает.
22. Kent_killer (Kent_killer) 17.05.12 18:32
При передаче в качестве параметра большой таблицы значений, каждый раз, после редактирования текста запроса, подвисает причем надолго. Пытался поймать где виснет отладчиком. Срабатывает процедура СохранитьТекстЗапроса(НомерСтроки), доходит до конца, потом подвисает, потом переходит к строке "КонецПроцедуры" ТекстЗапросаПриИзменении(Элемент). Что происходит между ними (когда висит) так и не смог выяснить.
23. Александр Загребельный (hobi) 17.05.12 19:52
(22) Kent_killer, на выходных посмотрю, в чем проблема. А пока - небольшое обновление. Команда "О колонке" теперь выдаёт информацию о количестве строк не только для всей текущей колонки, но и для выделенных в этой колонке ячеек
24. Дмитрий Ткачев (Ткачев) 20.05.12 21:37
(23) hobi, > А пока - небольшое обновление.
А его тоже платно надо качать ?
25. Agema (Agema) 20.05.12 21:59
(24) Ткачев, что значит, платно? за SM (StartMoney)? ну да за мэстные.
26. Дмитрий Ткачев (Ткачев) 21.05.12 05:05
(25) Agema, т.е. скачал обработку, а потом все обновления ее тоже за SM ?
Тогда я подожду еще усовершенствований ее.
27. igor sarafanov (ms200999) 21.05.12 08:03
Добавил в закладки, слежу за развитием. hobi, спасибо вам!
28. Alex Koso (AlexKoso) 21.05.12 08:16
буду попробывать. А вообще я за такие полезные разработки :) И конечно плюс.
29. Иван (Sairys) 21.05.12 11:00
Спасибо за обработку. Попробуем, потестит. Отпишемся о проблемах и о впечатлениях тоже. Автору спасибо!!!
30. Денис (Den_D) 21.05.12 11:16
Автору большое спасибо!
31. Владимир Чаклин (vec435) 21.05.12 20:13
(20) hobi,добавить можно, если еще не добавил(сообщение 23).Теперь дело за малым: парсинг текста запроса: как делается в консоле Инструменты Разработчика при отладке сложного запроса
32. as asd (edzz) 23.05.12 07:45
33. ut2k5 (ut2k5) 23.05.12 10:39
Автору плюс, однозначно! Но...
Но если я использую в запросе параметр типа "Таблица значений", так и не понял, как заполнять строки такого параметра..., может туплю, но хоть убейте не пойму...
34. Александр Загребельный (hobi) 23.05.12 11:09
(33) ut2k5, есть два варианта заполнения "Таблицы значений":
  • Двойной клик по значению параметра (там где,например, написано: "Таблица: строк = 409, колонок = 12"). После этого откроется окно, в котором можно создать колонки, определить их имена и типы значений (в том числе
    ссылочные), а также заполнить строки таблицы. В этом же окне есть кнопка "Загрузить .mxl". В последнем случае ссылочные типы значений загрузить нельзя.
  • С помощью функции внешнего модуля КонсольТЗ(ТЗ), которая в идет в комплекте с обработкой, выгрузить таблицу значений во время отладки кода модуля в файл запроса. В этом файле уже будет сформированный текст запроса и заполненный параметр с типом "Таблица значений". В нем могут быть также ссылочные данные для базы данных, из которой файл запроса выгружен.
Если не получится, напишите на hobi@mail.ru, я вышлю более подробные инструкции.
35. ut2k5 (ut2k5) 23.05.12 12:42
"Двойной клик по значению параметра"

Вот в примере то как раз все работает.., а вот если создаешь свой запрос, и заполняешь параметры...
то в качестве типа значений параметра "ТаблицаЗначений" выбрать не получается
2-ой способ не пробовал..., но встраивать консоль запроса в конфу не хочу...
36. Александр Загребельный (hobi) 23.05.12 12:56
(35) ut2k5, кажется понял, в чем проблема.
Дополнительные типы параметров (момент времени, граница, список значений и таблица значений) можно выбрать только после очистки значения. Таблица значений - восьмая строка в диалоге выбора типа. Если ранее уже был выбран какой-нибудь тип, например, число, то дополнительные типы не отображаются. После очистки (кнопка с крестиком), можно опять выбрать дополнительные типы. Чтобы победить эту особенность (выбор доп.типов только после очистки значения), нужно переписывать стандартный выбор типа. Но, поскольку особенно не напрягает нажать на кнопку с крестиком, я переписывать не стал. Надо отобразить в документации эту особенность.
37. ut2k5 (ut2k5) 23.05.12 13:50
Все спасибо, вопрос, решен!!!
А еще огромное спасибо, за быстроту ответа, обработка супер. маст хеф у каждого

плюс уже поставил... :)
39. Степан Иванов (STEPPRK) 28.05.12 08:07
Спасибо!!! Отличная работа
40. Андрей З (vnedr) 28.05.12 22:58
41. Владимир Чаклин (vec435) 30.05.12 20:44
(31) vec435, не для рекламы, но только что появилась обработка по парсингу запроса http://infostart.ru/public/137294/
42. Александр Загребельный (hobi) 31.05.12 08:24
(41) vec435, предлагаете интегрировать http://infostart.ru/public/137294/ в консоль запросов ? Нужно с автором парсера обсуждать разрешение/или возможную совместную работу. Если потребность в таком (консоль с визуализатором) продукте есть, можно заняться.
43. Владимир Чаклин (vec435) 31.05.12 21:56
(42) hobi, в том и интерес что в этом парсере нет какой-либо ВК. Все делается средствами 1С. А визуализация структуры запроса-вещь актуальная
45. Виктор Лебедев (eeeio) 25.06.12 08:11
в клиент-серверном режиме не понравилось, что сохранение файла запросов происходит &НаСервере: диалог выбора файла открывается на клиенте, а файл по выбранному пути сохраняется относительно сервера - из-за этого файл либо сохраняется не там, где ты ожидал, либо вообще не сохраняется из-за различных прав на клиенте и сервере или отсутствия локального адреса на сервере.
46. Tolik (gortol) 02.07.12 10:16
Доработал обработку для корректной работы с таблицей значения
47. Кирилл Краснов (kirillkr) 03.07.12 13:11
(0) hobi,
планируете ли Вы вносить наработки (46) gortol'а (http://infostart.ru/public/141736/) в свою версию?
48. Александр Загребельный (hobi) 03.07.12 20:12
(47) kirillkr, спасибо за ссылку.
Посмотрю, как только смогу.
49. Tolik (gortol) 04.07.12 13:15
(48) hobi, нашёл ещё багу в этой обработке, при выводе в виде дерева, то в строках почему то Null (если выводить не в дерево (без иерархии) то все данные отображаются корректно)

щас буду править
50. Tolik (gortol) 04.07.12 17:50
(48) hobi, исправил и эту багу (при выводе запроса в дерево) лежит тут: http://infostart.ru/public/141736/
51. bobank (bobank) 02.08.12 15:27
Обработка работает на тонком клиенте?
52. Александр Загребельный (hobi) 05.08.12 12:06
(51) bobank, на тонком клиенте не работает.
Потому что главный инструмент в обработке - конструктор запросов.
А платформа поддерживает конструктор только для:
"Сервер, толстый клиент, внешнее соединение".
Поэтому делать половинчатое решение (без поддержки конструктора) не стал.
53. Сергей Ожерельев (Поручик) 05.08.12 13:00
(52) Зря, просто отключай доступность конструктора в тонком клиенте. Запросы можно и руками написать или подправить.
54. Fomix (fomix) 26.09.12 17:31
Испробовал консоль v.1.6.3 в работе. Есть замечание: при попытке установить комментарий в тексте запроса, в первую строку запроса "ВЫБРАТЬ..." подставляется число. И не какое-то абстрактное, а номер строки на которой устанавливается комментарий! Оно же проставляется там при попытке снять комментарий. Других видимых глюков не замечено. Пока не так уж и много поработал с данной обработкой.
А так консоль вполне кошерная! Спасибо автору и +.
55. Александр Загребельный (hobi) 01.10.12 23:29
(53) Поручик, консоль работает уже и в тонком клиенте.
Естественно, конструктор запросов в этом случае не вызывается
(отображается сообщение о невозможности запуска).
И при запуске в тонком клиенте в окне сообщений сразу же
предупреждается об этом, чтобы не было несбыточных надежд
на запуск конструктора в режиме тонкого клиента :)
Под Web-клиентом пока не тестировал, возможно тоже заработает.
56. rasswet (rasswet) 03.10.12 12:06
не нашел в описании можно ли просматривать временные таблицы?
как его вызвать из модуля конфигурации так, чтобы открылась консоль со всеми заполненными параметрами, как они заданы в запросе на момент её вызова?
57. Александр Загребельный (hobi) 03.10.12 20:06
Временные таблицы просматривать можно, для этого в левом верхнем углу консоли правее кнопки "Запрос" есть кнопка "Пакет". Чтобы консоль открылась с параметрами, которые были заполнены в предыдущем сеансе, нужно нажать кнопку "Сохранить как" и выбрать файл, в который будет сохранен запрос. Параметры будут сохранены на сервере, файл запроса - там, где указали. В версиях консоли до 1.7 параметры сохранялись не на сервере, а на локальном компьютере. Кнопка "Сохранить как" - последняя на панели инструментов для закладки "Запросы".
58. rasswet (rasswet) 12.10.12 08:57
(57) по поводу "как его вызвать из модуля конфигурации так, чтобы открылась консоль со всеми заполненными параметрами, как они заданы в запросе на момент её вызова?" имел ввиду следующее
мы в конфигураторе после длинного запроса пишем примерно так
ВнешниеОбработки.Создать("Q:\1С\8.2\Консоль.epf").Отладить(Запрос, Истина);
и в предприятии открывается консоль, где всё уже заполнено (и параметры и текст)
59. Никита Грызлов (nixel) 21.12.12 09:49
Дабы не мучаться потом со сравнением обработок, так же прошу реализовать работу с сохранением/загрузкой файлов и ТЗ в клиент-серверном режиме. Думаю, переписать логику с абсолютных путей к файлу на ПоместитьФайл/ПолучитьФайл будет не сложно.
А в остальном отличная консоль, спасибо.
60. Dima Dr. (Scukosan) 23.01.13 00:11
извиняюсь, что не по теме
но нет ли у кого консоли отчетов(скд) для управляемых форм?
привык накидывать консультантам мини отчетики
а теперь с переходом на управляемые формы все похерилось(
61. Игорь Дзеса (Kamikadze) 03.03.13 17:20
Ставлю минус сходу:

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

Если на этом этапе есть такие помарки - то я делаю вывод, что тестирование нормальное не проводилось.
62. sanches (sanches) 03.03.13 21:26
63. Евгений Ильченко (Ilchenko) 07.03.13 11:02
Не запускается. 8.2.17.*
УТ 10.3
64. Никита Грызлов (nixel) 07.03.13 12:42
(63) Ilchenko, она же управляемая.
На 8.2.17 в УТ11, БП 3.0 и так далее работает. Единственный критичный минус (как я писал выше) - не работает сохранение в клиент-серверном режиме, если работа идет не на сервере
65. Александр Никитин (ManyakRus) 09.03.13 21:27
надо записать список багов и предложений :)
баги:
1) результат в дерево показывается неправильно, в нужных колонках Null
2) комментирует неправильно, ставит лишнюю цифру
3) окно сообщений при запуске надоело,
а лучше вообще убрать его и всё показывать в предупреждениях
4) не все параметры запросов заполняються автоматически,
при перезаполнении параметры можно не дублировать
66. Александр Никитин (ManyakRus) 10.03.13 16:35
http://infostart.ru/public/177142/
я её доделал немножко :)

изменения:
1) Не заполнял некоторые колонки, писал Null
2) улучшения интерфейса
3) запросы случайно не удаляются
4) параметры запроса не задваиваются
5) ставится комментарий кнопкой CTRL+/
6) окно сообщений убирается кнопкой CTRL+*
67. Александр Загребельный (hobi) 11.03.13 09:02
Пользователь yuraos прокомментировал:

(2) для начала пара вопросиков,
так сказать, соавторам
hobi и ManyakRus:
---
1. Почему результат запроса показывается в поле табличного документа,
а не (как в традиционной консоли) в табличном поле ?
2. Как отображаются в ней поля запроса,
в которых возвращаются табличные части объектов, имеющие тип значения "ТаблицаЗначений" ?


На первый вопрос:
Количество и ширина колонок в строках табличного поля одинаковое, в поле табличного документа этого ограничения нет. Поэтому если нужно отобразить результат запроса вместе с временными таблицами, сделать это
используя табличное поле весьма затруднительно.
На второй вопрос:
http://infostart.ru/upload/iblock/823/tdwfdbzjva%20q%20jvzbljq.png
68. Святослав Ушаков (sacred) 17.04.13 20:20
Вот в таком запросе (УТ11.1):

ВЫБРАТЬ
РасчетыПоДоговорамКредитовИДепозитовОстатки.Договор,
РасчетыПоДоговорамКредитовИДепозитовОстатки.СуммаВВалютеОстаток
ПОМЕСТИТЬ СуммыПроцентов
ИЗ
РегистрНакопления.РасчетыПоДоговорамКредитовИДепозитов.Остатки(
&Период,
Договор.У1С_НачислятьАвтоматически
И ТипСуммы = ЗНАЧЕНИЕ(Перечисление.ТипСуммыГрафикаКредитовИДепозитов.Проценты)) КАК РасчетыПоДоговорамКредитовИДепозитовОстатки
ГДЕ
РасчетыПоДоговорамКредитовИДепозитовОстатки.СуммаВВалютеОстаток > 0
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ТаблицаРасшифровкаПлатежа.НомерСтроки КАК НомерСтроки,
ТаблицаРасшифровкаПлатежа.Заказ КАК Заказ,
ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.ОснованиеПлатежа КАК Документ.СчетНаОплатуКлиенту) КАК СчетНаОплату,
ТаблицаРасшифровкаПлатежа.СтатьяДоходов КАК СтатьяДоходов,
ТаблицаРасшифровкаПлатежа.АналитикаДоходов КАК АналитикаДоходов,
ТаблицаРасшифровкаПлатежа.Подразделение КАК Подразделение,
ВЫБОР
КОГДА Раздвоитель.знак = 0
ТОГДА ТаблицаРасшифровкаПлатежа.ДоговорКредитаДепозита.СтатьяДДСПроцентов
ИНАЧЕ ТаблицаРасшифровкаПлатежа.ДоговорКредитаДепозита.СтатьяДДСОсновногоДолга
КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
ТаблицаРасшифровкаПлатежа.ДоговорКредитаДепозита КАК ДоговорКредитаДепозита,
ВЫБОР
КОГДА Раздвоитель.знак = 0
ТОГДА ВЫБОР
КОГДА ТаблицаРасшифровкаПлатежа.Сумма > ЕСТЬNULL(СуммыПроцентов.СуммаВВалютеОстаток, 0)
ТОГДА ЕСТЬNULL(СуммыПроцентов.СуммаВВалютеОстаток, 0)
ИНАЧЕ ТаблицаРасшифровкаПлатежа.Сумма
КОНЕЦ
ИНАЧЕ ТаблицаРасшифровкаПлатежа.Сумма - ЕСТЬNULL(СуммыПроцентов.СуммаВВалютеОстаток, 0)
КОНЕЦ КАК Сумма,
ВЫБОР
КОГДА Раздвоитель.знак = 0
ТОГДА ВЫБОР
КОГДА ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов > ЕСТЬNULL(СуммыПроцентов.СуммаВВалютеОстаток, 0)
ТОГДА ЕСТЬNULL(СуммыПроцентов.СуммаВВалютеОстаток, 0)
ИНАЧЕ ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов
КОНЕЦ
ИНАЧЕ ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов - ЕСТЬNULL(СуммыПроцентов.СуммаВВалютеОстаток, 0)
КОНЕЦ КАК СуммаВзаиморасчетов,
ТаблицаРасшифровкаПлатежа.ВалютаВзаиморасчетов,
ЕСТЬNULL(Аналитика.КлючАналитики, НЕОПРЕДЕЛЕНО) КАК АналитикаУчетаПоПартнерам
ПОМЕСТИТЬ ТаблицаРасшифровкаПлатежа
ИЗ
Документ.ПоступлениеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика
ПО ТаблицаРасшифровкаПлатежа.Ссылка.Организация = Аналитика.Организация
И (&Контрагент = Аналитика.Контрагент)
И ТаблицаРасшифровкаПлатежа.Партнер = Аналитика.Партнер
ЛЕВОЕ СОЕДИНЕНИЕ СуммыПроцентов КАК СуммыПроцентов
ПО ТаблицаРасшифровкаПлатежа.ДоговорКредитаДепозита = СуммыПроцентов.Договор
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
0 КАК знак

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
1) КАК Раздвоитель
ПО ((ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов - ЕСТЬNULL(СуммыПроцентов.СуммаВВалютеОстаток, 0)) * Раздвоитель.знак >= 0)
ГДЕ
ТаблицаРасшифровкаПлатежа.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ДанныеДокумента.Дата КАК Период,
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствКПоступлению.ПоступлениеПоПлатежномуДокументу) КАК ТипДенежныхСредств,
ДанныеДокумента.Организация КАК Организация,
ДанныеДокумента.БанковскийСчет КАК БанковскийСчет,
ДанныеДокумента.Ссылка КАК Документ,
ДанныеДокумента.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
ТаблицаРасшифровкаПлатежа.НомерСтроки КАК НомерСтрокиРасшифровкиПлатежа,
ВЫБОР
КОГДА &ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствПоКредитам), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствПоДепозитам), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствПоЗаймамВыданным))
ТОГДА ТаблицаРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств
ИНАЧЕ &СтатьяДвиженияДенежныхСредств
КОНЕЦ КАК СтатьяДвиженияДенежныхСредств,
ТаблицаРасшифровкаПлатежа.Заказ КАК Заказ,
ВЫБОР
КОГДА ДанныеДокумента.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствОтПоставщика), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствПоКредитам), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствПоДепозитам), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствПоЗаймамВыданным))
ТОГДА ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам
ИНАЧЕ НЕОПРЕДЕЛЕНО
КОНЕЦ КАК АналитикаУчетаПоПартнерам,
ТаблицаРасшифровкаПлатежа.Сумма КАК Сумма
ИЗ
Документ.ПоступлениеБезналичныхДенежныхСредств КАК ДанныеДокумента
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
ПО (ИСТИНА)
ГДЕ
ДанныеДокумента.Ссылка = &Ссылка
И НЕ ДанныеДокумента.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочееПоступлениеДенежныхСредств), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КонвертацияВалюты), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствОтПодотчетника))

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ДанныеДокумента.Дата,
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход),
ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствКПоступлению.ПоступлениеПоПлатежномуДокументу),
ДанныеДокумента.Организация,
ДанныеДокумента.БанковскийСчет,
ДанныеДокумента.Ссылка,
ДанныеДокумента.ХозяйственнаяОперация,
НЕОПРЕДЕЛЕНО,
&СтатьяДвиженияДенежныхСредств,
НЕОПРЕДЕЛЕНО,
НЕОПРЕДЕЛЕНО,
ДанныеДокумента.СуммаДокумента
ИЗ
Документ.ПоступлениеБезналичныхДенежныхСредств КАК ДанныеДокумента
ГДЕ
ДанныеДокумента.Ссылка = &Ссылка
И ДанныеДокумента.ХозяйственнаяОперация В (ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочееПоступлениеДенежныхСредств), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КонвертацияВалюты), ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствОтПодотчетника))

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ДанныеДокумента.Дата,
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход),
ЗНАЧЕНИЕ(Перечисление.ТипыДенежныхСредствКПоступлению.КонвертацияВалюты),
ДанныеДокумента.Организация,
ДанныеДокумента.БанковскийСчет,
ДанныеДокумента.СписаниеБезналичныхДенежныхСредств,
ДанныеДокумента.ХозяйственнаяОперация,
НЕОПРЕДЕЛЕНО,
&СтатьяДвиженияДенежныхСредств,
НЕОПРЕДЕЛЕНО,
НЕОПРЕДЕЛЕНО,
ДанныеДокумента.СписаниеБезналичныхДенежныхСредств.СуммаПослеКонвертации
ИЗ
Документ.ПоступлениеБезналичныхДенежныхСредств КАК ДанныеДокумента
ГДЕ
ДанныеДокумента.Ссылка = &Ссылка
И ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КонвертацияВалюты)

УПОРЯДОЧИТЬ ПО
НомерСтрокиРасшифровкиПлатежа
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
&Период КАК Период,
&Период КАК ДатаРегистратора,
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения,
ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
ТаблицаРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
ТаблицаРасшифровкаПлатежа.Заказ КАК ЗаказКлиента,
&ХозяйственнаяОперация КАК ХозяйственнаяОперация,
ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная) КАК ФормаОплаты,
&СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
ТаблицаРасшифровкаПлатежа.СчетНаОплату КАК СчетНаОплату,
ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК Сумма,
ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК КОплате,
ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(15, 2)) КАК СуммаРегл
ИЗ
ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
ГДЕ
(&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)
ИЛИ &ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.У1С_КонвертацияВалютыКлиента))

УПОРЯДОЧИТЬ ПО
ТаблицаРасшифровкаПлатежа.НомерСтроки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
МАКСИМУМ(ТаблицаРасшифровкаПлатежа.НомерСтроки) КАК НомерСтроки,
&Период КАК Период,
&Ссылка КАК Регистратор,
ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам
ИЗ
ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
ГДЕ
&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента)

СГРУППИРОВАТЬ ПО
ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам

УПОРЯДОЧИТЬ ПО
НомерСтроки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
&Период КАК Период,
&Период КАК ДатаРегистратора,
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам,
ТаблицаРасшифровкаПлатежа.Заказ КАК ЗаказПоставщику,
ТаблицаРасшифровкаПлатежа.ВалютаВзаиморасчетов КАК Валюта,
&ХозяйственнаяОперация КАК ХозяйственнаяОперация,
ЗНАЧЕНИЕ(Перечисление.ФормыОплаты.Безналичная) КАК ФормаОплаты,
&СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
-ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК Сумма,
-ТаблицаРасшифровкаПлатежа.СуммаВзаиморасчетов КАК КОплате,
-(ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(15, 2))) КАК СуммаРегл
ИЗ
ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
ГДЕ
&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствОтПоставщика)

УПОРЯДОЧИТЬ ПО
ТаблицаРасшифровкаПлатежа.НомерСтроки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
МАКСИМУМ(ТаблицаРасшифровкаПлатежа.НомерСтроки) КАК НомерСтроки,
&Период КАК Период,
&Ссылка КАК Регистратор,
ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам
ИЗ
ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
ГДЕ
&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствОтПоставщика)

СГРУППИРОВАТЬ ПО
ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам

УПОРЯДОЧИТЬ ПО
НомерСтроки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
&Период КАК Период,
ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
&Организация КАК Организация,
ТаблицаРасшифровкаПлатежа.СтатьяДоходов КАК СтатьяДоходов,
ТаблицаРасшифровкаПлатежа.АналитикаДоходов КАК АналитикаДоходов,
ТаблицаРасшифровкаПлатежа.Подразделение КАК Подразделение,
&ХозяйственнаяОперация КАК ХозяйственнаяОперация,
ВЫРАЗИТЬ(ТаблицаРасшифровкаПлатежа.Сумма * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15, 2)) КАК Сумма
ИЗ
ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа
ГДЕ
&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочиеДоходы)
И &ИспользоватьУчетПрочихДоходовРасходов

УПОРЯДОЧИТЬ ПО
ТаблицаРасшифровкаПлатежа.НомерСтроки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
&Ссылка КАК Документ,
"" КАК ИдентификаторСтроки,
&Период КАК Дата,
&Организация КАК Организация
ГДЕ
&ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочееПоступлениеДенежныхСредств)

Не удаётся Заполнить Параметры автоматически.
Сократить запрос не удалось. Начинаю отрезать подзапросы - параметры заполняются.
69. rasswet (rasswet) 18.04.13 10:31
а можно добавить возможность запуска от определенного пользователя? есть на ИС такая консоль, но она не под УФ.
70. Александр Загребельный (hobi) 18.04.13 12:52
Спасибо за комментарии. После майских праздников вернусь из отпуска и смогу предметно ответить на 68 и 69 вопросы.
71. Дмитрий (sommid) 08.05.13 17:42
Спасибо.

Хотелось бы еще пользоваться раскладкой чистова, чтобы через правый альт спец символы в поле запроса писать, но не работает ((. В обычном текстовом поле все работает. Это проблема/ограничение платформы для поля текстового документа или может можно что-то сделать?
72. Дмитрий (sommid) 08.05.13 17:49
Еще при изменении запроса, когда добавляешь новые параметры, то по кнопке заполнить было бы удобнее, чтобы ранее добавленные и установленные параметры не очищались, вернее главное, чтобы установленные значения параметров оставались.
Хотя можно, конечно, добавить без очистки и руками удалить продублированные параметры.. но без этого было бы приятнее :)
73. Александр Загребельный (hobi) 12.05.13 08:46
(68) sacred, воспроизвести ситуацию затруднительно.
Пример запроса в типовой УТ11 не работает. В запросе обращения к объектам, которых нет в типовой:
значения перечислений, регистры накопления...
Нужен или пример для типовой или ваша конфигурация.
74. Святослав Ушаков (sacred) 12.05.13 11:18
Конфигурация типовая УТ 11.1 не 11.0 ! Об этом написано в первом моём комментарии.
Глюк оказался плавающим, возможно он связан с ещё одним.
А именно, описание глюка №2:
Делаю 2 запроса,
Откуда-нибудь, например из конфигуратора, копирую текст запроса через буфер в Запрос №1
Переключаюсь мышкой на запрос №2
Переключаюсь мышкой на запрос №1 - текст запроса исчез.
75. Maxim2012 (ZhokhovM) 13.06.13 13:34
Доброго времени суток! Добавьте ещё, пожалуйста, тип "Массив". Тип "Список значений" не очень подходит к данному типу. Хочу, чтобы из массива выбирались ссылки и передавал этот параметр в запрос.
76. Никита Грызлов (nixel) 14.06.13 08:54
(75) Maxim2012,
чем не устраивает список значений?
77. Maxim2012 (ZhokhovM) 14.06.13 10:12
(76) nixel, не знаю, вроде работает, есть косяки с выбором элементов списка значений при переоткрытии, сразу оговорюсь что когда выбираешь ссылки на них - исчезают, только при повторном открытии.
78. Коля Ипатов (Bazil) 26.06.13 14:52
Очень хорошая и нужная вешь.
Но есть замечания:
1. В параметрах запроса невозможно выбрать группу.
2. После выполнения запроса не работает в окне редактирования текста Ctrl+Z, нельзя откатить правки запроса.
79. Александр Загребельный (hobi) 26.06.13 23:51
(78) Bazil, спасибо за замечания.

по первому замечанию внес исправления, второе позже проверю.
80. h00m (h00m) 05.08.13 13:20
Вот это да! Отличная консоль. Огромное спасибо автору.
81. Андрей Волин (kser87) 19.08.13 15:29
Нафига нужна консоль запросов для управляемого приложения, которая не работает в управляемом приложении?) (конструктор запросов в тонком клиенте я имею в виду)
82. Александр Загребельный (hobi) 19.08.13 20:41
(81) kser87, конструктор запросов в тонком клиенте не поддерживается платформой 1С.
Если Вы знаете, как это обойти, поделитесь секретом. Многим будет интересно.
83. Андрей Волин (kser87) 19.08.13 21:16
(82) hobi, именно это меня и расстраивает. Никак не обойти. Подождать, пока 1С это реализует.
84. Александр Никитин (ManyakRus) 19.08.13 23:38
конструктор не нужная вещь :)
85. Роман Г (Stradivari) 03.09.13 10:04
Хорошая консоль! Забираю!
86. борян петров (TODD22) 26.10.13 10:12
1С:Предприятие 8.3 (8.3.3.687) падает платформа при переходе в конструктор. Не сразу. Но вылетает постоянно...
87. Дмитрий К (devs) 17.11.13 13:27
в параметре Типа "таблица значений", типы колонок не возможно изменить.
если в конфигураторе выгружать таблицу значений, вываливается на "МоментВремени". изменинл момент на дату, но загрузить в консоль так и не удалось (уже не разбирался почему).
в общем мне нужна была таблица движений по регистру остатков, при проведении документа.
88. Дмитрий К (devs) 17.11.13 16:40
если текст запроса изменять вручную, то при исполнении запроса все возвращатся назад
89. Владислав Данилин (Legavaz) 03.12.15 11:10
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа