1С 8 3 УТП управление отбором в списке документа

1. Nysha1210 07.12.18 00:01 Сейчас в теме
Добрый день. Нужно сделать отбор в форме списка документа по нужным полям при помощо флажка. Это я реализовала, но при отключении флажка нужно вернуться к первоначальному списку документов и интервалу дат. Именно возврат не получается. После сброса Отбора выводится весь список документов (с начала существования программы), настройка периода программно не получается, хотя вроде всё делаю правильно.

ДатаНачала = ЭлементыФормы.Список.СтандартныйПериод.ДатаНачала;
ДатаКонца = ЭлементыФормы.Список.СтандартныйПериод.ДатаОкончания;

Если ЭлементыФормы.Флажок1.Значение=истина тогда
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Установить(Перечисления.СтатусЗаказа.ВРаботе);
иначе
ЭлементыФормы.Список.Значение.Отбор.Сбросить();
ЭлементыФормы.Список.Значение.Отбор.Дата.Использование=истина;
ЭлементыФормы.Список.Значение.Отбор.Дата.ВидСравнения=ВидСравнения.ИнтервалВключаяГраницы;
ЭлементыФормы.Список.Значение.Отбор.Дата.Значение=ЭлементыФормы.Список.Значение.Отбор.Дата.Значение;
ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеС=ДатаНачала;
ЭлементыФормы.Список.Значение.Отбор.Дата.ЗначениеПо=ДатаКонца;
ЭлементыФормы.Список.Значение.Отбор.Дата.Установить();
КонецЕсли;

Спасибо. Буду благодарна за помощь)))
По теме из базы знаний
Найденные решения
6. Nysha1210 07.12.18 15:48 Сейчас в теме
РЕШЕНИЕ, может кому то пригодится.
В модуле Списка документов добавляем процедуру

Процедура ПриОткрытии()
ЭлементыФормы.Список.НастройкаОтбора.Проведен.Доступность = Истина;
КонецПроцедуры

тогда в отборе появляется возможность отбора по статусу проведения документов

делаем двойной отбор:

Если ЭлементыФормы.Флажок1.Значение=истина тогда
СписокОтбора = новый СписокЗначений;
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.ВРаботе,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Оплачен,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Отправлен,,,);
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=истина;
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.ВидСравнения = ВидСравнения.ВСписке;
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Значение = СписокОтбора;
ЭлементыФормы.Список.Значение.Отбор.Posted.Использование=Истина;
ЭлементыФормы.Список.Значение.Отбор.Posted.ВидСравнения=ВидСравнения.Равно;
ЭлементыФормы.Список.Значение.Отбор.Posted.Значение = ложь;
иначе
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=Ложь;
ЭлементыФормы.Список.Значение.Отбор.Posted.Использование=ложь;
КонецЕсли;
ВСе работает. Всем спасибо за помощь.
user628867_anj.anjelichka; olezhe; +2 Ответить
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Nysha1210 07.12.18 00:31 Сейчас в теме
(1)РЕШЕНИЕ

Если ЭлементыФормы.Флажок1.Значение=истина тогда
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Установить(Перечисления.СтатусЗаказа.ВРаботе);
иначе
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=Ложь;
КонецЕсли;


Дополнительный вопрос:

Как построить Отбор по нескольким условиям обновременно, а потом его сбрасывать?
Просто перечислить все отборы по порядку?
3. PhoenixAOD 62 07.12.18 04:39 Сейчас в теме
(2)именно так, перечисляем отборы, ну и потом так же использование ложь.
4. Nysha1210 07.12.18 13:51 Сейчас в теме
Множественный отбор по Списку значений не работает. Почему?
Если ЭлементыФормы.Флажок1.Значение=истина тогда
СписокОтбора = новый СписокЗначений;
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.ВРаботе,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Оплачен,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Отправлен,,,);
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Установить(СписокОтбора);
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=истина;
иначе
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=Ложь;
КонецЕсли;
5. Nysha1210 07.12.18 15:14 Сейчас в теме
(4) Работает так.
Если ЭлементыФормы.Флажок1.Значение=истина тогда
СписокОтбора = новый СписокЗначений;
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.ВРаботе,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Оплачен,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Отправлен,,,);
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=истина;
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.ВидСравнения = ВидСравнения.ВСписке;
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Значение = СписокОтбора;
иначе
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=Ложь;
КонецЕсли;
Как в этот отбор добавить условие - для всех проведенных документов?
6. Nysha1210 07.12.18 15:48 Сейчас в теме
РЕШЕНИЕ, может кому то пригодится.
В модуле Списка документов добавляем процедуру

Процедура ПриОткрытии()
ЭлементыФормы.Список.НастройкаОтбора.Проведен.Доступность = Истина;
КонецПроцедуры

тогда в отборе появляется возможность отбора по статусу проведения документов

делаем двойной отбор:

Если ЭлементыФормы.Флажок1.Значение=истина тогда
СписокОтбора = новый СписокЗначений;
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.ВРаботе,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Оплачен,,,);
СписокОтбора.Добавить(Перечисления.СтатусЗаказа.Отправлен,,,);
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=истина;
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.ВидСравнения = ВидСравнения.ВСписке;
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Значение = СписокОтбора;
ЭлементыФормы.Список.Значение.Отбор.Posted.Использование=Истина;
ЭлементыФормы.Список.Значение.Отбор.Posted.ВидСравнения=ВидСравнения.Равно;
ЭлементыФормы.Список.Значение.Отбор.Posted.Значение = ложь;
иначе
ЭлементыФормы.Список.Значение.Отбор.СтатусЗаказа.Использование=Ложь;
ЭлементыФормы.Список.Значение.Отбор.Posted.Использование=ложь;
КонецЕсли;
ВСе работает. Всем спасибо за помощь.
user628867_anj.anjelichka; olezhe; +2 Ответить
Оставьте свое сообщение

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