Показано с 1 по 2 из 2
Комбинированный просмотр
-
14.03.2023, 11:05 #1
- Регистрация
- 14.03.2023
- Сообщений
- 2
- Сказал(а) спасибо
- 0
- Поблагодарили 0 раз(а) в 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Контракт, СУММА(ЕСТЬ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Характер) в одну строку и вернуть ее в столбце с псевдонимом "Свойства".
-
23.03.2023, 03:10 #2
- Регистрация
- 16.10.2019
- Сообщений
- 7
- Сказал(а) спасибо
- 6
- Поблагодарили 70 раз(а) в 12 сообщениях
Re: Запрос с использованием оператора выбора не объединяет в одну строку
Почему Вы не рассматриваете значение NULL?
Похожие темы
-
Представить строку артикулов в виде списка
от Shouldercannon в разделе Конфигурирование, программирование 1С - ПредприятиеОтветов: 0Последнее сообщение: 07.01.2021, 18:34 -
Автоматически добавить строку в табличной части
от TumJan в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 0Последнее сообщение: 16.08.2019, 12:48 -
Написать 1 запрос с использованием построителя 1С 8.2
от Skupidom в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3Ответов: 1Последнее сообщение: 10.05.2017, 08:58 -
вытянуть строку с сайта
от denismi в разделе Прикладное программированиеОтветов: 0Последнее сообщение: 25.03.2009, 19:28
Социальные закладки