Имя: Пароль:
1C
1С v8
ЗУП. Представление объекта в запросе. В запросе нет обращения к объектам. Как работает?
0 MaximSh
 
27.02.18
09:16
Зарплата и кадры гос. учреждения 3. Отчет ШтатноеРасписаниеНачисления. Но такое встречается не в одном месте.
В запросе создание временной таблицы Представления_ШтатноеРасписание
и по ней запрос.
Как оно работает без обращения к прикладным объектам?
Что почитать?
Причем работает только в отчете (во внешнем в том числе), а во внешней обработке этот запрос в отладчике не возвращает данные.

Код:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ШтатноеРасписание.Организация КАК Организация,
    ШтатноеРасписание.ПозицияШтатногоРасписания КАК Позиция,
    ШтатноеРасписание.Подразделение КАК Подразделение,
    ШтатноеРасписание.Должность КАК Должность,
    ШтатноеРасписание.РазрядКатегория КАК РазрядКатегория,
    ШтатноеРасписание.ГрафикРаботыСотрудников КАК ГрафикРаботыСотрудников,
    ШтатноеРасписание.СтатьяФинансирования КАК СтатьяФинансирования,
    ШтатноеРасписание.ФОТПозиции КАК ФОТПозиции,
    ШтатноеРасписание.ФОТПозицииМин КАК ФОТПозицииМин,
    ШтатноеРасписание.ФОТПозицииМакс КАК ФОТПозицииМакс,
    ШтатноеРасписание.ФОТ * ШтатноеРасписание.КоличествоСтавок КАК ФОТПоПозиции,
    ШтатноеРасписание.ФОТМин * ШтатноеРасписание.КоличествоСтавок КАК ФОТПоПозицииМин,
    ШтатноеРасписание.ФОТМакс * ШтатноеРасписание.КоличествоСтавок КАК ФОТПоПозицииМакс,
    ШтатноеРасписание.ОкладТариф КАК ОкладТариф,
    ШтатноеРасписание.ОкладТарифМин КАК ОкладТарифМин,
    ШтатноеРасписание.ОкладТарифМакс КАК ОкладТарифМакс,
    ШтатноеРасписание.Начисление КАК Начисление,
    ШтатноеРасписание.ЭтоТарифнаяСтавка КАК ЭтоТарифнаяСтавка,
    ШтатноеРасписание.Значение КАК Значение,
    ШтатноеРасписание.ЗначениеМин КАК ЗначениеМин,
    ШтатноеРасписание.ЗначениеМакс КАК ЗначениеМакс,
    ШтатноеРасписание.ПрименятьРайонныйКоэффициент КАК ПрименятьРайонныйКоэффициент,
    &ИспользоватьВилкуСтавокВШтатномРасписании КАК ИспользоватьВилкуСтавокВШтатномРасписании,
    ШтатноеРасписание.Показатель КАК Показатель,
    ВЫБОР
        КОГДА ШтатноеРасписание.Начисление = ЗНАЧЕНИЕ(ПланВидовРасчета.Начисления.ПустаяСсылка)
            ТОГДА ШтатноеРасписание.Показатель
        ИНАЧЕ ШтатноеРасписание.Начисление
    КОНЕЦ КАК НачислениеПоказатель
{ВЫБРАТЬ
    Организация.*,
    Позиция.*,
    Подразделение.*,
    Должность.*,
    РазрядКатегория.*,
    ГрафикРаботыСотрудников.*,
    СтатьяФинансирования.*,
    ФОТПозиции,
    ФОТПозицииМин,
    ФОТПозицииМакс,
    ФОТПоПозиции,
    ФОТПоПозицииМин,
    ФОТПоПозицииМакс,
    ОкладТариф,
    ОкладТарифМин,
    ОкладТарифМакс,
    Начисление.*,
    ЭтоТарифнаяСтавка,
    Значение,
    ЗначениеМин,
    ЗначениеМакс,
    ПрименятьРайонныйКоэффициент,
    ИспользоватьВилкуСтавокВШтатномРасписании,
    Показатель.*}
ИЗ
    Представления_ШтатноеРасписание КАК ШтатноеРасписание
{ГДЕ
    ШтатноеРасписание.Организация.*,
    ШтатноеРасписание.ПозицияШтатногоРасписания.*,
    ШтатноеРасписание.Подразделение.*,
    ШтатноеРасписание.Должность.*,
    ШтатноеРасписание.РазрядКатегория.*,
    ШтатноеРасписание.ГрафикРаботыСотрудников.*,
    ШтатноеРасписание.СтатьяФинансирования.*,
    ШтатноеРасписание.КоличествоСтавок,
    ШтатноеРасписание.ФОТПозиции,
    ШтатноеРасписание.ФОТПозицииМин,
    ШтатноеРасписание.ФОТПозицииМакс,
    ШтатноеРасписание.ОкладТариф,
    ШтатноеРасписание.ОкладТарифМин,
    ШтатноеРасписание.ОкладТарифМакс,
    ШтатноеРасписание.Начисление.*,
    ШтатноеРасписание.ЭтоТарифнаяСтавка,
    ШтатноеРасписание.Значение,
    ШтатноеРасписание.ЗначениеМин,
    ШтатноеРасписание.ЗначениеМакс,
    ШтатноеРасписание.ПрименятьРайонныйКоэффициент,
    (&ИспользоватьВилкуСтавокВШтатномРасписании),
    ШтатноеРасписание.Показатель.*}
1 Aradel3d
 
27.02.18
09:18
Текст запроса затем дополняется нужными данными. Ты можешь поглядеть итоговый запрос перед компоновкой.
2 Serg_1960
 
27.02.18
09:23
"Как оно работает без обращения к прикладным объектам?" - садись, двойка за слабое знание основ конфигурирования. Где-там среди многочисленный вызовов процедур и функций всегда есть формирование текста запрос с заполнением этих виртуальных таблиц.
3 ptiz
 
27.02.18
09:40
(0) Тут просто заглушка для конструктора.
4 MaximSh
 
27.02.18
10:25
Перешел по отсылке к общему модулю, а там тьма "Дополнить" запрос. Вспомнился расчет отпусков за вредность, 1С считает по своему, который составляется десяткой функций и процедур, итоговый запрос занимает 61 лист А4. Голову сломаешь.
Тема исчерпана.