Универсальный отбор строк для любой табличной части (Реализации, Заказа клиента, Возврата, Обработок и др.)
Задачи пользователя - Мастера заполнения
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Чтобы подключить отбор к новому документу, справочнику (всё по аналогии с реализацией в расширении):
1) Добавить нужную форму в расширение.
2) Добавить реквизит "ДОП_Видимость" (Булево) в таб. часть формы расширения.
3) Добавить в модуль формы расширения код:
&НаКлиенте
Процедура ДОП_УстановитьОтбор(Команда)
ПараметрыФормы = Новый Структура;
//Например "Товары"
ИмяМоейТабЧасти = "Товары";
ПараметрыФормы.Вставить("ТабличнаяЧасть", Объект[ИмяМоейТабЧасти]);
ПараметрыФормы.Вставить("ИмяОбъекта", Строка(ТипЗнч(Объект.Ссылка)));
ПараметрыФормы.Вставить("ИмяТабЧасти", ИмяМоейТабЧасти);
МассСтрок = Новый Массив;
МассСтрок = ОткрытьФормуМодально("ОбщаяФорма.ДОП_УниверсальнаяФормаОтбора", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
Если МассСтрок = Неопределено Тогда
Возврат;
КонецЕсли;
Для Каждого Стр Из Объект[ИмяМоейТабЧасти] Цикл
Если МассСтрок.Найти(Стр.НомерСтроки) = Неопределено Тогда
Стр.ДОП_Видимость = Ложь;
Иначе
Стр.ДОП_Видимость = Истина;
КонецЕсли;
КонецЦикла;
ЭтаФорма.Элементы[ИмяМоейТабЧасти].ОтборСтрок = Новый ФиксированнаяСтруктура("ДОП_Видимость", Истина);
КонецПроцедуры
4) Заменить на нужное имя табличной части вместо "Товары", к которой применяется отбор
ИмяМоейТабЧасти = "Товары";
5) Добавить команду "ДОП_УстановитьОтбор" в форму расширения
6) Поместить её в командную панель вашей табличной части
Подключение к формам внешних обработок и др. формам:
1) Аналогично, только еще вместо "Строка(ТипЗнч(Объект.Ссылка))" можете указать произвольное наименование объекта, из которого вызывается отбор. Используется лишь как строковой ключ для сохранения отборов по объекту.
Пример реализован в виде расширения для реализации товаров и услуг, табличной части "Товары" УТ 11.5.7.269. Для других версий и конфигураций программист легко её адаптирует.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.152.23
- Управление торговлей, редакция 11, релизы 11.5.18.46
Вступайте в нашу телеграмм-группу Инфостарт