В процессе разработки или модификации типовых конфигураций на обычных формах программисты часто сталкиваются с неприятной особенностью редактора форм. Если разработчик установил большую высоту шапки табличного поля (например, 5 строк) и включил видимость подвала, область самих строк (полей ввода) может физически исчезнуть из визуального редактора. В такой ситуации стандартный клик мышкой по полю ввода становится невозможным, что блокирует доступ к палитре свойств и вкладке событий конкретной колонки.
Рассмотрим детально, как обойти это ограничение платформы и добраться до нужных настроек, не «раскурочивая» дизайн всей формы.
Это самый надежный и «чистый» способ, который не зависит от того, насколько сильно сжата область данных в табличном поле. Вместо того чтобы пытаться попасть мышкой в узкую полоску между шапкой и подвалом, мы воспользуемся встроенным редактором коллекции.
Разберем этот процесс по шагам:
ТабличноеПоле. Даже если строки не видны, у него всегда остается заголовок или рамка.После этого откроется стандартное окно свойств (Палитра свойств), привязанное именно к выбранной колонке. Теперь мы можем спокойно перейти на вкладку «События» и создать необходимые обработчики, такие как ПриИзменении или НачалоВыбора.
Проанализируем еще один способ, который позволяет получить доступ к свойствам без использования контекстного меню формы. Этот метод удобен, если форма слишком перегружена элементами и попасть по нужному объекту правой кнопкой мыши затруднительно.
Рассмотрим последовательность действий:
Ctrl + Alt + P).ТабличноеПоле.... в этой строке.Важное замечание: В отличие от управляемых форм, в обычных формах колонки не являются отдельными элементами в «Списке элементов управления формы». Они всегда подчинены родительскому объекту, поэтому искать их в общем дереве объектов через главное меню бесполезно.
Если нам критически важно видеть поле ввода в редакторе (например, для визуального выравнивания или проверки ширины), мы можем временно изменить геометрию элемента. Многие опасаются делать это, чтобы не испортить верстку, но если менять значения через окно свойств, риск минимален.
Выясним, как это сделать правильно:
ТабличноеПоле и в окне свойств найдем параметр ВысотаШапки.Подвал.ВысотаШапки и Подвал.Этот метод хорош тем, что он заставляет платформу перерисовать элемент в конфигураторе, открывая доступ к его внутренним составляющим.
Посмотрим на ситуацию, когда мы не хотим менять свойства, а планируем перемещаться по элементам «вслепую». Платформа 1С поддерживает навигацию клавишами даже в дизайнере.
Попробуем следующую схему:
Ctrl + Down.Как отмечают опытные разработчики, иногда после нажатия «вниз» требуется нажать «вправо», а затем снова «влево», чтобы окно свойств корректно обновило контекст и показало события именно для элемента управления (поля ввода), а не для абстрактной колонки.
Проанализируем причину такого поведения конфигуратора. В обычных формах ТабличноеПоле — это сложный агрегатный объект. Его визуальное представление в дизайнере является лишь упрощенной моделью. Когда высота служебных областей (шапки и подвала) суммарно превышает общую высоту элемента, область отрисовки строк схлопывается в ноль.
Чтобы упростить себе работу в будущем, придерживайтесь следующих правил:
Использование описанных выше методов позволит вам эффективно работать даже с самыми «перегруженными» типовыми формами, сохраняя доступ ко всей мощи объектной модели 1С без лишних манипуляций с визуальным интерфейсом.