1С табличное поле отбор программно

1С табличное поле отбор программно

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

Или второй вариант:

А теперь конкретные примеры:

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

Во второй табличной части должна быть колонка — идентификационный признак, связывающий ее с первой табличной частью. Таких колонок может быть несколько (составной ключ). В событии ПриАктивизацииСтроки для первого табличного поля пишем:

Для управляемых форм используется ФиксированнаяСтруктура :

Как настроить отбор строк?

Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство:

в обычном приложении параметр для ОтборСтрок — Отбор.

в управляемом приложении — ФиксированнаяСтруктура

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

Управляемые формы

или такой динамический отбор

Обычные формы

Использовать его очень просто:

А теперь конкретные примеры:

Подчиненные табличные части в 8.х

С помощью свойства ОтборСтрок можно реализовать подчиненные (связанные) табличные части. При смене текущей строки в первой табличной части вторая табличная часть показывает только связанную информаци. Например, таким образом можно реализовать работу с комплектами: 1-я таб. часть — комплекты, вторая — состав комплекта.

Во второй табличной части должна быть колонка — идентификационный признак, связывающий ее с первой табличной частью. Таких колонок может быть несколько (составной ключ);

Читайте также:  Openfiledialog1 не найден fallout new vegas

В событии ПриАктивизацииСтроки для первого табличного поля пишем:

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

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

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

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

Похожие FAQ

Еще в этой же категории

Как на управляемой форме разместить список регистра сведений с отбором? 15
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Поле выбора

Заполнение списка значений в элементе поле выбора на форме 9
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип — Произвольный, Использование — Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 8
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Как обновить динамический список или реквизит на форме клиента? 6
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Читайте также:  Mbx 269 не включается

Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство ОтборСтрок, которое входит в расширение табличного поля, связанного с табличной частью.

Если в первом случае вопросов возникнуть не должно, то по второму распишу подробнее.

Предположим есть табличная часть «Товары» с колонками:

  • Наименование
  • Характеристика
  • Количество
  • Цена
  • Сумма

и нам требуется сделать отбор всех стульев в колонке «Наименование».

Наименование Характеристика Количество Цена Сумма
Стул Красный 5 100 500
Стол Стеклянный 1 200 200
Стул Зеленый 2 150 300

Отбор получится такой:

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

отвечает за способ сравнения. Может принимать следующие значения:

  • Больше (Greater)
  • БольшеИлиРавно (GreaterOrEqual)
  • ВИерархии (InHierarchy)
  • ВСписке (InList)
  • ВСпискеПоИерархии (InListByHierarchy)
  • Интервал (Interval)
  • ИнтервалВключаяГраницы (IntervalIncludingBounds)
  • ИнтервалВключаяНачало (IntervalIncludingLowerBound)
  • ИнтервалВключаяОкончание (IntervalIncludingUpperBound)
  • Меньше (Less)
  • МеньшеИлиРавно (LessOrEqual)
  • НеВИерархии (NotInHierarchy)
  • НеВСписке (NotInList)
  • НеВСпискеПоИерархии (NotInListByHierarchy)
  • НеРавно (NotEqual)
  • НеСодержит (NotContains)
  • Равно (Equal)
  • Содержит (Contains)

устанавливает значение по отбора. В нашем случае это товар из справочника номенклатура.

Если бы значений в табличной части было больше и потребовалось бы отобрать стулья и столы, то ВидСравнения был бы равен «В списке», а значение — список значений.

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

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

Читайте также:  Pci ven 1002 dev 6900 cc 0380

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

Ссылка на основную публикацию
1С открытие окон при завершении работы запрещено
В платформе "1С:Предприятие" версии 8.3.8 и выше без использования режима совместимости изменилась модель завершения работы приложения. Прежняя модель не поддерживала...
Adblock detector