Отфильтровать виды расчетов зик 7.7

1. гыук320 18 03.07.12 16:13 Сейчас в теме
На форме есть список с пометками Видов расчета , так же есть запрос в котором есть верные данные но по всем начислением, ВОПРОС "Как добавить условие что бы данные попада ли только по тем видам начисления у которых стоит пометка"
Вижу функцию но что поменять не знаю.
|Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу ГруппаРасчетов.ВсеНачисления)=1);

Сам запрос:

ЖурналДляЗапроса = "Зарплата";
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Т51)
|Период с НачалоПериода по КонецПериода;
|Сотрудник = ЖурналРасчетов.Зарплата.Объект;
|ФизЛицо = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент;
|Должность = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Должность;
|Подразделение = ЖурналРасчетов.Зарплата.Объект.ОсновнойЭлемент.Подразделение;
|Расчет = ЖурналРасчетов.Зарплата.ВидРасч;
|Результат = ЖурналРасчетов.Зарплата.Результат;
|ПериодРегистрации = ЖурналРасчетов.Зарплата.ПериодРегистрации;
|Функция ВсегоНачислено = Сумма(Результат) когда (Расчет.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1);
|";
Если Группировать = 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|Группировка Подразделение без групп;";
КонецЕсли;
ТекстЗапроса = ТекстЗапроса + "
|Группировка ФизЛицо без групп;
|Группировка ПериодРегистрации;

|Условие((Результат<>0));"+

?(СпособВыборкиСотрудников=3,"
|Условие(Сотрудник в СписокФизЛиц);",

?(СпособВыборкиСотрудников=2,"
|Условие(Подразделение в ВыбранноеПодразделение);",""))+"

|"//}}ЗАПРОС
;

// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
глСтатусСтрока(Контекст,"");
Возврат;
КонецЕсли;
Найденные решения
4. selesta 18 03.07.12 18:15 Сейчас в теме
Либо
ТвойСписок.Принадлежит(Расчет)=1
гыук320; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ягг 497 03.07.12 16:42 Сейчас в теме
(1) гыук320,

1. Делаешь новый список значений (СпОтборов)
2. Помещаешь в список СпОтборов только те виды расчетов из списка на форме, для которых установлена пометка.
3. А запросе пишешь

| Условие (СпОтборов.НайтиЗначение(Расчет)>0);

Так по моему.

ЗЫ. Точно, ошибся :) Вот так условие:

| Условие (расчет в СпОтборов);

хотя и первый вариант прокатил бы - но не "грамотно"
гыук320; +1 Ответить
3. elis99 03.07.12 16:49 Сейчас в теме
|Условие(Расчет в ТвойСписоеВидовРасчета);
гыук320; +1 Ответить
4. selesta 18 03.07.12 18:15 Сейчас в теме
Либо
ТвойСписок.Принадлежит(Расчет)=1
гыук320; +1 Ответить
5. гыук320 18 04.07.12 11:33 Сейчас в теме
Всем большое спасибо действительно все варианты работают и мною проверены, отдать sm решил пользователю с меньшим рейтингом, логически я думаю они ему нужнее, надеюсь никого не обидел!!!
6. dusha0020 1115 04.07.12 13:21 Сейчас в теме
Можно и так без дополнительного списка:
|Условие (?(спВидовРасчНаФорме.НайтиЗначение(расчет)>0,спВидовРасчНаФорме.Пометка(спВидовРасчНаФорме.НайтиЗначение(расчет)),0)=1);
dicwork; гыук320; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот