1С 8.3 : Табличная часть
Как настроить отбор строк?
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство:
ОтборСтрок, которое входит в расширение табличного поля, связанного с табличной частью.
Управляемые формы
или такой динамический отбор
Обычные формы
Использовать его очень просто:
А теперь конкретные примеры:
Подчиненные табличные части в 8.х
В событии ПриАктивизацииСтроки для первого табличного поля пишем:
При добавлении новой строки во вторую табличную часть, нужно следить за тем, чтобы идентификационная колонка была установлена.
Обращаю ваше внимание, что при таком отборе не используются индексы и для больших табличных частей возможно замедление работы.
Еще раз напомню, что ОтборСтрок входит в расширение табличного поля табличной части, т.е. табличное поле должно быть связано с табличной частью. Если же оно связано с динамическим списком типа СправочникСписок, то здесь нужно использовать свойство Отбор для объекта типа СправочникСписок.
Похожие FAQ
Еще в этой же категории
отбор в динамическом списке программно 2
Для установки отбора в динамическом списке используется свойство Отбор. Добавление нового элемента отбора осуществляется следующим образом: ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); Для того чтобы новый Посмотреть все в категории Работа с Формой (Диалог) и её элементами
LiveInternetLiveInternet
—Метки
—Рубрики
—Музыка
—Конвертер видеоссылок
—Подписка по e-mail
—Поиск по дневнику
—Постоянные читатели
—Трансляции
—Статистика
1С 8.2. Отбор строк в Таблице Формы
Заметка для себя:
Имею дело с формой документа. У Объекта (основного объекта д-та) добавлены два неосновных реквизита типа ТаблицаЗначений — ТЗ1 и ТЗ2. С ними, как с ТЗ, можно работать только на сервере.
Эти ТЗ перенесены на форму. На форме они уже «становятся» элементами типа ТаблицаФормы со своими св-ми, отличными от ТЗ. И тут с ними можно работать только на клиенте и работать, например, делать отбор строк.
Задача: в ТЗ2 на форме необходимо отображать только те записи, которые соответствуют текущей записи из ТЗ1 по каким-либо полям.
Для этого можно применить свойство ОтборСтрок для Таблицы Формы.
Описание из Синтаксис-Помошника:
Использование:
Описание:
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Реализовала:
идем в событие «ПриАктивизацииСтроки» ТЗ1, лежащей на форме.
&НаКлиенте
Процедура ТЗ1ПриАктивизацииСтроки ( Элемент )
Отбор строк в табличной части
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство ОтборСтрок, которое входит в расширение табличного поля, связанного с табличной частью.
Если в первом случае вопросов возникнуть не должно, то по второму распишу подробнее.
Предположим есть табличная часть «Товары» с колонками:
и нам требуется сделать отбор всех стульев в колонке «Наименование».
Наименование | Характеристика | Количество | Цена | Сумма |
---|---|---|---|---|
Стул | Красный | 5 | 100 | 500 |
Стол | Стеклянный | 1 | 200 | 200 |
Стул | Зеленый | 2 | 150 | 300 |
Отбор получится такой:
включает отбор по колонке «Наименование». Если установить значение «Ложь», то отбор будет снят. Если бы мы делали отбор не программно, а через фильтры, то установка галочки напротив названия колонки как раз аналогично этой строке кода:
отвечает за способ сравнения. Может принимать следующие значения:
устанавливает значение по отбора. В нашем случае это товар из справочника номенклатура.
Если бы значений в табличной части было больше и потребовалось бы отобрать стулья и столы, то ВидСравнения был бы равен «В списке», а значение — список значений.
Второй вариант короче, но первый для меня более наглядный.
ОтборСтрок входит в расширение табличного поля табличной части, т.е. табличное поле должно быть связано с табличной частью. Если же оно связано с динамическим списком типа СправочникСписок, то здесь нужно использовать свойство Отбор для объекта типа СправочникСписок.
Если понадобилось перебрать строки, вошедшие в отбор, то это можно сделать, только заново перебрав все строки и проверив условие отбора для каждой строки. Перебрать строки табличного поля, которые сейчас на экране — невозможно.
1С 8.2 УП : Табличная часть
Как настроить отбор строк?
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство:
ОтборСтрок, которое входит в расширение табличного поля, связанного с табличной частью.
Управляемые формы
или такой динамический отбор
Обычные формы
Использовать его очень просто:
А теперь конкретные примеры:
Подчиненные табличные части в 8.х
В событии ПриАктивизацииСтроки для первого табличного поля пишем:
При добавлении новой строки во вторую табличную часть, нужно следить за тем, чтобы идентификационная колонка была установлена.
Обращаю ваше внимание, что при таком отборе не используются индексы и для больших табличных частей возможно замедление работы.
Еще раз напомню, что ОтборСтрок входит в расширение табличного поля табличной части, т.е. табличное поле должно быть связано с табличной частью. Если же оно связано с динамическим списком типа СправочникСписок, то здесь нужно использовать свойство Отбор для объекта типа СправочникСписок.
Похожие FAQ
Еще в этой же категории
Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора
Отборы в 1С 8.3 (Управляемые формы)
Часто возникают ситуации, когда в 1С 8.3 нужно произвести отбор в таблице определенных строк по определенным критериям. Рассмотрим, как это сделать в динамическом списке и в таблице значений.
Отборы в динамическом списке 1С 8.3
Тут мы имеем два пути: создать отбор на форме списка и установить отбор программно.
Отбор в настройка формы
В конфигураторе добавим динамический список на форму, назначим ему основную таблицу и зайдем в свойства списка. В свойствах есть раздел «Настройка списка», нажмем ссылку «Открыть». Появится такое вот окно:
Здесь мы можем задать любой отбор для динамического списка. Потом этим отбором можно управлять программно.
Установка отбора в динамическом списке 1С программно
Дело в том, что Отбор является свойством динамического списка. Этим мы и воспользуемся. Сначала добавим в свойство отбора новый элемент:
Чтобы отбор заработал, нужно прописать параметры «ЛевоеЗначение», «ВидСравнения» и «ПравоеЗначение». Кроме того необходимо свойство «Использование» установить в «Истина».
Таким образом, мы создаем простой отбор. Кроме простого, можно задать условия по нескольким полям. Для этого используем тип данных «ГруппаЭлементовОтбораКомпоновкиДанных»:
Отборы в таблице значений 1С
Тут у нас также имеется несколько вариантов.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.