Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом.
Как посмотреть результат запроса 1с в отладчике
Часто в конфигурациях 1С 8 встречаются очень большие и сложные запросы. Например, запрос автозаполнения документа «Начисление зарплаты» , не смотря на то, что благодаря использованию пакетного запроса с большим числом временных таблиц, он построен логично и прозрачно, разобраться в нем тяжело из за его громоздкости.
Стандартную консоль запросов можно найти на дисках ИТС(это внешняя обработка), да и на просторах интернета целая куча различных ее модификаций.
Консоль запросов позволяет писать и отлаживать запросы в режиме 1С:Предприятия, не используя Конфигуратор. По ссылке доступна для скачивания одна из версий консоли запросов, скачиваем файл, разархивируем его и открываем через меню 1С:Предприятия «Файл – Открыть»
Для того чтобы разобраться в большом запросе с помощью консоли запросов, разбейте запрос на пакеты. Это позволит сразу отслеживать результат выполнения каждой части запроса. После выполнения запроса перейдите на закладку “Временные таблицы”, выберите нужную вам и нажмите “Отладить”, для виртуальной таблицы создастся отдельный запрос, который вы можете выполнить отдельно от основного.
Консоль запросов для управляемого приложения 1С 8.2 — 8.3 (Такси)
Выгрузка результатов временных таблиц
Ее можно расположить в модуле вашей обработки, либо в общем модуле 1С 8. Т.о. к ней можно обращаться из любого отлаживаемого запроса, вставив в нужное место модуля следующий код:
Полученную таблицу значений можно просмотреть в отладке при помощи “Вычислить выражение”.
Сегодня сделаем на сайте заметку о способах просмотра временных таблиц запросов. Что бы понять каким образом запрос нам собрал итоговый результат, необходимо рассмотреть его внутренности и при наличии временных таблиц понять что же у них там внутри.
Промокоды на Займер на скидки
Данные: в наличии имеется бесполезный запрос с двумя временными таблицами (“Подразделения”, “Пользователи”):
Хоть они и не участвуют в результирующей выборки, но для данного примера это не суть важно.
В результате отладки запроса вам вдруг понадобилось посмотреть, а что же хранится в этих временных таблицах. И тут вы поняли, что посмотреть это нереально, так как вы в этом ничего не понимаете. Стоп. Шутка. Все вы знаете. И так начнем.
Способ 1. Берем консоль запросов для разработчиков под управляемые формы, вставляем наш туда текст запроса и с помощью панели управления таблицами, выводим их в табличный документ:
Для обычных форм так же существуют консоли запросов, в которых можно просматривать временные таблицы. Для примера можете её взять из подсистемы “Инструменты разработчика”.
Способ 2. Используя процедуру многих типовых конфигураций: “ПоказатьВременнуюТаблицу”. Если в вашей конфигурации таковой не имеется, то приведу полное её описание (смело копируйте в свой общий модуль):
В типовых конфигурациях используются массивные запросы до нескольких тысяч строк. Разобраться «с наскока» в таких запросах не получится.
Тексты этих запросов представляют собой пакеты с десятками временных таблиц.
Умение быстро просмотреть содержимое каждой временной таблицы (по сути – каждого отдельного этапа получения данных) существенно упрощает жизнь внедренцам, позволяет понять логику работы запроса, найти допущенную ошибку.
В текущей статье мы рассмотрим несколько приемов, которые помогут Вам анализировать и дорабатывать типовые конфигурации.
Это может привести к значительному замедлению запроса и в отдельных случаях к его полной неработоспособности на некоторых СУБД.
Консоль запросов для управляемого приложения 1С 8.2 — 8.3 (Такси)
Запросы исполняются как под толстым, так и под тонким клиентом, поскольку для выполнения запроса по-любому происходит обращение к серверу.
Файл запросов (.sel) для Консоли запросов управляемого режима аналогичен файлу для Консоли запросов платформы 8.1; можно открывать имеющиеся файлы запросов, разработанные в 8.1. Аналогично, файлы, созданные в Консоли управляемого режима, можно открывать в Консоли 8.1.
Конструктор запроса вызывается через контекстное меню поля текста запроса. Конструктор запроса в тонком клиенте недоступен — пункт меню открытия Конструктора блокируется. В толстом клиенте управляемого приложения Конструктор запроса доступен.
Конструктор запроса для тонкого клиента открывается как в тонком, так и в толстом клиенте нажатием на специальную кнопку на панели команд.
Параметры текущего запроса вводятся на закладке Параметры запроса в левой верхней части формы Консоли, на внутренней закладке Общие. По кнопке Заполнить производится автоматическое заполнение списка параметров из текста запроса.
Можно задавать параметр типа Тип. Для этого нужно назначить тип параметра ОписаниеТипов и задать требуемый тип. Если будет задан составной тип, то будет использоваться только первое значение из состава типов.
Параметры запроса типа Граница и МоментВремени
Редактирование параметра завершается нажатием кнопки Завершить.
Вложенные таблицы (когда поле результата запроса само имеет тип РезультатЗапроса) отображаются зеленой надписью в ячейке поля результата. Вложенная таблица открывается двойным щелчком в виде табличного документа.
Поименованные результаты пакетных запросов выводятся в поле результата один под другим. Способ выгрузки и ширина колонок одинаковы для результатов всех запросов пакета.
Если выбрано получение временных таблиц, то после выполнения запроса в тексте запросов ищутся все имена временных таблиц, и для каждой поочередно выполняется выборка, результат которой выводится. Если в пакетном запросе имеются предложения УНИЧТОЖИТЬ, то для уничтоженных таблиц выводится сообщение об ошибке.
Если выделить фрагмент текста в поле текста запроса, то, выбрав пункт контекстного меню Выполнить выделенный текст, можно выполнить выделенный фрагмент как самостоятельный запрос. Это позволяет выполнять отдельные запросы пакета и вложенные запросы. Конечно, нужно следить, чтобы выделенный текст представлял синтаксически правильный запрос.
Переподчинение запроса в дереве запросов
Для переноса запроса в другую ветвь дерева нужно выполнить перетаскивание мышью этого запроса на новую родительскую ветвь. Производится контроль возможности зацикливания подчинения, в этом случае выдается предупреждение и переподчинение не выполняется.
1C Консоль Запросов не Установлен Менеджер Временных Таблиц
Если кому то это не нравится и хочется использовать платформенную кнопку Изменить масштаб , то надо в конфигураторе для всех форм обработки установить вариант масштаба Авто.
Прямые запросы из 1С к базе на PostgreSQL
Сразу предупрежу — делал я всё это на 32-разрядной Windows, для 64-разрядной всё может быть по-другому. Кстати, у меня у самого на компьютере установлена Windows 7 — для решения задачи я пользовался виртуальной машиной VMWare с установленной на неё Windows XP.
У меня был удаленный доступ к компьютеру с Postgres-базой клиента. Работать удаленно и с рабочей базой мне очень не хотелось, и я решил перенести базу к себе на компьютер.
Для этого мне сначала нужно было установить на нем PostgreSQL.
Дистрибутив PostgreSQL я скачал с официального сайта (делается это совершенно бесплатно).
Во время установки есть несколько нюансов, на которые стоит обратить внимание. Вот они:
В окне, представленном на рисунке 1, я ввел пароль пользователя Postgres (это супер-пользователь или администратор СУБД). Данные об этом пользователе, в дальнейшем понадобятся при подключении к базе Postgres из 1С.
В окне, показанном на рисунке 2 я ввел порт, на котором в дальнейшем работала установленная PostgreSQL.
После установки программа предложила мне установить дополнительные инструменты, драйвера и т.п. Я согласился, т.к. мне нужен был драйвер для работы с базой PostgreSQL .
Следующим шагом я выбрал сервер, который был создан на первом этапе установки (рисунок 4).
А затем, среди предлагаемых программой установки компонент я выбрал компоненту psqlODBC, как показано на рисунке 5.
Из того, я получил в папке PostgreSQL после установки, меня интересовал только значок, на котором присутствуют слова pgAdmin. Это что-то вроде консоли для управления серверами PostgreSQL (рисунок 6)
При нажатии на ярлык у меня открылось окно как на рисунке 7. Я зашел на сервер, используя пароль супер-пользователя.
А затем зашел в ветку Базы данных, выбрал нужную базу (рисунок 8).
После этого необходимо было перенести данные с компьютера клиента на мой компьютер. Здесь возникла проблема, т.к. после получасовых поисков я не нашел на машине клиента папки PostgreSQL/data, в которой должны были лежать все его базы.
Обошел я это так: на своем компьютере, в pgAdmin создал новую базу с точно таким же именем, как у базы, которую нужно было перенести.
Установил у неё точно такие же настройки, как и у базы-источника. Сделал это так: правой кнопкой мыши щелкнул на базе, выбрал пункт Свойства. Очень важно в этом месте было указать такие же пользователя-владельца и кодировку, как и в базе-источнике. Пользователя Admin в выпадающем списке не было, я создал его в ветке Роли входа (рисунок 9)
Далее я сделал резервную копию базы-источника. Для этого — щелкнул правой кнопкой мыши на базе в консоли серверов клиента, выбрал пункт Резервная копия. В появившемся окне указал путь сохранения и поставил формат tar.
Затем созданный файл перенес на свой компьютер и щёлкнул на базе-приёмнике — Восстановить. Выбрал только что скопированный файл и запустил процесс, после выполнения которого на моем компьютере появилась нужная база со всеми данными (рисунок 10).
Прямые запросы из 1С к базе на PostgreSQL: Статьи и материалы.
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы