На форме есть список с пометками Видов расчета , так же есть запрос в котором есть верные данные но по всем начислением, ВОПРОС "Как добавить условие что бы данные попада ли только по тем видам начисления у которых стоит пометка"
Вижу функцию но что поменять не знаю.
|Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу ГруппаРасчетов.ВсеНачисления)=1);
Сам запрос:
ЖурналДляЗапроса = "Зарплата";
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Т51)
|Период с НачалоПериода по КонецПериода;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|ФизЛицо = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Должность = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Должность;
|Подразделение = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Подразделение;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|ПериодРегистрации = ЖурналРасчетов.Зарплата.ПериодРегистрации;
|Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);
|";
Если Группировать = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Группировка Подразделение без групп;";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|Группировка ФизЛицо без групп;
|Группировка ПериодРегистрации;
|Условие((Результат<>0));"+
?(СпособВыборкиСотрудников=3,"
|Условие(Сотрудник в СписокФизЛиц);",
?(СпособВыборкиСотрудников=2,"
|Условие(Подразделение в ВыбранноеПодразделение);",""))+"
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
глСтатусСтрока(Контекст,"");
Возврат;
КонецЕсли;
Вижу функцию но что поменять не знаю.
|Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу ГруппаРасчетов.ВсеНачисления)=1);
Сам запрос:
ЖурналДляЗапроса = "Зарплата";
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Т51)
|Период с НачалоПериода по КонецПериода;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|ФизЛицо = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Должность = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Должность;
|Подразделение = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Подразделение;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|ПериодРегистрации = ЖурналРасчетов.Зарплата.ПериодРегистрации;
|Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);
|";
Если Группировать = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Группировка Подразделение без групп;";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|Группировка ФизЛицо без групп;
|Группировка ПериодРегистрации;
|Условие((Результат<>0));"+
?(СпособВыборкиСотрудников=3,"
|Условие(Сотрудник в СписокФизЛиц);",
?(СпособВыборкиСотрудников=2,"
|Условие(Подразделение в ВыбранноеПодразделение);",""))+"
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
глСтатусСтрока(Контекст,"");
Возврат;
КонецЕсли;
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) гыук320,
1. Делаешь новый список значений (СпОтборов)
2. Помещаешь в список СпОтборов только те виды расчетов из списка на форме, для которых установлена пометка.
3. А запросе пишешь
| Условие (СпОтборов.НайтиЗначение(Расчет)>0);
Так по моему.
ЗЫ. Точно, ошибся :) Вот так условие:
| Условие (расчет в СпОтборов);
хотя и первый вариант прокатил бы - но не "грамотно"
1. Делаешь новый список значений (СпОтборов)
2. Помещаешь в список СпОтборов только те виды расчетов из списка на форме, для которых установлена пометка.
3. А запросе пишешь
| Условие (СпОтборов.НайтиЗначение(Расчет)>0);
Так по моему.
ЗЫ. Точно, ошибся :) Вот так условие:
| Условие (расчет в СпОтборов);
хотя и первый вариант прокатил бы - но не "грамотно"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот