|
Помогите в СКД | ☑ | ||
---|---|---|---|---|
0
OnCheck
27.05.13
✎
09:31
|
Выполняю ниже приведенный запрос консоли запросов и в СКД, в случае, когда выполняю запрос в СКД значение поля СуммаПоказателейДо равно значению поля СуммаПоказателейПосле, на самом деле они не равны, это подтверждает результат этого же запроса в консоли. Подозреваю, что по разному отрабатывает срез последних, но что именно не так - не понимаю.
Текст запроса: ВЫБРАТЬ ПоказателиВидовРасчета.ВидНадбавки, ПоказателиВидовРасчета.Показатель1 КАК Показатель1, ПоказателиВидовРасчета.Показатель2 КАК Показатель2, ПоказателиВидовРасчета.Показатель3 КАК Показатель3, ПоказателиВидовРасчета.Показатель4 КАК Показатель4, ПоказателиВидовРасчета.Показатель5 КАК Показатель5, ПоказателиВидовРасчета.Показатель6 КАК Показатель6, ПоказателиВидовРасчета.Показатель1.ТипПоказателя, ПоказателиВидовРасчета.Показатель2.ТипПоказателя, ПоказателиВидовРасчета.Показатель3.ТипПоказателя, ПоказателиВидовРасчета.Показатель4.ТипПоказателя, ПоказателиВидовРасчета.Показатель5.ТипПоказателя, ПоказателиВидовРасчета.Показатель6.ТипПоказателя, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях1, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях2, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях3, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях4, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях5, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях6 ПОМЕСТИТЬ ВТПоказатели ИЗ (ВЫБРАТЬ ОсновныеНачисленияОрганизаций.Ссылка КАК ВидНадбавки, Показатели1.Показатель КАК Показатель1, Показатели2.Показатель КАК Показатель2, Показатели3.Показатель КАК Показатель3, Показатели4.Показатель КАК Показатель4, Показатели5.Показатель КАК Показатель5, Показатели6.Показатель КАК Показатель6, Показатели1.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях1, Показатели2.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях2, Показатели3.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях3, Показатели4.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях4, Показатели5.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях5, Показатели6.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях6 ИЗ ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели1 ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка И (Показатели1.НомерСтроки = 1) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели2 ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка И (Показатели2.НомерСтроки = 2) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели3 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 3) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели4 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 4) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели5 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 5) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели6 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 6)) КАК ПоказателиВидовРасчета ИНДЕКСИРОВАТЬ ПО Показатель1, Показатель2, Показатель3, Показатель4, Показатель5, Показатель6 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ПодразделенияОрганизаций.Владелец КАК Организация, ПодразделенияОрганизаций.Ссылка КАК Подразделение ПОМЕСТИТЬ ВТПодразделения ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ИНДЕКСИРОВАТЬ ПО Подразделение, Организация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Подразделения.Организация КАК Организация, Подразделения.Подразделение КАК Подразделение, НадбавкиПоШтатномуРасписанию.Должность, НадбавкиПоШтатномуРасписанию.ВидНадбавки, ВЫБОР КОГДА Показатели.Показатель1ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях1 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель2ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях2 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель2 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель3ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях3 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель3 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель4ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях4 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель4 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель5ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях5 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель5 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель6ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях6 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель6 ИНАЧЕ 0 КОНЕЦ КАК СуммаПоказателей ПОМЕСТИТЬ ВТНадбавкиИзменения ИЗ ВТПодразделения КАК Подразделения ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций КАК НадбавкиПоШтатномуРасписанию ПО Подразделения.Подразделение = НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации И (НадбавкиПоШтатномуРасписанию.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели ПО (НадбавкиПоШтатномуРасписанию.ВидНадбавки = Показатели.ВидНадбавки) ИНДЕКСИРОВАТЬ ПО Подразделение, Организация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НадбавкиИзменения.Организация КАК Организация, НадбавкиИзменения.Подразделение КАК Подразделение, НадбавкиПоШтатномуРасписанию.Должность КАК Должность, НадбавкиПоШтатномуРасписанию.ВидНадбавки КАК ВидНадбавки, НадбавкиИзменения.СуммаПоказателей КАК СуммаПоказателейПосле, ВЫБОР КОГДА НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации IS NULL ТОГДА 0 ИНАЧЕ (ВЫБОР КОГДА Показатели.Показатель1ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях1 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель2ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях2 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель2 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель3ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях3 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель3 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель4ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях4 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель4 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель5ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях5 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель5 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель6ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях6 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель6 ИНАЧЕ 0 КОНЕЦ) КОНЕЦ КАК СуммаПоказателейДо ИЗ ВТНадбавкиИзменения КАК НадбавкиИзменения ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций.СрезПоследних(ДАТАВРЕМЯ(2013,03,01)) КАК НадбавкиПоШтатномуРасписанию ПО НадбавкиИзменения.Подразделение = НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации И НадбавкиИзменения.ВидНадбавки = НадбавкиПоШтатномуРасписанию.ВидНадбавки И НадбавкиИзменения.Должность = НадбавкиПоШтатномуРасписанию.Должность ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели ПО НадбавкиПоШтатномуРасписанию.ВидНадбавки = Показатели.ВидНадбавки ; |
|||
1
Vovan_Magadan
27.05.13
✎
09:33
|
Период в параметрах СКД и в консоле точно одинаковый?
|
|||
2
OnCheck
27.05.13
✎
09:39
|
(1) 100% проверял неоднократно, уже второй день борюсь с этим.
Еще обнаружил такую особенность: если итоговую таблицу получаю не путем присоединения к ВТНадбавкиИзменения, а к ВТПодразделения, тогда результат корректный, т.е. показывает те цифры, которые были до изменения, т.е. ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций.СрезПоследних(ДАТАВРЕМЯ(2013,03,01)) КАК НадбавкиПоШтатномуРасписанию возвращает по разному в зависимости от того к чему присоединяем. |
|||
3
OnCheck
27.05.13
✎
10:07
|
Заменил последний запрос на такой вариант:
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НадбавкиИзменения.Организация КАК Организация, НадбавкиИзменения.Подразделение КАК Подразделение, НадбавкиИзменения.Должность КАК Должность, НадбавкиИзменения.ВидНадбавки КАК ВидНадбавки, НадбавкиИзменения.СуммаПоказателей КАК СуммаПоказателейПосле, ВЫБОР КОГДА НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации IS NULL ТОГДА 0 ИНАЧЕ (ВЫБОР КОГДА Показатели.Показатель1ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях1 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель2ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях2 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель2 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель3ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях3 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель3 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель4ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях4 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель4 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель5ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях5 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель5 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель6ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях6 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель6 ИНАЧЕ 0 КОНЕЦ) КОНЕЦ КАК СуммаПоказателейДо ИЗ ВТНадбавкиИзменения КАК НадбавкиИзменения //ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций.СрезПоследних(ДАТАВРЕМЯ(2013,03,01)) КАК НадбавкиПоШтатномуРасписанию ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций КАК НадбавкиПоШтатномуРасписанию ПО НадбавкиИзменения.Подразделение = НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации И НадбавкиИзменения.ВидНадбавки = НадбавкиПоШтатномуРасписанию.ВидНадбавки И НадбавкиИзменения.Должность = НадбавкиПоШтатномуРасписанию.Должность И НадбавкиПоШтатномуРасписанию.Период < НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели ПО НадбавкиПоШтатномуРасписанию.ВидНадбавки = Показатели.ВидНадбавки ; т.е. к присоединил не срез последних, а все которые меньше заданной даты, этот вариант устраивает, но нужен срез последних, почему он не так работает? |
|||
4
sergei123654
27.05.13
✎
10:08
|
СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций.СрезПоследних(ДАТАВРЕМЯ(2013,03,01))
Так и должно быть? |
|||
5
sergei123654
27.05.13
✎
10:09
|
(0) попробуйте срез последних прицепить соединением не в запросе а непосредственно в СКД.
|
|||
6
ИС-2
naïve
27.05.13
✎
10:16
|
(0) СКД переиначивает запрос. Проверь через Zaprosnik.skd
|
|||
7
OnCheck
27.05.13
✎
11:08
|
(4) да, ДАТАВРЕМЯ специально использую, думал проблема с параметрами.
(5) не вариант, и срез последних использует временные таблицы запроса. Вынести получится но тогда одни и те же запросы будут отрабатывать дважды (6) спасибо, занялся поисками этой штуки. |
|||
8
OnCheck
27.05.13
✎
11:27
|
(6) скинь на мыло пожалуйста? stashourse(бабака)mail.ru
|
|||
9
OnCheck
27.05.13
✎
12:30
|
Написал аналог среза последних на языке 1с получилось вот так:
ВЫБРАТЬ ПоказателиВидовРасчета.ВидНадбавки, ПоказателиВидовРасчета.Показатель1 КАК Показатель1, ПоказателиВидовРасчета.Показатель2 КАК Показатель2, ПоказателиВидовРасчета.Показатель3 КАК Показатель3, ПоказателиВидовРасчета.Показатель4 КАК Показатель4, ПоказателиВидовРасчета.Показатель5 КАК Показатель5, ПоказателиВидовРасчета.Показатель6 КАК Показатель6, ПоказателиВидовРасчета.Показатель1.ТипПоказателя, ПоказателиВидовРасчета.Показатель2.ТипПоказателя, ПоказателиВидовРасчета.Показатель3.ТипПоказателя, ПоказателиВидовРасчета.Показатель4.ТипПоказателя, ПоказателиВидовРасчета.Показатель5.ТипПоказателя, ПоказателиВидовРасчета.Показатель6.ТипПоказателя, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях1, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях2, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях3, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях4, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях5, ПоказателиВидовРасчета.ЗапрашиватьПриКадровыхПеремещениях6 ПОМЕСТИТЬ ВТПоказатели ИЗ (ВЫБРАТЬ ОсновныеНачисленияОрганизаций.Ссылка КАК ВидНадбавки, Показатели1.Показатель КАК Показатель1, Показатели2.Показатель КАК Показатель2, Показатели3.Показатель КАК Показатель3, Показатели4.Показатель КАК Показатель4, Показатели5.Показатель КАК Показатель5, Показатели6.Показатель КАК Показатель6, Показатели1.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях1, Показатели2.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях2, Показатели3.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях3, Показатели4.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях4, Показатели5.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях5, Показатели6.ЗапрашиватьПриКадровыхПеремещениях КАК ЗапрашиватьПриКадровыхПеремещениях6 ИЗ ПланВидовРасчета.ОсновныеНачисленияОрганизаций КАК ОсновныеНачисленияОрганизаций ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели1 ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели1.Ссылка И (Показатели1.НомерСтроки = 1) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели2 ПО ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка И (Показатели2.НомерСтроки = 2) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели3 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 3) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели4 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 4) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели5 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 5) ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК Показатели6 ПО (ОсновныеНачисленияОрганизаций.Ссылка = Показатели2.Ссылка) И (Показатели2.НомерСтроки = 6)) КАК ПоказателиВидовРасчета ИНДЕКСИРОВАТЬ ПО Показатель1, Показатель2, Показатель3, Показатель4, Показатель5, Показатель6 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ПодразделенияОрганизаций.Владелец КАК Организация, ПодразделенияОрганизаций.Ссылка КАК Подразделение ПОМЕСТИТЬ ВТПодразделения ИЗ Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций ИНДЕКСИРОВАТЬ ПО Подразделение, Организация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Подразделения.Организация КАК Организация, Подразделения.Подразделение КАК Подразделение, НадбавкиПоШтатномуРасписанию.Должность, НадбавкиПоШтатномуРасписанию.ВидНадбавки, ВЫБОР КОГДА Показатели.Показатель1ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях1 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель2ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях2 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель2 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель3ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях3 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель3 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель4ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях4 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель4 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель5ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях5 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель5 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель6ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях6 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель6 ИНАЧЕ 0 КОНЕЦ КАК СуммаПоказателей ПОМЕСТИТЬ ВТНадбавкиИзменения ИЗ ВТПодразделения КАК Подразделения ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций КАК НадбавкиПоШтатномуРасписанию ПО Подразделения.Подразделение = НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации И (НадбавкиПоШтатномуРасписанию.Период МЕЖДУ НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)) ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели ПО (НадбавкиПоШтатномуРасписанию.ВидНадбавки = Показатели.ВидНадбавки) ИНДЕКСИРОВАТЬ ПО Подразделение, Организация ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НадбавкиИзменения.Организация КАК Организация, НадбавкиИзменения.Подразделение КАК Подразделение, НадбавкиИзменения.Должность КАК Должность, НадбавкиИзменения.ВидНадбавки КАК ВидНадбавки, НадбавкиИзменения.СуммаПоказателей КАК СуммаПоказателейПосле, ВЫБОР КОГДА НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации IS NULL ТОГДА 0 ИНАЧЕ (ВЫБОР КОГДА Показатели.Показатель1ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях1 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель2ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях2 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель2 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель3ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях3 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель3 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель4ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях4 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель4 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель5ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях5 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель5 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Показатели.Показатель6ТипПоказателя = ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.Денежный) И Показатели.ЗапрашиватьПриКадровыхПеремещениях6 = ИСТИНА ТОГДА НадбавкиПоШтатномуРасписанию.Показатель6 ИНАЧЕ 0 КОНЕЦ) КОНЕЦ КАК СуммаПоказателейДо ИЗ ВТНадбавкиИзменения КАК НадбавкиИзменения ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ НадбавкиПоШтатному.ПодразделениеОрганизации КАК Подразделение, НадбавкиПоШтатному.Должность, НадбавкиПоШтатному.ВидНадбавки, МАКСИМУМ(НадбавкиПоШтатному.Период) ИЗ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций КАК НадбавкиПоШтатному ГДЕ НадбавкиПоШтатному.Период < НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) СГРУППИРОВАТЬ ПО ПодразделениеОрганизации, Должность, ВидНадбавки ) КАК СрезПоследних ПО СрезПоследних.Подразделение = НадбавкиИзменения.Подразделение И СрезПоследних.Должность = НадбавкиИзменения.Должность И СрезПоследних.ВидНадбавки = НадбавкиИзменения.ВидНадбавки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций КАК НадбавкиПоШтатномуРасписанию ПО НадбавкиИзменения.Подразделение = НадбавкиПоШтатномуРасписанию.ПодразделениеОрганизации И НадбавкиИзменения.ВидНадбавки = НадбавкиПоШтатномуРасписанию.ВидНадбавки И НадбавкиИзменения.Должность = НадбавкиПоШтатномуРасписанию.Должность И НадбавкиПоШтатномуРасписанию.Период = СрезПоследних.Период ЛЕВОЕ СОЕДИНЕНИЕ ВТПоказатели КАК Показатели ПО НадбавкиПоШтатномуРасписанию.ВидНадбавки = Показатели.ВидНадбавки ; все заработало. Но чем же ее СрезПоследних не устроил, неужели в СКД так нужно изощряться? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |