|
Открыть форму списка РС с отбором по периоду |
☑ |
0
егаис
11.04.22
✎
09:54
|
Коллеги, нужна помощь.
На форме обработки есть поле отбора с типом СтандартныйПериод
Есть РС с измерением Дата. В обработке, для выбора, открываем форму списка РС.
Каким образом можно передать в структуру отбора условие, что дата в РС должна быть внутри СтандратногПериода?
|
|
1
lEvGl
гуру
11.04.22
✎
10:03
|
ну как, РегистрСведенийСписок.Отбор.Дата.Установить
так?
|
|
2
егаис
11.04.22
✎
10:05
|
хм, стандартный период = интервал
|
|
3
егаис
11.04.22
✎
10:06
|
имхо, только в форме списка РС присоздании устанавливать отбор, так получается?
|
|
4
youalex
11.04.22
✎
10:56
|
В принципе можно через ПолучитьФорму() менять ее контекст
|
|
5
dreizehn
11.04.22
✎
11:01
|
(0) ОФ/УФ?
|
|
6
lEvGl
гуру
11.04.22
✎
11:23
|
(2) получить из стандартного периода дату видимо, думаю это возможно
(5) ну раз "присоздании", значит уф
|
|
7
dreizehn
11.04.22
✎
11:31
|
(6) > значит уф
Указать при открытии формы параметр ФиксированныеНастройки.
|
|
8
егаис
11.04.22
✎
12:46
|
все штатно, спасибо за участие
&НаКлиенте
Процедура ОтборСделки(Команда)
ФормаРегистра = ПолучитьФорму("РегистрСведений.МежфирменныеРеализации.ФормаСписка");
ФормаРегистра.Список.Отбор.Элементы.Очистить();
Если НЕ ОтчетКонечныйЗаказчик.Пустая() Тогда
ЭлементОтбораСотрудник = ФормаРегистра.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораСотрудник.ЛевоеЗначение = ФормаРегистра.Список.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Заказчик").Поле;
ЭлементОтбораСотрудник.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбораСотрудник.Использование = Истина;
ЭлементОтбораСотрудник.ПравоеЗначение = ОтчетКонечныйЗаказчик;
КонецЕсли;
Если НЕ ОтчетПериод.ДатаНачала = Дата(1,1,1) Тогда
ЭлементОтбораДатаС = ФормаРегистра.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДатаС.ЛевоеЗначение = ФормаРегистра.Список.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Период").Поле;
ЭлементОтбораДатаС.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
ЭлементОтбораДатаС.Использование = Истина;
ЭлементОтбораДатаС.ПравоеЗначение = НачалоДня(ОтчетПериод.ДатаНачала);
КонецЕсли;
Если НЕ ОтчетПериод.ДатаОкончания = Дата(1,1,1) Тогда
ЭлементОтбораДатаПо = ФормаРегистра.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбораДатаПо.ЛевоеЗначение = ФормаРегистра.Список.Отбор.ДоступныеПоляОтбора.Элементы.Найти("Период").Поле;
ЭлементОтбораДатаПо.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
ЭлементОтбораДатаПо.Использование = Истина;
ЭлементОтбораДатаПо.ПравоеЗначение = КонецДня(ОтчетПериод.ДатаОкончания);
КонецЕсли;
ФормаРегистра.Открыть();
КонецПроцедуры
|
|
9
youalex
11.04.22
✎
13:09
|
(8)
(7) кстати, вполне годный вариант
|
|