В процессе разработки интерфейсов на управляемых формах часто возникают ситуации, когда требования заказчика вступают в противоречие со стандартным поведением элементов платформы 1С:Предприятие. Одной из таких частых задач является попытка отключить кнопки навигации («вверх» и «вниз»), которые автоматически появляются в Динамическом списке при постраничном выводе данных.
Давайте подробно разберем, почему эта задача является нетривиальной и какие варианты действий доступны разработчику.
Важно понимать, что Динамический список в 1С — это не просто таблица для отображения данных, а высокопроизводительный объект, предназначенный для работы с большими объемами информации. Механизм постраничной подгрузки данных (то самое перелистывание) является неотъемлемой частью архитектуры этого элемента.
Платформа 1С жестко управляет интерфейсом данного объекта для обеспечения стабильности и производительности. Кнопки навигации являются частью системного интерфейса, который не выведен в API для индивидуальной настройки разработчиком. В текущей версии платформы 1С:Предприятие 8.3 не существует свойства элемента Динамический список, которое позволило бы скрыть кнопки постраничной навигации, сохранив при этом функционал самого списка.
Поскольку прямого «флажка» для отключения кнопок нет, рассмотрим, какие подходы могут помочь в реализации пожелания клиента.
Иногда возникает искушение ограничить функционал через свойство Доступность. Однако важно понимать, что установка свойства Элементы.ИмяДинамическогоСписка.Доступность = Ложь приведет к блокировке всего списка целиком, а не отдельных его кнопок. Это сделает невозможным взаимодействие пользователя с данными в списке, что в большинстве случаев делает данное решение неприемлемым.
Если задача «убрать кнопки» стоит принципиально, единственным архитектурным решением является отказ от использования объекта Динамический список в пользу Таблицы формы с типом значения Таблица значений.
Разберем этот путь по шагам:
Таблица значений.Таблица формы.Запрос.Данный подход дает полный контроль над интерфейсом, позволяя разместить любые кнопки управления вместо стандартных, однако он требует существенных трудозатрат и самостоятельной поддержки производительности при работе с большими массивами данных.
При общении с клиентом важно аргументированно объяснить причину невозможности выполнения такой доработки «малой кровью». Мы рекомендуем использовать следующие тезисы:
Проанализировав ситуацию, мы приходим к выводу, что наиболее правильным решением будет обосновать клиенту преимущества стандартного поведения платформы. В большинстве случаев достаточно объяснить, что кнопки навигации — это не «лишний элемент», а инструмент обеспечения быстрого доступа к данным, разработанный специалистами фирмы «1С» для максимальной оптимизации работы конечного пользователя.