Запрос с использованием оператора выбора не объединяет в одну строку
Запрос с использованием оператора выбора не объединяет в одну строку, вот весь запрос:
Вот эта часть не хочет работать:
Этот запрос использует оператор выбора, чтобы проверить значения трех полей (ЗначениеХарактерт, ЗначениеОткрытыйВоздух и ЗначениеКатегория) и, если хотя бы одно из них не равно 0, то объединить значения других трех полей (ФОТ1Категорию, ФОТ1ОткрытыйВоздух и ФОТ1Характер) в одну строку и вернуть ее в столбце с псевдонимом "Свойства".
В чем может быть ошибка?
ВЫБРАТЬ
ИсторияНачисленийПоШтатномуРасписанию.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
ИсторияНачисленийПоШтатномуРасписанию.Дата КАК Дата,
ИсторияПоказателейПоШтатномуРасписанию.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания1,
ИсторияПоказателейПоШтатномуРасписанию.Дата КАК Дата1,
ИсторияНачисленийПоШтатномуРасписанию.Начисление КАК Начисление,
ИсторияПоказателейПоШтатномуРасписанию.Показатель КАК Показатель,
ИсторияНачисленийПоШтатномуРасписанию.Размер КАК Размер,
ИсторияПоказателейПоШтатномуРасписанию.Значение КАК Значение,
ИсторияПоказателейПоШтатномуРасписанию.ПозицияШтатногоРасписания.Подразделение КАК ПозицияШтатногоРасписанияПодразделение,
ИсторияНачисленийПоШтатномуРасписанию.ПозицияШтатногоРасписания.Должность КАК ПозицияШтатногоРасписанияДолжность,
ИсторияНачисленийПоШтатномуРасписанию.ПозицияШтатногоРасписания.КоличествоСтавок КАК ПозицияШтатногоРасписанияКоличествоСтавок,
ИсторияНачисленийПоШтатномуРасписанию.ПозицияШтатногоРасписания.РазрядКатегория КАК ПозицияШтатногоРасписанияРазрядКатегория,
ИсторияПоказателейПоШтатномуРасписанию.ПозицияШтатногоРасписания.РазрядКатегория КАК ПозицияШтатногоРасписанияРазрядКатегория1,
ИсторияНачисленийПоШтатномуРасписанию.ПозицияШтатногоРасписания.РазрядКатегория.Коэффициент КАК ПозицияШтатногоРасписанияРазрядКатегорияКоэффициент,
ИсторияНачисленийПоШтатномуРасписанию.ПозицияШтатногоРасписания.ФОТ КАК ПозицияШтатногоРасписанияФОТ,
ИсторияПоказателейПоШтатномуРасписанию.ПозицияШтатногоРасписания.ФОТУправленческий КАК ПозицияШтатногоРасписанияФОТУправленческий,
ИсторияНачисленийПоШтатномуРасписанию.Размер КАК Размер1,
ИсторияПоказателейПоШтатномуРасписанию.Значение КАК Значение1,
ИсторияПоказателейПоШтатномуРасписанию.НомерСтроки КАК НомерСтроки,
ИсторияНачисленийПоШтатномуРасписанию.НомерСтроки КАК НомерСтроки1
ПОМЕСТИТЬ ДанныеРС
ИЗ
РегистрСведений.ИсторияНачисленийПоШтатномуРасписанию КАК ИсторияНачисленийПоШтатномуРасписанию
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияПоказателейПоШтатномуРасписанию КАК ИсторияПоказателейПоШтатномуРасписанию
ПО ИсторияНачисленийПоШтатномуРасписанию.Дата = ИсторияПоказателейПоШтатномуРасписанию.Дата
И ИсторияНачисленийПоШтатномуРасписанию.Регистратор = ИсторияПоказателейПоШтатномуРасписанию.Регистратор
И ИсторияНачисленийПоШтатномуРасписанию.ИдентификаторСтрокиВидаРасчета = ИсторияПоказателейПоШтатномуРасписанию.ИдентификаторСтрокиВидаРасчета
ГДЕ
ИсторияПоказателейПоШтатномуРасписанию.Дата <= &ДатаКонец
И ИсторияПоказателейПоШтатномуРасписанию.Активность = ИСТИНА
И ИсторияНачисленийПоШтатномуРасписанию.Дата <= &ДатаКонец
И ИсторияНачисленийПоШтатномуРасписанию.Активность = ИСТИНА
И ИсторияПоказателейПоШтатномуРасписанию.ПозицияШтатногоРасписания.Подразделение.Наименование = "Столовая"
И ИсторияНачисленийПоШтатномуРасписанию.ПозицияШтатногоРасписания.РазрядКатегория.Наименование <> ""
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ДанныеРС.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
МАКСИМУМ(ДанныеРС.Дата) КАК Дата
ПОМЕСТИТЬ ДанныеГруппировки
ИЗ
ДанныеРС КАК ДанныеРС
СГРУППИРОВАТЬ ПО
ДанныеРС.ПозицияШтатногоРасписания
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ДанныеРС.ПозицияШтатногоРасписанияДолжность КАК Должность,
ДанныеРС.ПозицияШтатногоРасписанияКоличествоСтавок КАК КоличествоСтавок,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование = "Сдельный заработок (для работающих по окладу)"
ИЛИ ДанныеРС.Начисление.Наименование = "Сдельный заработок (для работающих по часовому тарифу)"
ТОГДА "СД"
КОГДА ДанныеРС.Показатель.Наименование ПОДОБНО "%Процент%"
ТОГДА ""
ИНАЧЕ "П"
КОНЕЦ КАК ФОТ,
ДанныеРС.ПозицияШтатногоРасписанияРазрядКатегория КАК Тариф,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование = "Сдельный заработок (для работающих по окладу)"
ТОГДА ДанныеРС.ПозицияШтатногоРасписанияРазрядКатегорияКоэффициент
КОНЕЦ КАК Коэффициент,
ВЫБОР
КОГДА НЕ ДанныеРС.Показатель.Наименование ПОДОБНО "%Процент%"
И НЕ ДанныеРС.Начисление.Наименование = "Сдельный заработок (для работающих по окладу)"
ТОГДА ДанныеРС.Значение
КОНЕЦ КАК Значение,
ВЫБОР
КОГДА НЕ ДанныеРС.Показатель.Наименование ПОДОБНО "%Процент%"
И ДанныеРС.Начисление.Наименование = "Сдельный заработок (для работающих по окладу)"
ТОГДА ДанныеРС.Размер
КОНЕЦ КАК Размер,
ВЫБОР
КОГДА ДанныеРС.Показатель.Наименование ПОДОБНО "%Процент%"
И ДанныеРС.Начисление.Наименование = "за работу по контрактной форме найма"
ТОГДА ДанныеРС.Значение
КОНЕЦ КАК ЗначениеПроцентКонтракт,
ВЫБОР
КОГДА ДанныеРС.Показатель.Наименование ПОДОБНО "%Процент%"
И НЕ ДанныеРС.Начисление.Наименование = "за работу по контрактной форме найма"
ТОГДА ДанныеРС.Значение
КОНЕЦ КАК ЗначениеПроцент,
ДанныеРС.Начисление.Наименование КАК ФОТ1,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование ПОДОБНО "%за работу по контрактной форме найма%"
ТОГДА ДанныеРС.Начисление.Наименование
КОНЕЦ КАК ФОТ1Контракт,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование ПОДОБНО "%за характер и специфику выполняемой работы%"
ТОГДА ДанныеРС.Начисление.Наименование
КОНЕЦ КАК ФОТ1Характер,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование ПОДОБНО "%за характер и специфику выполняемой работы%"
ТОГДА ДанныеРС.Значение
КОНЕЦ КАК ЗначениеХарактерт,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование ПОДОБНО "%за работу на открытом воздухе%"
ТОГДА ДанныеРС.Начисление.Наименование
КОНЕЦ КАК ФОТ1ОткрытыйВоздух,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование ПОДОБНО "%за работу на открытом воздухе%"
ТОГДА ДанныеРС.Значение
КОНЕЦ КАК ЗначениеОткрытыйВоздух,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование ПОДОБНО "%за квалификационную категорию%"
ТОГДА ДанныеРС.Начисление.Наименование
КОНЕЦ КАК ФОТ1Категорию,
ВЫБОР
КОГДА ДанныеРС.Начисление.Наименование ПОДОБНО "%за квалификационную категорию%"
ТОГДА ДанныеРС.Значение
КОНЕЦ КАК ЗначениеКатегория,
ДанныеГруппировки.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
ДанныеГруппировки.Дата КАК Дата,
ДанныеРС.Показатель.Наименование КАК ПоказательНаименование,
ДанныеРС.ПозицияШтатногоРасписанияПодразделение КАК ПозицияШтатногоРасписанияПодразделение,
ДанныеРС.ПозицияШтатногоРасписанияФОТ КАК ПозицияШтатногоРасписанияФОТ,
ДанныеРС.ПозицияШтатногоРасписанияФОТУправленческий КАК ПозицияШтатногоРасписанияФОТУправленческий,
ДанныеРС.Размер1 КАК Размер1,
ДанныеРС.Значение1 КАК Значение1,
ДанныеРС.НомерСтроки КАК НомерСтроки,
ДанныеРС.НомерСтроки1 КАК НомерСтроки1
ПОМЕСТИТЬ ВТ_ФОТ
ИЗ
ДанныеГруппировки КАК ДанныеГруппировки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДанныеРС КАК ДанныеРС
ПО ДанныеГруппировки.ПозицияШтатногоРасписания = ДанныеРС.ПозицияШтатногоРасписания
И ДанныеГруппировки.Дата = ДанныеРС.Дата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_ФОТ.Должность КАК Должность,
ВТ_ФОТ.КоличествоСтавок КАК КоличествоСтавок,
ВТ_ФОТ.Тариф КАК Тариф,
МАКСИМУМ(ВТ_ФОТ.ФОТ) КАК ФОТ,
МАКСИМУМ(ВТ_ФОТ.ФОТ1Категорию) КАК ФОТ1Категорию,
МАКСИМУМ(ВТ_ФОТ.ФОТ1ОткрытыйВоздух) КАК ФОТ1ОткрытыйВоздух,
МАКСИМУМ(ВТ_ФОТ.ФОТ1Характер) КАК ФОТ1Характер,
МАКСИМУМ(ВТ_ФОТ.ФОТ1Контракт) КАК ФОТ1Контракт,
СУММА(ЕСТЬNULL(ВТ_ФОТ.Коэффициент, 0)) КАК Коэффициент,
СУММА(ЕСТЬNULL(ВТ_ФОТ.Значение, 0)) КАК Значение,
СУММА(ЕСТЬNULL(ВТ_ФОТ.Размер, 0)) КАК Размер,
СУММА(ЕСТЬNULL(ВТ_ФОТ.ЗначениеПроцентКонтракт, 0)) КАК ЗначениеПроцентКонтракт,
СУММА(ЕСТЬNULL(ВТ_ФОТ.ЗначениеПроцент, 0)) КАК ЗначениеПроцент,
МАКСИМУМ(ВТ_ФОТ.ЗначениеХарактерт) КАК ЗначениеХарактерт,
МАКСИМУМ(ВТ_ФОТ.ЗначениеОткрытыйВоздух) КАК ЗначениеОткрытыйВоздух,
МАКСИМУМ(ВТ_ФОТ.ЗначениеКатегория) КАК ЗначениеКатегория,
ВТ_ФОТ.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
ВТ_ФОТ.Дата КАК Дата
ПОМЕСТИТЬ ВТ_Рас
ИЗ
ВТ_ФОТ КАК ВТ_ФОТ
СГРУППИРОВАТЬ ПО
ВТ_ФОТ.Должность,
ВТ_ФОТ.КоличествоСтавок,
ВТ_ФОТ.Тариф,
ВТ_ФОТ.ПозицияШтатногоРасписания,
ВТ_ФОТ.Дата
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Рас.Должность КАК Должность,
ВТ_Рас.КоличествоСтавок КАК КоличествоСтавок,
ВТ_Рас.Тариф КАК Тариф,
ВТ_Рас.Коэффициент КАК Коэффициент,
ВТ_Рас.Значение КАК Значение,
ВТ_Рас.Размер КАК Размер,
ВТ_Рас.ЗначениеПроцентКонтракт КАК ЗначениеПроцентКонтракт,
ВТ_Рас.ЗначениеПроцент КАК ЗначениеПроцент,
ВЫРАЗИТЬ(ВТ_Рас.Размер * (1 + ВТ_Рас.ЗначениеПроцентКонтракт / 100 + ВТ_Рас.ЗначениеПроцент / 100) КАК ЧИСЛО(15, 2)) КАК Ставка,
ВЫРАЗИТЬ(ВТ_Рас.Значение * (1 + ВТ_Рас.ЗначениеПроцентКонтракт / 100 + ВТ_Рас.ЗначениеПроцент / 100) КАК ЧИСЛО(15, 2)) КАК СтавкаЧас,
ВЫБОР
КОГДА ВТ_Рас.Размер * (1 + ВТ_Рас.ЗначениеПроцентКонтракт / 100 + ВТ_Рас.ЗначениеПроцент / 100) = 0
ТОГДА ВТ_Рас.Значение * (1 + ВТ_Рас.ЗначениеПроцентКонтракт / 100 + ВТ_Рас.ЗначениеПроцент / 100) * 167.83
ИНАЧЕ ВТ_Рас.Размер * (1 + ВТ_Рас.ЗначениеПроцентКонтракт / 100 + ВТ_Рас.ЗначениеПроцент / 100)
КОНЕЦ КАК Сумма,
ВТ_Рас.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
ВТ_Рас.ФОТ КАК ФОТ,
ВТ_Рас.ЗначениеХарактерт КАК ЗначениеХарактерт,
ВТ_Рас.ЗначениеОткрытыйВоздух КАК ЗначениеОткрытыйВоздух,
ВТ_Рас.ЗначениеКатегория КАК ЗначениеКатегория,
ВТ_Рас.ФОТ1Категорию КАК ФОТ1Категорию,
ВТ_Рас.ФОТ1ОткрытыйВоздух КАК ФОТ1ОткрытыйВоздух,
ВТ_Рас.ФОТ1Характер КАК ФОТ1Характер,
ВТ_Рас.ФОТ1Контракт КАК ФОТ1Контракт
ПОМЕСТИТЬ ВТ_Итоги
ИЗ
ВТ_Рас КАК ВТ_Рас
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Итоги.Должность КАК Должность,
ВТ_Итоги.КоличествоСтавок КАК КоличествоСтавок,
ВТ_Итоги.ФОТ КАК ФОТ,
ВТ_Итоги.Тариф КАК Тариф,
ВТ_Итоги.Коэффициент КАК Коэффициент,
ВТ_Итоги.Значение КАК Значение,
ВТ_Итоги.Размер КАК Размер,
ВТ_Итоги.ЗначениеПроцентКонтракт КАК ЗначениеПроцентКонтракт,
ВТ_Итоги.ЗначениеПроцент КАК ЗначениеПроцент,
ВТ_Итоги.Ставка КАК Ставка,
ВТ_Итоги.СтавкаЧас КАК СтавкаЧас,
ВЫРАЗИТЬ(ВТ_Итоги.Сумма КАК ЧИСЛО(15, 2)) КАК Сумма,
ВТ_Итоги.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
ВЫБОР
КОГДА ВТ_Итоги.ФОТ = "П"
ТОГДА ВТ_Итоги.КоличествоСтавок
КОНЕЦ КАК ФОТ_П,
ВЫБОР
КОГДА ВТ_Итоги.ФОТ = "СД"
ТОГДА ВТ_Итоги.КоличествоСтавок
КОНЕЦ КАК ФОТ_СД,
ВЫБОР
КОГДА ВТ_Итоги.ФОТ = "П"
ТОГДА ВТ_Итоги.Сумма
КОНЕЦ КАК Сумма_П,
ВЫБОР
КОГДА ВТ_Итоги.ФОТ = "СД"
ТОГДА ВТ_Итоги.Сумма
КОНЕЦ КАК Сумма_СД,
ВТ_Итоги.КоличествоСтавок КАК КоличествоСтавокСумма,
ВТ_Итоги.Сумма КАК СуммаСумма,
ВТ_Итоги.Ставка КАК СтавкаСумма,
ВТ_Итоги.СтавкаЧас КАК СтавкаЧасСумма,
ВТ_Итоги.ЗначениеХарактерт КАК ЗначениеХарактерт,
ВТ_Итоги.ЗначениеОткрытыйВоздух КАК ЗначениеОткрытыйВоздух,
ВТ_Итоги.ЗначениеКатегория КАК ЗначениеКатегория,
ВТ_Итоги.ФОТ1Категорию КАК ФОТ1Категорию,
ВТ_Итоги.ФОТ1ОткрытыйВоздух КАК ФОТ1ОткрытыйВоздух,
ВТ_Итоги.ФОТ1Характер КАК ФОТ1Характер,
ВТ_Итоги.ФОТ1Контракт КАК ФОТ1Контракт
ПОМЕСТИТЬ ФТ_Финал
ИЗ
ВТ_Итоги КАК ВТ_Итоги
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ФТ_Финал.Должность КАК Должность,
ФТ_Финал.КоличествоСтавок КАК КоличествоСтавок,
ФТ_Финал.ФОТ КАК ФОТ,
ФТ_Финал.Тариф КАК Тариф,
ФТ_Финал.Коэффициент КАК Коэффициент,
ФТ_Финал.Значение КАК Значение,
ФТ_Финал.Размер КАК Размер,
ФТ_Финал.ЗначениеПроцентКонтракт КАК ЗначениеПроцентКонтракт,
ФТ_Финал.ЗначениеПроцент КАК ЗначениеПроцент,
ФТ_Финал.Ставка КАК Ставка,
ФТ_Финал.СтавкаЧас КАК СтавкаЧас,
ФТ_Финал.Сумма КАК Сумма,
ФТ_Финал.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
ФТ_Финал.ФОТ_П КАК ФОТ_П,
ФТ_Финал.ФОТ_СД КАК ФОТ_СД,
ВЫРАЗИТЬ(ФТ_Финал.Сумма_П КАК ЧИСЛО(15, 2)) КАК Сумма_П,
ВЫРАЗИТЬ(ФТ_Финал.Сумма_СД КАК ЧИСЛО(15, 2)) КАК Сумма_СД,
ФТ_Финал.КоличествоСтавокСумма КАК КоличествоСтавокСумма,
ВЫРАЗИТЬ(ФТ_Финал.СуммаСумма КАК ЧИСЛО(15, 2)) КАК СуммаСумма,
ФТ_Финал.СтавкаСумма КАК СтавкаСумма,
ФТ_Финал.СтавкаЧасСумма КАК СтавкаЧасСумма,
ФТ_Финал.ЗначениеХарактерт КАК ЗначениеХарактер,
ФТ_Финал.ЗначениеОткрытыйВоздух КАК ЗначениеОткрытыйВоздух,
ФТ_Финал.ЗначениеКатегория КАК ЗначениеКатегория,
ФТ_Финал.ФОТ1Категорию КАК ФОТ1Категорию,
ФТ_Финал.ФОТ1ОткрытыйВоздух КАК ФОТ1ОткрытыйВоздух,
ФТ_Финал.ФОТ1Характер КАК ФОТ1Характер,
ФТ_Финал.ФОТ1Контракт КАК ФОТ1Контракт,
ВЫБОР
КОГДА ФТ_Финал.ЗначениеХарактерт <> 0
ИЛИ ФТ_Финал.ЗначениеОткрытыйВоздух <> 0
ИЛИ ФТ_Финал.ЗначениеКатегория <> 0
ТОГДА ФТ_Финал.ФОТ1Категорию + ФТ_Финал.ФОТ1ОткрытыйВоздух + ФТ_Финал.ФОТ1Характер
КОНЕЦ КАК Свойства
ИЗ
ФТ_Финал КАК ФТ_Финал
ПоказатьВот эта часть не хочет работать:
ВЫБОР
КОГДА ФТ_Финал.ЗначениеХарактерт <> 0
ИЛИ ФТ_Финал.ЗначениеОткрытыйВоздух <> 0
ИЛИ ФТ_Финал.ЗначениеКатегория <> 0
ТОГДА ФТ_Финал.ФОТ1Категорию + ФТ_Финал.ФОТ1ОткрытыйВоздух + ФТ_Финал.ФОТ1Характер
КОНЕЦ КАК Свойства
Этот запрос использует оператор выбора, чтобы проверить значения трех полей (ЗначениеХарактерт, ЗначениеОткрытыйВоздух и ЗначениеКатегория) и, если хотя бы одно из них не равно 0, то объединить значения других трех полей (ФОТ1Категорию, ФОТ1ОткрытыйВоздух и ФОТ1Характер) в одну строку и вернуть ее в столбце с псевдонимом "Свойства".
В чем может быть ошибка?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот