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

Открыть Форму с Отбором Динамического Списка 1C • Динамический список

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

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

Использование списков в 1С (часть вторая — отборы)

Статья является второй из цикла статей , посвященных работе со списками. В этот раз мы поговорим о настраиваемых отборах . Мы рассмотрим различные варианты установки отбора в пользовательском режиме для конфигураций на управляемых формах 1С 8.3.

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

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

Другие поля в качестве значений отбора

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

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

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

На этом пока все. Полный текст статьи можно прочитать в разделе Приемы работы с 1с .

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

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

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

Открыть форму выбора с отбором

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

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

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

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

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

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

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

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

Копировать в буфер обменаВЫБРАТЬ
ДокументПриходнаяНакладная.Номер,
ДокументПриходнаяНакладная.Дата
ИЗ
Документ.ПриходнаяНакладная КАК ДокументПриходнаяНакладная
ГДЕ
ДокументПриходнаяНакладная.Товары.Товар = &Товар

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

Здесь Список.Параметры — это список параметров запроса динамического списка для реквизита Список. Значение параметра Товар устанавливается равным значению параметра формы ФильтрПоТовару.

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

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

MixaBelПри указании владельца открываемой формы результат не меняется
Code+ ОткрытьФорму(«Обработка.УниверсальныеПодборИОбработкаОбъектов1.Форма.ПодборИОбработка», ПараметрыФормы, ЭтаФорма); Посоветуйте хоть куда смотреть.MixaBelРешено, срабатывал обработчик ОбработкаВыбора формы.

Использование списков в 1С (часть вторая — отборы) | — учимся работать с 1С | Яндекс Дзен

1С 8.3 : Как открыть форму списка документов с отбором?

MixaBelПри указании владельца открываемой формы результат не меняется
Code+ ОткрытьФорму(«Обработка.УниверсальныеПодборИОбработкаОбъектов1.Форма.ПодборИОбработка», ПараметрыФормы, ЭтаФорма); Посоветуйте хоть куда смотреть.MixaBelРешено, срабатывал обработчик ОбработкаВыбора формы.

надо было передавать как владельца Элемент а не ЭтаФорма.

Наведи порядок в своей работе используя конфигурацию 1C «Управление IT-отделом 8»

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

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

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

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

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

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

В процессе открытия формы будет установлен отбор по указанному полю. Например, в следующем примере открывается список приходных накладных с отбором по полю Номер , равному 333.

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

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

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

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

Преимущества данного метода в том, что ВидСравнения у отбора можно задавать не только Равно , как в первом случае, а и Больше , Меньше и т.п.

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

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

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

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

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

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

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

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

Динамические списки в 1С на примере справочника «Контрагенты»
Можно установить запрос и программными способами. Для этого потребуется вписать всего лишь несколько строк в модуль формы. После этого достаточно будет лишь дважды кликнуть в текущую строку, чтобы передать строки с выбранными значениями в документ.

1с 8 отбор родитель в динамическом списке.

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

Related posts