Как использовать условие в запросе???
24.05.2005
17:03
#1
"Добрый день, есть такой запрос
Нач = ДобавитьМесяц(НачМесяца(Дата1),-3);
Кон = НачМесяца(Дата1)-1;
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(РасчетныеЛистки)
|Период с (ДобавитьМесяц(НачМесяца(Дата1),-3)) по (НачМесяца(Дата1)-1);
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|ФизЛицо = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Дни1 = ЖурналРасчетов.Зарплата.Дни;
|ДатаНач1 = ЖурналРасчетов.Зарплата.ДатаНачала;
|Час1 = ЖурналРасчетов.Зарплата.Часы;
|Регистрация = ЖурналРасчетов.Зарплата.ПериодРегистрации;
|Функция Сумма = Сумма(Результат) когда (глВходитВБазу(Расчет, ВидРасчета.ДляСправок1)=1);
|Функция ГодПр = Сумма(Результат) когда ((Расчет = ВидРасчета.ПремияПоИтогамГода) или (Расчет = ВидРасчета.ПремияПоИтогамГодаСуммой));
|Функция Дни = Сумма(Дни1) когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.УчитыватьДни)=1) и (Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (глВходитВБазу(Расчет,ВидРасчета.ДляСправок1)=1));
|Функция Час = Сумма(Час1) когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.УчитыватьДни)=1) и (Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (глВходитВБазу(Расчет,ВидРасчета.ДляСправок1)=1));
|Функция ДатаНач = Сумма(Датанач1) когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.УчитыватьДни)=1) и (Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (глВходитВБазу(Расчет,ВидРасчета.ДляСправок1)=1));
|Группировка ФизЛицо Без Групп;
|Группировка Регистрация;
|Группировка Сотрудник Без Групп;
|Условие ((Результат<>0) или (Дни1<>0));";
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
глСтатусСтрока(Контекст."""");
Возврат;
КонецЕсли;
Таб=СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(Таб);
Смысл в том, что вообще, сама обработка , в которой этот запрос, собирает суммы сотрудника для компенсации неиспользованного отпуска за три предыдущих месяца перед месяцем увольнения и по ним высчитывает среднемесячный заработок.
У меня эта обработка будет выполнятся в мае, т.е. по февралю, марту, апрелю. И надо как-то вставить условие в этот запрос, чтобы суммы по февралю и по марту были увеличены в 1.2раза, а по апрелю остались прежними.
Как это сделать? Куда вставить условие, подскажите, пожалуйста, горю!!!!
"
Нач = ДобавитьМесяц(НачМесяца(Дата1),-3);
Кон = НачМесяца(Дата1)-1;
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(РасчетныеЛистки)
|Период с (ДобавитьМесяц(НачМесяца(Дата1),-3)) по (НачМесяца(Дата1)-1);
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|ФизЛицо = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|Дни1 = ЖурналРасчетов.Зарплата.Дни;
|ДатаНач1 = ЖурналРасчетов.Зарплата.ДатаНачала;
|Час1 = ЖурналРасчетов.Зарплата.Часы;
|Регистрация = ЖурналРасчетов.Зарплата.ПериодРегистрации;
|Функция Сумма = Сумма(Результат) когда (глВходитВБазу(Расчет, ВидРасчета.ДляСправок1)=1);
|Функция ГодПр = Сумма(Результат) когда ((Расчет = ВидРасчета.ПремияПоИтогамГода) или (Расчет = ВидРасчета.ПремияПоИтогамГодаСуммой));
|Функция Дни = Сумма(Дни1) когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.УчитыватьДни)=1) и (Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (глВходитВБазу(Расчет,ВидРасчета.ДляСправок1)=1));
|Функция Час = Сумма(Час1) когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.УчитыватьДни)=1) и (Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (глВходитВБазу(Расчет,ВидРасчета.ДляСправок1)=1));
|Функция ДатаНач = Сумма(Датанач1) когда ((Расчет.ВходитВГруппу(ГруппаРасчетов.УчитыватьДни)=1) и (Расчет.ВходитВГруппу(ГруппаРасчетов.ОсновныеНачисления)=1) и (глВходитВБазу(Расчет,ВидРасчета.ДляСправок1)=1));
|Группировка ФизЛицо Без Групп;
|Группировка Регистрация;
|Группировка Сотрудник Без Групп;
|Условие ((Результат<>0) или (Дни1<>0));";
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
глСтатусСтрока(Контекст."""");
Возврат;
КонецЕсли;
Таб=СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(Таб);
Смысл в том, что вообще, сама обработка , в которой этот запрос, собирает суммы сотрудника для компенсации неиспользованного отпуска за три предыдущих месяца перед месяцем увольнения и по ним высчитывает среднемесячный заработок.
У меня эта обработка будет выполнятся в мае, т.е. по февралю, марту, апрелю. И надо как-то вставить условие в этот запрос, чтобы суммы по февралю и по марту были увеличены в 1.2раза, а по апрелю остались прежними.
Как это сделать? Куда вставить условие, подскажите, пожалуйста, горю!!!!
"
Читают тему
(гостей: 1)