параметры отбора в управляемой форме

Как открыть форму списка с некоторым отбором?

Есть несколько способов для того, чтобы открыть форму списка с некоторым, заранее установленным отбором. Рассмотрим их по-порядку:

ЗначениеОтбора = Новый Структура(«Номер», «333»);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);

2. Можно открыть форму списка без параметров:

И затем, в обработчике события формы списка приходных накладных ПриСозданииНаСервере написать код, который создает отбор в динамическом списке, являющемся основным реквизитом формы:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Номер»);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = «000000001»;

3. И наконец, условие отбора можно поместить в произвольный запрос, выбирающий данные для динамического списка. Например, нам нужно открыть список приходных накладных, в которых присутствует номенклатура, выделенная в списке номенклатуры.

параметры отбора в управляемой форме. 1. параметры отбора в управляемой форме фото. параметры отбора в управляемой форме-1. картинка параметры отбора в управляемой форме. картинка 1. Как открыть форму списка с некоторым отбором?

Обработчик выполнения этой команды заполним следующим образом:

ФормаСписка = ПолучитьФорму(«Документ.ПриходнаяНакладная.ФормаСписка»);
ФормаСписка.ФильтрПоТовару = Элементы.Список.ТекущаяСтрока;
ФормаСписка.Открыть();

В этом обработчике мы получаем форму списка приходных накладных и передаем в параметр формы ФильтрПоТовару ссылку на текущий элемент в списке номенклатуры и открываем форму с этим параметром.

параметры отбора в управляемой форме. 2. параметры отбора в управляемой форме фото. параметры отбора в управляемой форме-2. картинка параметры отбора в управляемой форме. картинка 2. Как открыть форму списка с некоторым отбором?

В поле Запрос введем следующий текст запроса:

В результате по нажатию кнопки Приходные накладные в форме списка номенклатуры мы будем получать список только тех приходных накладных, в которых присутствует номенклатура, выделенная в данный момент в списке номенклатуры.

Демонстрационный пример для 3-го варианта находится в каталоге 1CITS/EXE/FAQ/ОткрытьФормуСОтбором.dt. Пример выполнен на версии платформы 8.2.9.356.

Источник

Бодаемся с отображением отборов на управляемых формах

Как известно многим, дьявол всегда кроется в мелочах. Одной из таких мелочей всплыло замечание пользователей о том, что при добавлении отборов при настройке списка не всегда отображается вид сравнения.

параметры отбора в управляемой форме. 89ef1be6c84f0f90556f5747f64c673f. параметры отбора в управляемой форме фото. параметры отбора в управляемой форме-89ef1be6c84f0f90556f5747f64c673f. картинка параметры отбора в управляемой форме. картинка 89ef1be6c84f0f90556f5747f64c673f. Как открыть форму списка с некоторым отбором?

параметры отбора в управляемой форме. e4c861f1ea8d805443b637e22de023a5. параметры отбора в управляемой форме фото. параметры отбора в управляемой форме-e4c861f1ea8d805443b637e22de023a5. картинка параметры отбора в управляемой форме. картинка e4c861f1ea8d805443b637e22de023a5. Как открыть форму списка с некоторым отбором?

Казалось бы, дело за малым, перехватить момент, когда отборы попадают на форму, да пройтись по всем элементам группы пользовательских настроек и проставить видимость.

Итак, первым делом нужно усвоить, что те отборы, которые мы используем через стандартную команду настройки списка, имеют отношение не к самой форме, а к динамическому списку, расположенному на ней, и являются ни чем иным, как пользовательскими настройками.

Если смотреть свойства динамического списка через палитру, можно найти две зацепки для решения нашей задачи:

1) Во-первых, это свойство «Группа пользовательских настроек». В данном свойстве указывается группа формы, которая выступит родителем для всех добавляемых элементов с отображением отборов.

параметры отбора в управляемой форме. 9c20a174c8eb0ae4e7b58345250ad1e8. параметры отбора в управляемой форме фото. параметры отбора в управляемой форме-9c20a174c8eb0ae4e7b58345250ad1e8. картинка параметры отбора в управляемой форме. картинка 9c20a174c8eb0ae4e7b58345250ad1e8. Как открыть форму списка с некоторым отбором?параметры отбора в управляемой форме. 8f4aecca291470204b0c6872eaa18f04. параметры отбора в управляемой форме фото. параметры отбора в управляемой форме-8f4aecca291470204b0c6872eaa18f04. картинка параметры отбора в управляемой форме. картинка 8f4aecca291470204b0c6872eaa18f04. Как открыть форму списка с некоторым отбором?

2) Во-вторых, это событие списка «ПриОбновленииСоставаПользовательскихНастроекНаСервере».

параметры отбора в управляемой форме. f02eda228db354f80d76621cccfafdcd. параметры отбора в управляемой форме фото. параметры отбора в управляемой форме-f02eda228db354f80d76621cccfafdcd. картинка параметры отбора в управляемой форме. картинка f02eda228db354f80d76621cccfafdcd. Как открыть форму списка с некоторым отбором?

Рассмотрим программное создание полей на примере рабочего кода:

В итоге мы имеем стройный ряд настроек, который можно поменять в любой момент:

Источник

Форма выбора (подбор) в управляемых формах

Статья будет состоять из нескольких приведенных примеров кода с описанием того, как прибегнуть к Подбору.

Пример 1.

Простой вызов формы выбора с одним возвращаемым результатом:

Пример 2.

Выбор нескольких значений (документов или справочников) :

В первых 2-х примерах мы использовали обработчик (Событие) формы «ОбработкаВыбора».

Теперь рассмотрим пример с использованием «Обработки оповещения», на мой взгляд более удобно )

Пример 3.

Думаю многие не знают про фишку Оповещением «на Сервере». То есть результат можно вернуть сразу на сервер без дополнительных условий. Работает до 8.3.13.1644, с 8.3.16.1063 этот метод недоступен.

Пример 4.

Мы видим что открывается форма выбора (из списка документов «Реализация товаров и услуг»), но иногда необходимо добавить некий отбор, чтобы при открытии формы не выводить все документы в целом.

Пример 5.

Есть моменты когда не всегда можно обойтись простым отбором, например необходимо открыть форму выбора со списком за определенный период.

Пример 6.

Пример 7.

Как открыть форму выбора с Позиционированием ранее выбранного значения:

Тестировалось на 1С:Предприятие 8.3 (8.3.16.1063) и 1С:Предприятие 8.3 (8.3.13.1644), Спасибо за внимание, возможно, кому-то поможет)

Источник

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий «НачалоВыбора», «Автоподбор»)

Для ограничения вывода элементов какого-нибудь справочника или перечисления при редактировании поля ввода можно воспользоваться программной установкой свойства элемента формы «ПараметрыВыбора», которое доступно, начиная с версии платформы 8.2.

Данное свойство представляет собой фиксированный массив элементов типа «ПараметрВыбора», позволяет организовать простую фильтрацию доступных для выбора элементов в поле ввода. При этом фильтрация будет работать как при автоподборе, так и при открытии формы выбора.

Рассмотрим пару типовых случаев применения этого свойства для установки отбора:

Отфильтруем ввод сотрудника по значению реквизита «Организация» на форме документа.

Фильтрация будет установлена у поля ввода «СписокСотрудниковСотрудник», в таблице документа.
Для выбора будут доступны только те сотрудники, у которых значения реквизита «Организация» совпадает со значением, установленным в реквизите «Организация» документа.

Вот так будет выглядеть процедура установки фильтра:

Данная процедура вызывается в событии формы «ПриОткрытии» и в событии «ПриИзменении» поля ввода «Организация».

Не всегда достаточно одного значения сравнения, следующий случай продемонстрирует, как накладывать отбор по списку ссылок.

Фильтрация будет установлена у поля ввода «Статус».

Если у сохранённого документа установлен статус «Черновик», то список доступных элементов перечисления «Статусы» будет ограничен значениями «Черновик» и «НаРассмотрении».

Данная процедура вызывается в событиях формы «ПриСозданииНаСервере» и «ПослеЗаписиНаСервере»

Кроме этого в параметрах выбора можно устанавливать свои нетиповые свойства:

Данный параметр потом можно будет извлечь из параметров формы выбора справочника «Сотрудники» (в событии «ПриСозданииНаСервере»), а также из параметров в обработчике «ОбработкаПолученияДанныхВыбора» в модуле менеджера справочника «Сотрудники».

Источник

Расширение управляемой формы для отчета. Несколько действий с параметром «Отбор».

Начинающие разработчики иногда не совсем верно понимают предназначения параметров управляемых форм. В данной статье я предприму попытку наглядно показать и объяснить для чего нужно данное свойство.

Если мы откроем синтакс-помощник и введём на закладке «Индекс» слово «УправляемаяФорма», то увидим в разделе её свойств свойство «Параметры». Если перейти по гиперссылке к описанию свойства получим следующий текст:

Тип: ДанныеФормыСтруктура.
Содержит коллекцию параметров формы.

Тонкий клиент, веб-клиент, сервер, толстый клиент.

Конструктором движений сформируем движения по регистру «ОстаткиНоменклатуры» для документа «ПриходнаяНакладная», создадим обычный отчет с использованием данного регистра накопления, назовём его «ОстаткиНоменклатуры». В пользовательском режиме отчеты по умолчанию помещаются в панель «Сервис», поэтому от регистра накопления мы его отличим всегда. В конструкторе запроса будем использовать виртуальную таблицу «ОстаткиНоменклатуры.Остатки» и выберем все 2 поля данного регистра: //infostart.ru/upload/iblock/9f8/2.JPG. На закладке условия наложем фильтр по ссылке на текущий документ.

Не забудем в командном интерфейсе рабочего стола конфигурации указать видимость для регистра «Остатки номенклатуры».

В пользовательском режиме из номенклатуры мы будем использовать «Холодильники», введём 2 документа «приходная накладная»//infostart.ru/upload/iblock/c63/3.JPG

Теперь создаём форму для документа «приходная накладная» и в контейнеры «Командный интерфес» в разделе «Перейти» укажем галочку «видимость» у регистра «остатки номенклатуры».

Далее создадим команду и назовём её «ОткрытьОтчет» //infostart.ru/upload/iblock/5d9/1.JPG и установим действие для данной команды.

После этого сгенерируем событие «УстановитьДействие» команды и получим в модуле формы процедуру:

В клиентской процедуре мы попробуем открыть данный отчет без параметра №2:

Теперь давайте поработаем с параметром «Параметры».

&НаКлиенте
Процедура ОткрытьОтчет(Команда)
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить(«СформироватьПриОткрытии», Истина);
ОткрытьФорму(«Отчет.ОстаткиНоменклатуры.Форма», ПараметрыФормы);
КонецПроцедуры

Ну давайте попробуем сформировать отчет по активному товару. Код процедуры примет вид:

&НаКлиенте
Процедура ОткрытьОтчет(Команда)
ТекДанные= Элементы.СписокНоменклатуры.ТекущиеДанные; //Получаем текущую позицию
Отбор = Новый Структура(); //Создаём отбор
Отбор.Вставить(«Номенклатура», ТекДанные.Номенклатура); //По полю «Номенклатура» в отчете, а в значение отбора передаём текущую номенклатуру
ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить(«СформироватьПриОткрытии», Истина);
ПараметрыФормы.Вставить(«Отбор», Отбор); //Вставляем наш параметр
ОткрытьФорму(«Отчет.ОстаткиНоменклатуры.Форма», ПараметрыФормы);
КонецПроцедуры

ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить(«Отбор», Отбор);
ПараметрыФормы.Вставить(«СформироватьПриОткрытии», Истина);
ОткрытьФорму(«Отчет.ОстаткиНоменклатуры.Форма», ПараметрыФормы);

Теперь давайте попробуем сформировать отчет по всем товарам в документе, то есть отбор должен накладываться на все товары.

Можно конечно обходить элементы формы, но, я считаю, это не очень оптимально, мы создадим функцию и обратимся запросом к базе данных, выгрузим результат запроса в Таблицу значений и загрузим колонку «Номенклатура» в массив.

В итоге получился код:

Отбор = Новый Структура();
Отбор.Вставить(«Номенклатура», СписокНоменклатуры);
Отбор.Вставить(«Период», Объект.Дата);

ПараметрыФормы = Новый Структура();
ПараметрыФормы.Вставить(«Отбор», Отбор);
ПараметрыФормы.Вставить(«СформироватьПриОткрытии», Истина);
ОткрытьФорму(«Отчет.ОстаткиНоменклатуры.Форма», ПараметрыФормы);

Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура
|ИЗ
| Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры
|ГДЕ
| ПриходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка»;

Передадим полученный список в структуру «ПараметрыФормы». И если мы обратимся к синтакс-помощнику (расширение отчета), то увидим Параметр Формы «Отбор» фразу внизу: «..Если значение является массивом или списком значений с не одним элементом, то отбор будет применяться с видом сравнения ВСписке».

В итоге мы немного поработали с параметром формы отчета «Отбор». Увидели несколько приемов по его использованию. На самом деле аналогичные отборы можно накладывать не только на форму отчета и пользователь не будет видеть данную настройку отбора, иногда это является плюсом.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *