Каталог решений - Универсальный отбор строк для любой табличной части (Реализации, Заказа клиента, Возврата, Обработок и др.)

Универсальный отбор строк для любой табличной части (Реализации, Заказа клиента, Возврата, Обработок и др.)

Универсальный отбор строк для любой табличной части (Реализации, Заказа клиента, Возврата, Обработок и др.)

В наличии

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

Категория:

Описание

Чтобы подключить отбор к новому документу, справочнику (всё по аналогии с реализацией в расширении):

1) Добавить нужную форму в расширение.

2) Добавить реквизит "ДОП_Видимость" (Булево) в таб. часть формы расширения.

3) Добавить в модуль формы расширения код:

&НаКлиенте
Процедура ДОП_УстановитьОтбор(Команда)
    
    ПараметрыФормы = Новый Структура;
    
    //Например "Товары"
    ИмяМоейТабЧасти = "Товары";
    
    ПараметрыФормы.Вставить("ТабличнаяЧасть", Объект[ИмяМоейТабЧасти]);
    ПараметрыФормы.Вставить("ИмяОбъекта", Строка(ТипЗнч(Объект.Ссылка)));
    ПараметрыФормы.Вставить("ИмяТабЧасти", ИмяМоейТабЧасти);
    
    МассСтрок = Новый Массив;
    МассСтрок = ОткрытьФормуМодально("ОбщаяФорма.ДОП_УниверсальнаяФормаОтбора", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
    
    Если МассСтрок = Неопределено Тогда
        Возврат;
    КонецЕсли;

    Для Каждого Стр Из Объект[ИмяМоейТабЧасти] Цикл
        Если МассСтрок.Найти(Стр.НомерСтроки) = Неопределено Тогда    
            Стр.ДОП_Видимость = Ложь;    
        Иначе
            Стр.ДОП_Видимость = Истина;    
        КонецЕсли;
    КонецЦикла;
    
    ЭтаФорма.Элементы[ИмяМоейТабЧасти].ОтборСтрок = Новый ФиксированнаяСтруктура("ДОП_Видимость", Истина);
    
КонецПроцедуры

4)  Заменить на нужное имя табличной части вместо "Товары", к которой применяется отбор

ИмяМоейТабЧасти = "Товары";

5) Добавить команду "ДОП_УстановитьОтбор" в форму расширения

6) Поместить её в командную панель вашей табличной части

 

Подключение к формам внешних обработок и др. формам:

1) Аналогично, только еще вместо "Строка(ТипЗнч(Объект.Ссылка))" можете указать произвольное наименование объекта, из которого вызывается отбор. Используется лишь как строковой ключ для сохранения отборов по объекту.

 

Пример реализован в виде расширения для реализации товаров и услуг, табличной части "Товары" УТ 11.5.7.269. Для других версий и конфигураций программист легко её адаптирует.

has been added to your cart:
Оформление заказа