1с быстрые отборы на форме

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

В 1С Предприятии 8.2 формы списка объектов конфигурации построены с помощью динамического списка. Пользователь может самостоятельно задать произвольные отборы в любом списке.

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

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

1

2

3

Если задано только одно из полей отбора, то отбор в списке будет выполняться только по одному реквизиту ( Производитель или Поставщик ).

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

Источник

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

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

89ef1be6c84f0f90556f5747f64c673f

e4c861f1ea8d805443b637e22de023a5

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

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

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

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

9c20a174c8eb0ae4e7b58345250ad1e88f4aecca291470204b0c6872eaa18f04

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

f02eda228db354f80d76621cccfafdcd

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Быстрые отборы. Вставка списка товаров из буфера обмена

1. Описание проблемы: во всех отчетах 1с, когда для поля отбора указывается правое значение отбора с типом Список Значений (для видов сравнений: В списке, В группе из списка, Не в списке, Не в группе из списка, открывается форма ВводЗначенийСпискомСФлажками (Ввод значений списком с флажками)

5130c031513b05513787e1d561765acf

Замечательная кнопка, работает когда список товаров копируется из ТЧ, Табличных документов, блокнота, но не работает из эксель.

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

Проблема в том, что при копировании из экселя копируются незначащие символы: табуляция и прочее. Не вставляется из экселя в форму загрузки из буфера обмена.

Для корректной работы достаточно использовать СокрЛП, что и сделано.

2. Описание проблемы: в форме Подбор товаров по отбору (например она используется в документе установка цен номенклатуры – заполнить – заполнить по отбору) хотелось бы имея список товаров для переоценки, быстро заполнить их в документе установка цен.

При открытии списка значений правого значения строки отбора, открывается платформенная форма списка значений, и кнопки заполнения из буфера обмена там нет.

Расширил функционал, добавив в форму Подбор товаров по отбору кнопку, которая обрабатывает текущую строку отбора, открывая форму ВводЗначенийСпискомСФлажками, и дальше по схеме описанной выше.

Тестировалось на конфигурации: Управление торговлей, редакция 11 (11.4.12.91)

Источник

Отбор в обычной форме на основе СКД в 1С

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

Для того, чтобы организовать отбор по контрагенту для пользователя в обычной форме, программисту приходилось размещать три элемента на форме, что выглядело примерно так:

0

Сколько трудов стоит описать программисту разные виды сравнения (равно, не равно, в списке, в группе…) и исходя из этих видов сравнения дорабатывать свой конечный запрос получения данных.

Рассмотрим, как это можно сделать при помощи СКД. Создадим в нашей обработке Макет с типом Схема компоновки данных и заполним его нашим запросом:

1

На вкладке Настройки добавим новую группировку без детализации и, в нашем примере, поле Контрагент, так как в итоге мы получим все в таблицу значений:

2

И на вкладке Отбор добавим в отбор Контрагента:

3

Далее в самой обработке создадим реквизит Компоновщик типа КомпоновщикНастроекКомпоновкиДанных:

4

Теперь займемся оформлением формы. Выведем на форму самой обработки Отбор, с которым будет работать пользователь. На форму выведем элемент типа Табличное поле и дадим ему имя Отбор с типом данных Компоновщик.Настройки.Отбор:

5

Далее ниже выведем эелемент Табличное поле с именем Результат и типом ТаблицаЗначений и кнопку Выполнить, по которой и будем выводить таблицу с контрагентами:

6

Теперь создадим обработчики событий формы ПриОткрытии и обработчик нажатия кнопки Выполнить, код представлен ниже:

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

8

На этом все, надеюсь, данная статья поможет Вам улучшить гибкость отборов в Ваших обработках.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с бухгалтерия экспресс проверка ведения учета
  • 1с бухгалтерия шаблоны договоров