Доброе время суток, уважаемые.

Прошу просветить на тему отладки запросов с представлениями.

Столкнулся с этой проблемой при работе над пользовательскими отчетами в конфигурации ЗКГУ 3.1.

Заранее признателен.
---
Как я писал, надо смотреть отчеты
По ШР - тот же "СостояниеШтатногоРасписания"
Там 2 запроса (2 набора данных), первый как раз посвящён штатке. Его можно брать и "изучать синтаксис под микроскопом"

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 0
    ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
    ЗНАЧЕНИЕ(Справочник.ШтатноеРасписание.ПустаяСсылка) КАК ПозицияШтатногоРасписания,
    ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение,
    ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка) КАК Должность,
    ЗНАЧЕНИЕ(Справочник.РазрядыКатегорииДолжностей.ПустаяСсылка) КАК РазрядКатегория,
    ЗНАЧЕНИЕ(Справочник.ГрафикиРаботыСотрудников.ПустаяСсылка) КАК ГрафикРаботыСотрудников,
    ЗНАЧЕНИЕ(Справочник.СтатьиФинансированияЗарплата.ПустаяСсылка) КАК СтатьяФинансирования,
    0 КАК КоличествоСтавок,
    0 КАК ФОТ,
    0 КАК ФОТМин,
    0 КАК ФОТМакс,
    0 КАК ФОТПозиции,
    0 КАК ФОТПозицииМин,
    0 КАК ФОТПозицииМакс,
    0 КАК ОкладТариф,
    0 КАК ОкладТарифМин,
    0 КАК ОкладТарифМакс,
    0 КАК ЗанятаПостоянно,
    0 КАК ЗанятаВременно,
    0 КАК ПодработкаПостоянно,
    0 КАК ПодработкаВременно,
    0 КАК СовмещенаПостоянно,
    0 КАК СовмещенаВременно,
    0 КАК Забронирована,
    0 КАК ВременноОсвобождена
    ПОМЕСТИТЬ Представления_ШтатноеРасписание
    ГДЕ
    "ТолькоРазрешенные" = ИСТИНА
    И "ДатаАктуальности" = &ДатаАктуальности
    И "ВключатьНачисления" = ЛОЖЬ
    И "ВключаяЗакрытые" = ИСТИНА
```
---
Берешь таблицы из типовых отчетов и прогоняешь через

```1c
    ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(ТекстЗапроса);
```
---
Я применяю 2 инструмента.
Консоль запросов 9000.
Обработка конвертации "представлений" в "нормальный" запрос. Взял с ИТС, и под себя "подпилил".

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

Поэтому, если у меня есть задача на написание сложного отчета, я подбираю подходящий типовой отчет в ЗУПе, и синтаксис полей беру из него.
В частности, для кадровых данных великолепен отчет "Личные данные сотрудников", имя отчета в конфигурации "ОтчетыПоСотрудникам".
Если надо по "штатке", смотрю типовые отчеты по штатке.
Если по зарплате, это монстр "АнализНачисленийИУдержаний".
Также ценою проб и ошибок набил опыт составления "Фильтров", это такие временные таблицы, к которым на "представлениях" наматываются выражения представлений, и потом конфигурация нормально перекручивает это в исполняемый запрос.
В частности, легко делаю отчеты по "штатке", где данные вывожу с шагом в календарный месяц за любой период.

В общем тема - огонь, только влезь.
---
А как Вы оцениваете, например, https://infostart.ru/1c/tools/2125983/ ?
---
Не приценялся. Я привык к "9000", скорее её доработаю на "представления"
---
(7) В этой ссылке есть отсылка к аналогичной консоли с программным кодом. При беглом просмотре не обнаружил ограничений по представлениям в силу принципа построения. Вариант для доработки.
---
Еще вопрос. То есть Вы не прибегаете к методике преобразования запроса с представлениями в реальный? А действуете модификацией аналогичных отчетов с представлениями?
---
По разному.
Бывает, в отчетах данные получаю в модуле, и в компоновку отдаю таблицу значений.
Здесь запрос на представлениях, перекручиваю в исполняемый и т.д.

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

Зависит от сложности отчета.
С модулем работаю, если к отчету идёт несколько вариантов, для которых надо исполнять части запроса.
Тогда запрос (в т.ч. на представлениях) бью на логические куски, и в модуле в зависимости от варианта беру куски и "склеиваю", и далее.
Это позволяет поднять быстродействие.
Если в варианте отчета не надо выводить среднесписочную численность, тогда зачем мне это гонять в запросе ?
---
посмотрите https://its.1c.ru/db/metod81/content/7329/hdoc (Представления, используемые в запросах наборов данных СКД отчетов)
можно сформировать реальный запрос, получаемый по представлениям, возможно это поможет
---
Большое спасибо, к сожалению тем нет представлений штатного расписания. Забыл уточнить в (1). Извините.
---
Как я писал, надо смотреть отчеты
По ШР - тот же "СостояниеШтатногоРасписания"
Там 2 запроса (2 набора данных), первый как раз посвящён штатке. Его можно брать и "изучать синтаксис под микроскопом"

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 0
    ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
    ЗНАЧЕНИЕ(Справочник.ШтатноеРасписание.ПустаяСсылка) КАК ПозицияШтатногоРасписания,
    ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК Подразделение,
    ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка) КАК Должность,
    ЗНАЧЕНИЕ(Справочник.РазрядыКатегорииДолжностей.ПустаяСсылка) КАК РазрядКатегория,
    ЗНАЧЕНИЕ(Справочник.ГрафикиРаботыСотрудников.ПустаяСсылка) КАК ГрафикРаботыСотрудников,
    ЗНАЧЕНИЕ(Справочник.СтатьиФинансированияЗарплата.ПустаяСсылка) КАК СтатьяФинансирования,
    0 КАК КоличествоСтавок,
    0 КАК ФОТ,
    0 КАК ФОТМин,
    0 КАК ФОТМакс,
    0 КАК ФОТПозиции,
    0 КАК ФОТПозицииМин,
    0 КАК ФОТПозицииМакс,
    0 КАК ОкладТариф,
    0 КАК ОкладТарифМин,
    0 КАК ОкладТарифМакс,
    0 КАК ЗанятаПостоянно,
    0 КАК ЗанятаВременно,
    0 КАК ПодработкаПостоянно,
    0 КАК ПодработкаВременно,
    0 КАК СовмещенаПостоянно,
    0 КАК СовмещенаВременно,
    0 КАК Забронирована,
    0 КАК ВременноОсвобождена
    ПОМЕСТИТЬ Представления_ШтатноеРасписание
    ГДЕ
    "ТолькоРазрешенные" = ИСТИНА
    И "ДатаАктуальности" = &ДатаАктуальности
    И "ВключатьНачисления" = ЛОЖЬ
    И "ВключаяЗакрытые" = ИСТИНА
```
---
Берешь таблицы из типовых отчетов и прогоняешь через

```1c
    ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(ТекстЗапроса);
```