Консоль скд не работает

СКД: Запрос отлично работает в консоли и вообще не работает в СКД

ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
ВложенныйЗапрос.Контрагент,
ВложенныйЗапрос.СтатусКлиента,
ВложенныйЗапрос.Ответственный,
ВЫРАЗИТЬ(ВложенныйЗапрос.ОбщийОборот КАК Число(10,0)) КАК Оборот
ИЗ
(ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент,
Продажи.ЗаказПокупателя.Ответственный КАК Ответственный,
ВЫРАЗИТЬ(ВЫБОР
КОГДА ПродажиОборотыВПериодеОтчета.СтоимостьОборот > 0
И ПродажиОборотыМинус4м.СтоимостьОборот > 0
И ПродажиОборотыДо4м.СтоимостьОборот > 0
ТОГДА
«Текущие»
КОГДА ПродажиОборотыВПериодеОтчета.СтоимостьОборот > 0
И ЕСТЬNULL(ПродажиОборотыМинус4м.СтоимостьОборот, 0) = 0
И ПродажиОборотыДо4м.СтоимостьОборот > 0
ТОГДА
«Возвращенные»
КОНЕЦ КАК СТРОКА(20)) КАК СтатусКлиента,
ОбщиеОбороты.СтоимостьОборот КАК ОбщийОборот
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон) КАК ПродажиОборотыВПериодеОтчета
ПО (Контрагенты.Ссылка = ПродажиОборотыВПериодеОтчета.Контрагент)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(ДОБАВИТЬКДАТЕ(&ДатаНач, Месяц, -&Месяц), &ДатаНач) КАК ПродажиОборотыМинус4м
ПО (Контрагенты.Ссылка = ПродажиОборотыМинус4м.Контрагент)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, ДОБАВИТЬКДАТЕ(&ДатаНач, Месяц, -&Месяц)) КАК ПродажиОборотыДо4м
ПО (Контрагенты.Ссылка = ПродажиОборотыДо4м.Контрагент)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон) КАК ОбщиеОбороты
ПО (Контрагенты.Ссылка = ОбщиеОбороты.Контрагент)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
ПО (Контрагенты.Ссылка = Продажи.Контрагент)
И (Продажи.ДокументПродажи В
(ВЫБРАТЬ ПЕРВЫЕ 1
ПродажиК.ДокументПродажи
ИЗ
РегистрНакопления.Продажи КАК ПродажиК
ГДЕ
ПродажиК.Контрагент = Контрагенты.Ссылка
УПОРЯДОЧИТЬ ПО
ПродажиК.ДокументПродажи.Дата УБЫВ))
ГДЕ
(ПродажиОборотыВПериодеОтчета.СтоимостьОборот > 0
И ПродажиОборотыМинус4м.СтоимостьОборот > 0
И ПродажиОборотыДо4м.СтоимостьОборот > 0) ИЛИ
(ПродажиОборотыВПериодеОтчета.СтоимостьОборот > 0
И ЕСТЬNULL(ПродажиОборотыМинус4м.СтоимостьОборот, 0) = 0
И ПродажиОборотыДо4м.СтоимостьОборот > 0)
) КАК ВложенныйЗапрос

Источник

Отладка схем компоновки данных: анализ запросов

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

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

Для отладки сложных схем компоновки данных можно использовать консоль системы компоновки данных, которая публикуется на диске ИТС.

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

Использование консоли системы компоновки данных

Для того, чтобы отлаживать схему в консоли компоновки данных нужно добавить схему в консоль. В консоли схемы компоновки данных располагаются в отчетах. Для создания нового отчета в консоли системы компоновки данных нужно в дереве отчетов воспользоваться командой «Добавить отчет» и ввести имя отчета.

После чего нужно воспользоваться командой «Конструктор схемы компоновки данных», которая откроет конструктор схемы, с помощью которого и создается схема компоновки данных.

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

Читайте также:  Ravenfield как настроить управление

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

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

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

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


Если в схеме компоновки данных уже имеются настройки, то можно их загрузить из схемы, воспользовавшись командой «Стандартные настройки» .

Когда схема компоновки и настройки готовы, можно приступать к исполнению отчета. Для того, чтобы выполнить отчет с текущими настройками нужно нажать команду «Сформировать».

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

Просмотр запросов

В тексте макета компоновки данных можно видеть, какие запросы с какими параметрами будут исполняться.

Создадим схему компоновки данных, в которой добавим набор данных с запросом:

Добавим вариант отчета, в настройках которого добавим детальные записи (группировку без полей группировки), в выбранные поля добавим поля Товар и СуммаОборот, в отбор добавим условие Покупатель = «Магазин «Бытовая техника»».

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

На закладке «Макет для табличного документа» можно найти текст запроса, который реально будет исполняться системой при формировании отчета.
В нашем случае это будет следующий запрос:

ПРИМЕЧАНИЕ
Т.к. текст запроса отображается в XML тексте, некоторые символы, зарезервированные в XML, отображаются при помощи специальных обозначений. Так символ «&» отображается как «&», символ » » как «>».

Как видно, система добавила условие в параметр виртуальной таблицы и в список выборки запроса поместила только поля, которые нам требовалось выводить.

Таким образом, используя консоль системы отчетности можно видеть, какие запросы будут исполняться при использовании тех или иных настроек.

Другие возможности

В консоли имеется возможность сохранить текст сгенерированного макета компоновки данных в качестве эталона (команда «Сохранить эталон») и сравнить с новым макетом, после изменения схемы компоновки данных или настроек (команда «Сравнить с эталоном»). Это дает возможность понять, что меняется в зависимости от того или иного изменения в настройках или схеме компоновки данных.

Отметим также, что при необходимости можно модифицировать сгенерированный макет компоновки данных и, воспользовавшись командой «Выполнить в табличный документ с текущим макетом», сформировать отчет на основании модифицированного макета.

Читайте также:  Хендай туксон не работает стеклоподъемник

Источник

[ Разбор вопросов ] Нюансы работы с консолью запросов и пользовательскими настройками компоновки данных

В процессе обучения на курсах по запросам 1С и механизму СКД Вы обязательно познакомитесь с интересными вспомогательными инструментами (от консоли запросов до редактора хранилищ настроек), которые значительно облегчат ваш нелегкий труд разработчика 1С 🙂

Вопрос №1: Почему при использовании консоли запросов с сайта ИТС может возникать ошибка “Метод объекта не обнаружен”?

(нажмите, чтобы увеличить картинку)

Ответ

Это ошибка в консоли запросов с сайта ИТС. Когда в запросе используются итоги, эта консоль выдает ошибку, как на Вашем скриншоте. Чтобы найти строку с ошибкой, можно в конфигураторе включить остановку по ошибке. Ошибка возникает в функции ВывестиРезультатОдногоЗапроса, которая расположена в модуле обработки.

Проблемная строка: КоличествоСтрок = РезультатЗапроса.Количество();

Переменная РезультатЗапроса имеет тип ДеревоЗначений, у которого нет метода Количество, поэтому и возникает ошибка.

Обработаем эту ситуацию и изменим строку:

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

Вопрос №2: В чем смысл параметра формы КлючНазначенияИспользования?

Для примера добавил в вызов отчета соответствующий ключ структуры:

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

Также прошу прояснить момент: КлючНазначенияИспользования – это параметр или свойство?

Ответ

  1. Сделал пример – КлючНазначенияИспользования.zip.

Это конфигурация, созданная с нуля. В ней добавлен документ, в пользовательском режиме созданы 2 документа. Также в конфигурации реализован отчет по этим документам. В настройках компоновки отчета отбор вынесен в быстрые настройки:

Для документа реализованы две команды, открываемые из панели навигации формы документа.

Команды отличаются только значением параметра КлючНазначенияИспользования.

В пользовательском режиме воспользуемся сначала Командой1, в быстрых пользовательских настройках установим отбор по Документу с номером 000000001, сформируем отчет, закроем форму. При повторном обращении к команде сохраненные пользовательские настройки восстанавливаются.

Затем воспользуемся Командой2, в быстрых пользовательских настройках установим отбор по Документу с номером 000000002, сформируем отчет, закроем форму. И здесь при повторном обращении к команде сохраненные пользовательские настройки восстанавливаются.

Если попробуем открыть отчет из командного интерфейса, то отбор не заполнен. Всё корректно.

Теперь посмотрим, что сохранено в системном хранилище настроек. Воспользуемся механизмом ИР – Редактор хранилищ настроек. К нашему отчету относятся следующие сохраненные настройки:

Строка имеет формат:

Тип сохраняемого значения – ПользовательскиеНастройкиКомпоновкиДанных.

Так что здесь платформа ведет себя ожидаемо.

  1. Есть и свойство формы КлючНазначенияИспользования, и параметр формы КлючНазначенияИспользования. В программном коде выше мы передаем значение в параметр открываемой формы. Согласно Синтакс-помощнику при создании формы свойство формы КлючНазначенияИспользования заполняется на основе одноименного параметра формы.

Вопрос №3: Почему в управляемом конструкторе запросов не всегда можно открыть отдельный конструктор для написания текста вложенного запроса?

Ответ

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

Читайте также:  Режим разработчика xiaomi как настроить

Также не получится вот в такой ситуации открыть вложенный конструктор запроса:

А вот в таком случае (без выделения пробела/текста) вложенный конструктор откроется:

Источник

В Консоли запросов выводит, а в СКД и в Консоли Отчетов нет.

Добрый день. Подскажите, люди добрые, где ошибка?
Делаю отчет, создала запрос. В консоли запросов он срабатывает и выводит все данные. А в СКД и в Консоли отчетов — не выводит ту часть, которая соедина по Левому соединению. Причем Левых соединений 2. Не выводит второе.

Спасибо всем за неравнодушие, у меня получилось.

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

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

(3) Николай, Стенд не открывается. Я правильно понимаю, его надо запускать в режиме Предприятие? При открытии спрашивает разрешение на открытие и ничего не происходит. Так же с Консолью СКД 1-Совской.

Версия программы у меня 8.3, но базы от 8.2, если это имеет значение.

И вообще,я только начинаю с 1С, раньше я занималась Epicor iScala. И для меня этот переход очень болезнен. Может подскажите, с чего начать, что почитать, какими инструментами лучше пользоваться? Меня в первую очередь очень напрягает неполноценный скриптовый редактор, я пользуюсь Консолью запросов. Может есть что-нибудь альтернативное, более похожее на SQL Server Management Studio?

(17) В свежих версиях стандартных конфигураций надо выдавать специальное право на открытие внешних обработок. Сделано для защиты от вредоносного ПО.

А насчёт неполноценности. Ну так нет ничего полноценного. Везде есть свои плюсы и минусы.

(17) Олеся, Вы, наверное, работаете в обычном режиме. Я написал в личку, что надо сделать.

Переход у всех бывает болезненный, 1С — уже огромный агрегат, который трудно воспринимается сразу. Начните с самостоятельного изучения, хотя бы с книги Радченко. Если не получится, тогда курсы помогут.
http://v8.1c.ru/metod/

Там на закладке «Макет СКД» нажмите «Обновить» — обработка покажет запрос, который СКД выполняет. Там же можно выполнить этот запрос и посмотреть результат.

Предположительно: в секции СГРУППИРОВАТЬ не участвуют поля из второй таблицы (Начисления2) — СКД поэтому может убрать эту таблицу из запроса. Но не настаиваю, что в этом причина.

А цифры считал бы так:

И если бы это решило проблему, то плюнул бы: «СКД что-то в себе оптимизировало-оптимизировало, да не выоптимизировало».

Источник

Оцените статью