1с табличная часть на форме с отбором

1С 8.3 : Табличная часть

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

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

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

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

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

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

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

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

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

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

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

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

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

print

Похожие FAQ

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

отбор в динамическом списке программно 2
Для установки отбора в динамическом списке используется свойство Отбор. Добавление нового элемента отбора осуществляется следующим образом: ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); Для того чтобы новый Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Источник

1С 8.2 УП : Табличная часть

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

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

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

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

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

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

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

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

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

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

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

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

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

print

Похожие FAQ

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

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

Источник

Отбор строк в табличной части

Добрый день! Кто знает как можно при открытии управляемой формы, в табличной части задать множественный отбор?
По одному значению получается:
Элементы.Выплаты.ОтборСтрок = Новый ФиксированнаяСтруктура(«Отдел», Отдел);

А вот как задать отбор по нескольким отделам?

Такой вариант не срабатывает:

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

Поле объекта не обнаружено (Отбор)

1) ГруппаОтбора = Объект.Выплаты.Отбор.Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»));

2) ГруппаОтбора = Элементы.Выплаты.Отбор.Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»));

В форме списка такой отбор можно задать, но у меня Форма документа. И в ней табличная часть «Выплаты» с колонкой «Отдел».
Тип этой табличной части отображается как «(ДокументТабличнаяЧасть.Расчеты.Выплаты)».

Когда я по вашему варианту пытаюсь напрямую обратиться к ТЧ «Выплаты», выдается ошибка:
Переменная не определена (Выплаты)
ГруппаОтбора = >Выплаты.Отбор.Элементы.Добавить(Тип(«ГруппаЭлементовОтбораКомпоновкиДанных»));

(11)Можно поподробее. Как с помощью условного оформления отобрать?

Есть, например таб часть Товары. В ней реквизиты:
— Наименование (Строка);
— Просроченный (Булево);
— Иностранный(Булево);
— Деревянный(Булево);
— Уцененный(Булево);

Как сделать, чтобы отображались только Просроченный и уцененный

Пробовал Элементы.Товары.ОтборСтрок = Новый ФиксированнаяСтруктура(«Просроченный»,»Уцененный», Истина, Истина); Не работает
Пробовал Элементы.Товары.ОтборСтрок = Новый ФиксированнаяСтруктура(«Просроченный», Истина); Работает, показывает только Просроченные

Как сделать чтоб в таб части документа отбирал по нескольким реквизитам?

Источник

Бодаемся с отображением отборов на управляемых формах

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

89ef1be6c84f0f90556f5747f64c673f

e4c861f1ea8d805443b637e22de023a5

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

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

Если смотреть свойства динамического списка через палитру, можно найти две зацепки для решения нашей задачи:

1) Во-первых, это свойство «Группа пользовательских настроек». В данном свойстве указывается группа формы, которая выступит родителем для всех добавляемых элементов с отображением отборов.

9c20a174c8eb0ae4e7b58345250ad1e88f4aecca291470204b0c6872eaa18f04

2) Во-вторых, это событие списка «ПриОбновленииСоставаПользовательскихНастроекНаСервере».

f02eda228db354f80d76621cccfafdcd

Рассмотрим программное создание полей на примере рабочего кода:

В итоге мы имеем стройный ряд настроек, который можно поменять в любой момент:

Источник

Как в динамический список управляемой формы документа добавить отбор по реквизиту табличной части этого документа?

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA1%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA2

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA3

После чего нужно добавить отдельными таблицами нужные нам табличные части:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA4

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA5

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA6

После этого заходим на закладку «Компоновка данных», «Условия» и добавляем нужные в отборе поля:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA7

Нажимаем «ОК» и видим как выглядит готовый текст запроса:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA8

Если перейти тут же на закладку «Настройки», то увидим новые добавленные поля отбора:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA9

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA10

И вот как стал выглядеть текст запроса:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA11

В настройках видно как изменилось имя поля отбора табличной части и вернулось поле отбора по шапке документа:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA12

Ну, и вот так это выглядит в пользовательском режиме:

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA13

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

Источник

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