Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 сен 2024, 06:14

Отбор работает некорректно

Автор dart909, 14 июл 2015, 10:40

0 Пользователей и 1 гость просматривают эту тему.

dart909

Добрый день может кто подскажет.

&НаСервере
Процедура  СделатьОтборПоПринятым()
         
     ТекОтбор = Список.Отбор.Элементы;
     ТекОтбор.Очистить();
     УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
     УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус");
     УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
     УсловиеОтбора.ПравоеЗначение = перечисления.СтатусСотрудника.Принят   ;   
КонецПроцедуры   

&НаСервере
Процедура  СделатьОтборПоУволенным()
   
     ТекОтбор = Список.Отбор.Элементы;
     ТекОтбор.Очистить();
     УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
     УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус");
     УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
     УсловиеОтбора.ПравоеЗначение = перечисления.СтатусСотрудника.Уволен;   
КонецПроцедуры   

&НаКлиенте
Процедура ОтобратьПринятых(Команда)
     Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьПринятых.Пометка = Не Проверка;
     Проверка = Не Проверка;
     СделатьОтборПоПринятым();
     Если Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьПринятых.Пометка = Ложь Тогда
         Список.Отбор.Элементы.Очистить()
     КонецЕсли;     
     Если Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьПринятых.Пометка = Ложь И Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьУволенных.Пометка = Ложь Тогда
          ОтменаОтбора(Команда)
     КонецЕсли     
КонецПроцедуры


&НаКлиенте
Процедура ОтобратьУволенных(Команда)
    Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьУволенных.Пометка = Не ПроверкаУволенных;
    ПроверкаУволенных = Не ПроверкаУволенных;
    СделатьОтборПоУволенным();
    Если Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьУволенных.Пометка = Ложь И Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьПринятых.Пометка = Ложь Тогда
         ОтменаОтбора(Команда)
    КонецЕсли     
КонецПроцедуры

Процедура ПриОткрытии(Отказ)
     
     Элементы.Посмотреть.ПодчиненныеЭлементы.ОтобратьПринятых.Пометка = Ложь;
     Проверка = Ложь;
     ПроверкаУволенных = Ложь;
КонецПроцедуры

Как сделать, чтобы можно было сделать отбор и по принятым и по уволенным? и Соответственно отменять отбор по принятым или уволенным, а не полностью его очищать?

KrivosheevEV

Обратить внимание на это:

&НаСервере
Процедура  СделатьОтборПоПринятым()
         
     ТекОтбор = Список.Отбор.Элементы;
     ТекОтбор.Очистить();
     УсловиеОтбора = ТекОтбор.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
     УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус");
     УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
     УсловиеОтбора.ПравоеЗначение = перечисления.СтатусСотрудника.Принят   ;   
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск