Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Открыть форму документа с параметрами

Открыть форму документа с параметрами
Я
   alilo
 
15.06.20 - 13:26
Добрый день!

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

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

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

// тут задаешь начало и конец периода;
/////////////////

Форма = ОткрытьФорму("Документ.Счет.Форма.ФормаВыбора",,ЭтаФорма);
 Период = Форма.Список.Период = Период;
Форма.Открыть();

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.