1с открыть форму выбора с отбором составной тип

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

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

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

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

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

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

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

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

1

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

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

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

2

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

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

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

Источник

Форма выбора для реквизита с составным типом данных

У документа есть реквизит ДокументОснование, который имеет составной тип данных. Этот реквизит заполняется автоматически при вводе на основании и вручную. Все было хорошо, пока данный реквизит отображался на форме в виде поля ввода, однако, начальство поставило задачу: должна быть галка рядом, а реквизит должен быть в виде надписи-гиперссылки (ну, как в документе реализации в УТ 11.4, см. скриншот).

5e16a5e48f685c4baac335a9ada39060

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

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

Для наглядности, создал внешнюю обработку, добавил ей форму. Добавил реквизиты ВводНаОсновании с типом Булево и ДокументОснование с составным типом данных: ДокументСсылка.РеализацияТоваровУслуг, ДокументСсылка.ЗаказКлиента. Драг-дроп их на форму. ДокументОснование должен быть надписью-гиперссылкой, соответственно, внеся корректировки, получилось следующее:

8a7e466efdab217c0c84ce43dc9a214d

Добавляем обработчик события ПриИзменении для нашей галочки:

Как можно заметить, используется метод ПоказатьВыборЭлемента (доступен с версии платформы 8.3.3). Данный метод необходимо использовать вместо метода ВыбратьЭлемент, если РежимИспользованияМодальности для конфигурации установлен в НеИспользуется. Добавляем обработчик (обязательно должен быть экспортный):

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

В итоге получилось следующее:

Выбор типа документа

57665a3951cfbdabb79aac8d0ad53290

Выбор самого документа с типовой формой выбора:

e4f18ba43f353de6fc1b2ac1a2b52cd5

17a215b596377bc465bf95ef6036187c

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

Источник

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

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

Пример 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), Спасибо за внимание, возможно, кому-то поможет)

Источник

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

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

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

Давайте рассмотрим работу механизма на примере: в документе «Поступление товаров» при выборе контрагента необходимо выбирать только поставщиков (отбор будем производить по реквизиту Поставщик типа Булево справочника «Контрагенты»).

Для начала, проверим наличие поля отбора «Поставщик» в настройках отбора динамического списка. Для этого откроем форму выбора справочника «Контрагенты» и перейдем к настройкам динамического списка:p117

Мы видим, что поле Поставщик есть среди полей отбора. Значит, наш отбор работать будет (на самом деле, мы можем добавить дополнительные поля в динамический список и использовать их для отбора):p118

Теперь нам осталось написать только код процедуры, который будет вызывать форму выбора:

Как видите, ничего сложного нет: мы создаем структуру, имитирующую отбор (ключ структуры — имя поля отбора, а значение — значение отбора), и включаем его в параметры открываемой формы.

Источник

Своя форма выбора типа, метаданных (Infostart Toolkit)

Зачем?

В конфигураторе форма выбора типа удобная с поиском, вопросов к ней нет. В режиме1ee1ca781f96ddd4709f7b6f55edd257

1С:Предприятие с самой первой версии 8.0 и до сих пор это просто список с которым удобно работать только когда элементов мало. Пользователь с этой проблемой сталкивается очень редко, а вот разработчик намного чаще в разных инструментах. Например «Поиск ссылок на объект» нужно выбрать тип искомой ссылки из всех доступных вариантов, современные конфигурации большие в них много объектов и бывает достаточно затруднительно найти нужный.

Проблема уже достаточно старая и имеет множество решений в различных консолях и инструментах:

Стандартная форма. Нам такого родео не нужно!

a6c82c12041a5e772759e77203c47829

Своя форма. Возможности

В Infostart Toolkit используется своя более удобная форма. Одна форма используется при выборе типа, при редактировании описания типов и отметке объектов метаданных. Форма практически повторяет форму из конфигуратора не нужно привыкать к новому ;)

ddce955368e951409b560438c9a655c2

Возможности:

76b1956cf85db5ebeee582d61c88b989

Где используется в наборе инструментов?

Форма в наборе инструментов используется повсеместно. Приведу еще несколько примеров:

1b71afdd0df1731eea37ec1fdd88999a

Отбор метаданных в инструменте «Подписки на события»

43c6ae1168d4d1ee3872de554b578863

Работа формы «вживую» (ERP Управление предприятием 2.5.6.124)

86978d8a9378960182dfde4027ced9d4

См. также (другие статьи по Toolkit):

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

f71a8c4e70c0ff03708038e2b0210df8

9c2808762ec294cd4c55532520b9c521

895fb1e0f7afc3c0ed0d73bf5ee9d9d0

egais promo

b34b292ed32e9501f98cc31df406353e

789363929b9f37ddc5641a069a5fe52e

5b19cd6c4494a88b2abefce64a1b7565

199e2be4fd21dd8f4209d8ec34616c76

Хотелось бы иметь следующую функциональность.

* При двойном клике ЛКМ на строке дерева метаданных завершать выбор типа и закрывать диалог, считая результатом выбора несоставной тип.
* При установке очередного (не первого) флажка в дереве метаданных автоматически устанавливать флаг «Составной» в шапке диалог. Соответственно сбрасывать его при снятии флажков в дереве метаданных.
* Иметь возможность фильтровать дерево метаданных, оставляя только те объекты, что отмечены флажком.

Кажется, это бы добавило удобства.

Писал в начале что проблема уже решалась. Добавлю вашу в список

7000 если считывать сразу при открытии это создание 7000 строк в дереве если постепенно

30. Посмотри сколько займет запуск? У меня 0.2сек

В конфигураторе форма выбора типа удобная с поиском, вопросов к ней нет. В режиме

1С:Предприятие с самой первой версии 8.0 и до сих пор это просто список с которым удобно работать только когда элементов мало.

Обновление 26.07.21 11:00

d4d338f1e8ade19a78b6affbbe5e7d12

См. также

Infostart Toolkit Промо

Простые и удобные инструменты: Консоль запросов, СКД, Редактор объекта, Поиск ссылок и другие. Редактор запросов и кода с раскраской и контекстной подсказкой. Улучшенный конструктор тонкого клиента и др.

02.09.2020 38098 124 194

Чтение метаданных 1С в SQL Server

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021 3972 zhichkin 63

Метаданные и их идентификаторы

Идентификаторы (GUID’ы) метаданных конфигурации. Немного о том, как их получить.

05.12.2020 12171 YPermitin 27

Выявляем и оптимизируем ресурсоемкие запросы 1С:Предприятия

Обычно предметом оптимизации являются заранее определенные ключевые операции, т.е. действия, время выполнения которых значимо для пользователей. Причиной недостаточно быстрого выполнения ключевых операций может быть неоптимальный код, неоптимальные запросы либо же проблемы параллельности. Если выясняется, что основная доля времени выполнения ключевой операции приходится на запросы, то осуществляется оптимизация этих запросов. При высоких нагрузках на сервер СУБД в оптимизации нуждаются и те запросы, которые потребляют наибольшие ресурсы. Такие запросы не обязательно связаны с ключевыми операциями и заранее неизвестны. Но их также легко выявить и определить контекст их выполнения, чтобы оптимизировать стандартными методами.

24.05.2020 11309 DataReducer 22

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка) Промо

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

14.08.2018 123919 2982 Evg-Lylyk 747

Об общих реквизитах

Общие реквизиты. Что за ними скрывается?

28.10.2019 18725 YPermitin 31

Редактор объектов информационной базы 8.3

Универсальная внешняя обработка для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.57 от 09.10.2021

23.01.2019 42669 475 ROL32 50

Консоль запросов для управляемых форм 8.3

Универсальная внешняя обработка для создания, редактирования и отладки запросов, с возможностью обработки таблицы результатов произвольными алгоритмами на языке 1С. Выгрузка результатов запроса в таблицу или дерево значений, включая временные таблицы и запросы пакета. Формирование запроса для консоли в отладчике, включая временные таблицы и параметры. Версия 1.1.0.73 от 09.10.2021

08.11.2018 34202 439 ROL32 35

Подсистема «Инструменты разработчика» v6.14.2 Промо

23.09.2007 612954 36272 tormozit 2805

Диалоговое окно ввода описания типов

В «Предприятии» 8.3 диалоговое окно выбора значений для описания типов выглядит бедненько и скудненько. Многих типов, в т.ч. существующих на клиенте, нет. Предлагаю свой, более управляемый, аналог.

31.08.2015 14847 7 Yashazz 3

Форма выбора типа данных (альтернатива)

Замена формы выбора типа данных от 1С

28.05.2009 24820 233 Evg-Lylyk 15

Источник

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