Имя: Пароль:
1C
1С v8
Открыть форму документа с параметрами
0 alilo
 
15.06.20
13:26
Добрый день!

В документе в табличной части есть реквизит Документ основания.
При нажатии на него открывается форма выбора с документами за последние два месяца.
Делаю так (эта часть работает):

&НаКлиенте
Процедура ТоварыДокументОснованияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Форма = ОткрытьФорму("Документ.Счет.Форма.ФормаВыбора",,ЭтаФорма);
    Отбор = Форма.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Дата");
    Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
    Отбор.Использование = Истина;
    Отбор.ПравоеЗначение =  ДобавитьМесяц(Объект.Дата,-2);    
    Форма.Открыть();
КонецПроцедуры

Но теперь пользователь хочет, чтобы также открывалось за последние два месяца, но при желании он мог бы этот период отредактировать.
Как вот сделать возможность редактирования параметров отбора? При том варианте как сделано выше, пользователь получается сдвигать интервал не может
1 Chameleon1980
 
15.06.20
13:32
а посмотри какие еще есть свойства у отбора
2 maxipunchik
 
15.06.20
13:36
Попробуй через Элементы.Список.Период = Период; Где Период - это СтандартныйПериод;
У этого стандартного периода задай параметры начала и окончания
3 alilo
 
15.06.20
13:44
(1) Помимо тех, которые я использовала : ИдентификаторПользовательскойНастройки, Представление, ПредставлениеПользовательскойНастройки, Применение, РежимОтображения (сейчас находится в значении Быстрый доступ), родитель
4 alilo
 
15.06.20
13:55
(2) я правильно понимаю, что Вы предлагаете устанавливать период уже в самой форме выбора?
Но тогда этот отбор будет устанавливаться даже если я из другого места форму выбора открою, а мне это не нужно.
Или я неправильно поняла?
5 maxipunchik
 
15.06.20
14:03
(4) Период = Новый СтандартныйПЕриод;
////////////////
// тут задаешь начало и конец периода;
/////////////////
Форма = ОткрытьФорму("Документ.Счет.Форма.ФормаВыбора",,ЭтаФорма);
Период = Форма.Список.Период = Период;
Форма.Открыть();

Вот так попробуй
6 maxipunchik
 
15.06.20
14:06
Если не получится, то Форма.Элементы.Список.Период или передавай доп параметром какую-нибудь фигню типа
"ПараметрСДвумяМесяцами",Истина

Потом при создании формы на сервере пропиши код проверки наличия параметра. Если есть, то устанавливай через (2). Тогда у тебя только в одном месте будет открываться в заданным периодом