Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

1C Динамический Список не Отображается на Форме • Полезно знать

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Мы рассмотрели только малую часть возможностей этого инструментария, но и этого уже достаточно, чтобы понять удобство такого типа, как динамический список. 1с динамический список добавление строки. Поиск в динамическом списке Обращайтесь в форму связи

Поиск по наименованию в динамическом списке

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

Пример на работе формы подбора в документ закупки в конфигурации УТ 11.2 (11.2.3.163). По сравнению с типовой обработкой внесены следующие изменения:

добавлены команды: ПоискПоНаименованиюВыполнить, ПоискПоНаименованиюФокус

добавлены кнопки в группу ФормаГорячиеКлавиши: ПоискПоНаименованию2 (команда ПоискПоНаименованиюФокус), ПоискПоНаименованиюВыполнить (команда ПоискПоНаименованиюВыполнить)

добавлены поля ввода: ПоискПоНаименованию1 (при ) в группе СтандартныйПоискНоменклатура, ПоискПоНаименованию в группе РасширенныйПоискНоменклатура. Данные для обоих полей ПоискПоНаименование, для обоих полей при изменении вызывается ПоискПоНаименованиюПриИзменении

Скачать файлы

Специальные предложения

См. также

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

обработчик Подключаемый_ВыполнитьПереопределяемуюКоманду с переопределением процедуры МодификацияКонфигурацииКлиентПереопределяемый.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Поэтому возникла задача программного создания элемента формы для добавленного реквизита в самом расширении, этому и посвящена данная публикация. 1с отбор динамического списка не отображаются на форме Обращайтесь в форму связи

Работа с базой данных

При открытии списка

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

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

В результате выполнения запроса мы увидим следующие данные в динамическом списке:

Какую часть дохода тратите на еду?
До 50%Больше 50%

При раскрытии группы с элементами

Раскрывая группу элементов в динамическом списке, платформа 1С:Предприятие формирует следующий запрос:

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

Условие осталось прежним — выбираются записи только определенного родительского элемента, только в этом случае в параметр уже передается ссылка на открываемую группу элементов. На скриншоте вы видите ссылку на группу «Группа 1 — 1».

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

Пролистываем список элементов

Ранее уже было сказано, что при раскрытии группы справочника платформа формирует запрос на выборку первых 22-х элементов. Но что происходит, когда пользователь листает динамический список и выбранные элементы заканчиваются? В таком случае платформа формирует новый запрос и выбирает последующую порцию данных для просмотра:

Важным моментом в формировании данного запроса является условие выборки. В нем для тех полей, которые участвуют в сортировке результата запроса, накладываются дополнительные условия для получения последующих 22-х записей. В нашем случае это поля «_Foder», «_Description» и «_IDRRef».

Прежде чем формировать выборку последующих 22-х элементов, платформа получает данные для последнего выбранного элемента:

Передав ссылку на последний элемент, запрос получает все данные для передачи параметров в запрос для выборки следующей порции элементов (предыдущий запрос выше).

Горящие товары с бесплатной доставкой
 «AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.

Devel Platform: Динамический список. Как это работает?

Группировки динамического списка

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

Обратите внимание на появившееся дополнительное левое соединение и дополнительные операции для полей выборки.

Подробно на данном запросе останавливаться не будем, скажу лишь, что в таблице T1 платформа получает возможные значения для полей группировки, а в присоединяемой таблице Т2 содержатся непосредственно записи сгруппированных элементов.

Не смотря на то, что чтение будет происходить динамически (первая выборка при открытии списка будет содержать 42 записи), включение группировок увеличивает нагрузку на сервер.

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
В качестве значения свойства Основная таблица указана одна из следующих таблиц план обмена, справочник, список документов, журнал документов, план видов характеристик, план счетов, план видов расчета, бизнес-процесс, задача, таблица точек бизнес-процесса. Ограничения при использовании динамических списков, методические материалы учебного центра «Стимул» — обучение в Киеве Обращайтесь в форму связи

Ограничения при использовании динамических списков

1.1. При разработке интерфейса, разработчик может использовать группировки в динамических списках (cм. Группировки в списках).
Разработчик может:

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

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

1.2. Пользователь, при помощи настройки списка может установить свои группировки – в этом случае прикладной разработчик не может (и не должен) гарантировать оптимальную производительность.

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

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

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

  • поле, по которому осуществляется первая группировка, должно быть проиндексировано;
  • поле, по которому осуществляется первая группировка, должно обладать хорошей селективностью (т.е. для каждому значению этого поля должно соответствовать небольшое количество записей в таблице базы данных);

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

1.6. Не рекомендуется делать группировки по полям, которые являются характеристиками объекта метаданных. Это ограничение связано с тем, что при выводе характеристик делается ЛЕВОЕ СОЕДИНЕНИЕ с таблицей характеристик, поэтому запрос с отбором по одной характеристике будет не эффективным даже при наличии индекса (в любом случае будет сканирование по главной таблице).

2. Для иерархических списков не рекомендуется устанавливать свойство НачальноеОтображениеДерева в значение РаскрыватьВсеУровни, так как это приведет к критичному снижению скорости открытия больших списков. Следует использовать значения НеРаскрывать или РаскрыватьВерхнийУровень.

Дополнительную информацию об особенностях динамических списков можно получить в документации по платформе (см. Динамический список)

Программная модификация управляемых форм
При этом если тип значения параметра отличается от типа реквизита объекта (например, Реквизит1 имеет тип Число , а значение параметра – тип Строка ), то для корректного отображения поля следует выполнить явное приведение значения параметра к нужному типу:

1C Динамический Список не Отображается на Форме

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts

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

*