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

06.11.22

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

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

Скачать файл

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

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

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

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


 

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

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    178924    992    403    

949

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

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

8400 руб.

20.08.2024    20423    136    76    

137

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

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    19070    51    19    

83

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

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

15000 руб.

10.11.2023    13021    54    33    

72

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

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

9360 руб.

17.05.2024    29259    101    48    

146

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

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18730    7    32    

43

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

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

3600 руб.

27.12.2024    1853    2    0    

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

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

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

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