Отбор для любой таблицы управляемой формы

06.11.22

Разработка - Инструментарий разработчика

Универсальное расширение для управляемых форм, позволяющее добавить настройку отборов для любой таблицы формы, связанной с табличной частью, таблицей значений или деревом значений. Расширение подойдёт как для типовых конфигураций, так и для самописных.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Отбор для любой таблицы формы "как в динамическом списке" (УФ):
.cfe 19,62Kb
13 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Состав расширения:

  • Общий модуль Отборы_Сервер
  • Общий модуль Отборы_Клиент
  • Общая форма Отборы_ФормаНастройкиОтбора
  • Обработка Отборы_Демонстрация


 

Для добавления настройки отборов в таблицу управляемой формы, необходимо:

1) Добавить в расширение форму, на которой находится таблица.

2) Добавить расширение обработчика события формы "ПриСозданииНаСервере" с типом вызова "После".

3) В обработчике Отборы_ПриСозданииНаСервереПосле добавить вызов процедуры Отборы_Сервер.ДобавитьНастройкиОтбораТаблиц.

Варианты вызова:

&НаСервере
Процедура Отборы_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	// кнопки настройки отбора будут добавлены ко всем видимым таблицам на форме
	Отборы_Сервер.ДобавитьНастройкиОтбораТаблиц(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура Отборы_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	// кнопки настройки отбора будут добавлены только к таблице с указанным именем элемента
	Отборы_Сервер.ДобавитьНастройкиОтбораТаблиц(ЭтотОбъект, "ИмяТаблицы");
КонецПроцедуры
&НаСервере
Процедура Отборы_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	// кнопки настройки отбора будут добавлены ко всем таблицам, с именами из массива
	МассивИмен = Новый Массив;
	МассивИмен.Добавить("Товары");
	МассивИмен.Добавить("Запасы");
	Отборы_Сервер.ДобавитьНастройкиОтбораТаблиц(ЭтотОбъект, МассивИмен);
КонецПроцедуры
&НаСервере
Процедура Отборы_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	// Вариант, позволяющий указать настройки, отличные от настроек по умолчанию, для каждой таблицы
	// Доступны следующие настройки:
	// - ИмяТаблицы - имя элемента таблицы формы
	// - ИмяЭлементаДляВставки - имя группы формы, в которую будут добавлены кнопки настройки отбора.
	//		если не указано, кнопки будут добавлены на командную панель;
	//		если командная панель скрыта, кнопки будут добавлены в контекстное меню таблицы.
	// - ОтборПоВсемКолонкам - Булево - если Истина, в поля отбора будут добавлены все поля таблицы,
	//		в том числе не находящиеся на форме
	// - КнопкиТолькоВМенюЕще - Булево - если Истина и кнопки выводятся на командную панель,
	//		то отображаться они будут только в подменю "Еще"
	ПараметрыТаблиц = Отборы_Сервер.ПолучитьТаблицуПараметров();
	
	НоваяСтрока = ПараметрыТаблиц.Добавить();
	НоваяСтрока.ИмяТаблицы = "ЗначенияПоказателей";
	НоваяСтрока.ИмяЭлементаДляВставки = "ГруппаОтборы";
	
	Отборы_Сервер.ДобавитьНастройкиОтбораТаблиц(ЭтотОбъект, ПараметрыТаблиц);
КонецПроцедуры

 

4) В расширении в модуль формы необходимо добавить процедуры:

&НаКлиенте
Процедура Отборы_ПодключаемыйНаКлиенте(Команда)
	
	Отборы_Клиент.Отборы_ПодключаемыйНаКлиенте(ЭтотОбъект, Команда);
	
КонецПроцедуры

&НаСервере
Процедура Отборы_ПодключаемыйНаСервере(ИмяКоманды, ИмяТаблицы) Экспорт
	
	Отборы_Сервер.Отборы_ПодключаемыйНаСервере(ЭтотОбъект, ИмяКоманды, ИмяТаблицы);
	
КонецПроцедуры

В режиме Предприятие 1С появятся соответствующие кнопки настройки отбора и отключения отбора

При нажатии на кнопку настройки отбора будет открыта форма отборов примерно такая же как при настройке отборов в динамическом списке

Пример внедрения и работы с документом "Начисление зарплаты" в конфигурации ЗУП 3.1:

Оригинальное расширение не имеет заимствованных объектов и не использует программный интерфейс БСП.

Расширение тестировалось на платформе 8.3.17. Режим совместимости расширения: 8.3.12.

 

Вступайте в нашу телеграмм-группу Инфостарт

Таблица управляемой формы Отборы Система компоновки данных

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    213290    1167    413    

1050

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    40676    222    115    

212

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    18835    76    39    

92

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    26652    67    30    

96

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

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

9500 руб.

17.05.2024    37706    134    55    

176

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.<br/> Далее в публикации:<br/> MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    4188    8    10    

15

Инструментарий разработчика 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    3699    7    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2047 06.11.22 22:11 Сейчас в теме
&НаСервере
Процедура Отборы_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	// кнопки настройки отбора будут добавлены только к таблице с указанным именем элемента
	Отборы_Сервер.ДобавитьНастройкиОтбораТаблиц("ИмяТаблицы");
КонецПроцедуры

Возможно нужно так? Отборы_Сервер.ДобавитьНастройкиОтбораТаблиц(ЭтотОбъект, "ИмяТаблицы")
Foster13; +1 Ответить
2. Foster13 21 06.11.22 22:44 Сейчас в теме
(1) Да, точно. Исправил.
sapervodichka; +1 Ответить
3. sapervodichka 7205 07.11.22 02:22 Сейчас в теме
По итогу, что добавляется на форму и как работает, опубликуй, пожалуйста, картинки или видео, а то выглядит как кот в мешке.
blindcat2006; mrChOP93; ixijixi; ImHunter; dhurricane; +5 Ответить
4. Aphanas 93 07.11.22 04:19 Сейчас в теме
Написано, как это установить, но совершенно непонятно, что это такое.
5. Foster13 21 07.11.22 10:20 Сейчас в теме
(3)(4) Добавил скриншоты и запись того, как это будет выглядеть в Предприятии.
Прикрепленные файлы:
6. Aphanas 93 07.11.22 10:57 Сейчас в теме
(5) Спасибо, теперь понятно
7. leosoft 167 20.10.24 14:12 Сейчас в теме
Скачал Вашу обработку "Отбор по таблице", сделал расширение по инструкции для ЗУП, расширение подключилось, кнопочки установки и удаления отборов подключились, но при нажатии на кнопочку "установки" расширение вылетает с ошибкой - Метод объекта не обнаружен (Отборы_ПодключаемыйНаСервере)! Подскажите, пожалуйста, как исправить? Почему-то в общем модуле не видит метод для формы документа?
8. ImHunter 339 05.11.24 10:15 Сейчас в теме
(7) Тоже столкнулся с этим. Разбираюсь.
Вероятно, так просто нельзя стало с клиента вызвать серверные методы формы.
9. ImHunter 339 05.11.24 10:16 Сейчас в теме
Ну и в принципе, экспортные серверные методы формы не должны вообще существовать.
10. leosoft 167 05.11.24 11:23 Сейчас в теме
(9) Странно, что у автора работало, а потом перестало?
Хотя по форумам я поискал - проблема существует ....
11. ImHunter 339 05.11.24 11:25 Сейчас в теме
На форме добавил метод
&НаКлиенте
Процедура Отборы_ПодключаемыйНаСервереСКлиента(ИмяКоманды, ИмяТаблицы) Экспорт
	Отборы_ПодключаемыйНаСервере(ИмяКоманды, ИмяТаблицы);
КонецПроцедуры

В модуле Отборы_Клиент заменил вызовы Отборы_ПодключаемыйНаСервере -> Отборы_ПодключаемыйНаСервереСКлиента.
13. leosoft 167 15.11.24 19:09 Сейчас в теме
(11) Что-то не заработало у меня - теперь пишет
Метод объекта не обнаружен (Отборы_ПодключаемыйНаСервереСКлиента)

В чем суть изменения (добавления) нового метода? То, что вызываемый метод
стал НаКлиенте? Но программа почему-то его тоже не видит ... Может я что-то упустил?
12. ImHunter 339 07.11.24 11:32 Сейчас в теме
К сожалению, фильтр ломается, если в таблице формы есть программно добавленные поля.
Если такие поля добавлены в начале таблицы или в середине, то в их данные попадают данные следующих по порядку полей.
Для отправки сообщения требуется регистрация/авторизация