Папка

«Папка»  – это компонент формуляра, имеющий несколько предназначений.

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

Во-вторых, распространение некоторых общих свойств на все последующие компоненты, входящие в эту папку. Об этом будет сказано далее.


Вкладка свойств: 



Пункт «Связь с контекстом»

Данная опция позволяет сопоставить данную папку с каким-либо компонентом контекста. В результате, для всех нижестоящих (включенных в папку) компонентов формуляра, средство поиска по контексту будет отображать только дочерние компоненты выбранного узла контекста:



 

Пункт «Появление при выводе»

По умолчанию, содержащиеся в Папке компоненты будет всегда выводиться в Печатную форму (результирующий XLSX-файл) . Однако, есть возможность динамически задавать появление компонентов в Печатной форме.
Данный пункт позволяет связать вывод под-компонентов Папки с наличием значения в каком-либо поле контекста (т.е. содержащиеся в Папке компоненты появятся в Печатной форме только в случае, если указанное поле контекста не пустое).
Необходимо нажать на кнопку и в средстве поиска выбрать требуемое поле контекста (т.н. индикатор появления):



Если в качестве индикатора появления выбрано текстовое поле, то имеется возможность анализировать как содержимое поля целиком, так и его фрагмент. Чтобы определить фрагмент поля, требуется нажать на кнопку , и, на всплывающем экране, указать с какой позиции и сколько символов следует анализировать.



 

Пункт «Направление вывода»

Данный пункт определяет расположение компонентов, входящих в папку, относительно предыдущего компонента (чтобы сменить направление вывода, необходимо нажать на кнопку  ).

Границы папки определяются границами входящих в неё паттернов (т.е. границы папки охватывают заключенные в ней паттерны):


По умолчанию задано направление – это означает, что текущая папка (компоненты, заключенные в папке), при выводе будет располагаться НИЖЕ предыдущего компонента. При этом верхний левый угол границы текущей папки будет примыкать к нижнему левому углу предыдущего компонента: 


Если задано направление  – это означает что текущая папка (компоненты, заключенные в папке), при выводе будет располагаться ПРАВЕЕ предыдущего компонента. При этом верхний левый угол границы текущей папки будет примыкать к верхнему правому углу предыдущего компонента:


Если предыдущие компоненты заключены в папку, то вышеописанные принципы применяются к границам предыдущей папки.

Пример 1: Текущая папка (зеленым цветом) располагается ниже предыдущей папки (синим цветом).


Пример 2: Текущая папка (зеленым цветом) располагается правее предыдущей папки (синим цветом).



 

Пункт «Имя диапазона ячеек»

Данная опция позволяет присвоить имя для диапазона ячеек, который будет охвачен этой Папкой. Здесь необходимо указать поле контекста, которое содержит имя для диапазона ячеек. Процедура указания поля контекста совершенно аналогична пункту «Появление при выводе».

 

Пункт «Группировка»

Данная опция позволяет делать область сворачиваемой – т.е. применять группировку строк / столбцов для области внутри папки. Таким образом, путем иерархического вложения «папок» с применением опции «группировка», можно создавать многоуровневые группируемые структуры на листе:


·         В приведенном примере, чтобы сделать группировку строк для месяцев Январь, Февраль и Март, необходимо соответствующий «Паттерн» (или группу «Паттернов») поместить в «Папку», у которой включить опцию группировки строк. При этом, в результирующем XLSX-файле итоговая строка (за 1 Квартал) будет располагаться ниже, чем группируемые строки.

      


·         Если же есть необходимость расположения итоговой строки выше группируемых строк, необходимо в меню Excel: Данные Структура  убрать галочку в соответствующем диалоговом окне:

      
      Кроме того, очередность «Паттернов» в дереве структуры формуляра будет другая:

      


·         Опция  /  определяет, в развернутом или свернутом изначальном виде сгруппированная область будет выведена в результирующий XLSX-файл. 

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


 

Пункт «Вставить разрыв страницы (в начале)»

Данная опция позволяет принудительно вставить горизонтальный и/или вертикальный разрыв страницы непосредственно перед содержимым «Папки».




 

Пункт «Предотвращение автоматического разрыва страниц (внутри)»

Данная опция позволяет защитить область внутри папки от автоматического разрыва страниц (как по вертикали, так и по горизонтали). Например, обычно требуется сделать неразрывным блок подписей в печатных формах.


Примечание 1: Данная опция запускает процедуру OLE/VBScript пост-обработки, которая принудительно переместит автоматический разрыв страницы за пределы данной области листа.

Примечание 2: Рекомендуется применять пост-обработку только при крайней необходимости, т.к. она имеет ряд негативных моментов:
  • Она не будет выполнена при запуске программы печати в фоновом режиме 
  • Она не будет выполнена при отсутствии приложения MS Excel на локальной машине пользователя
  • Увеличивается время получения готовой формы


Предотвращение горизонтального разрыва страницы.

·         Когда включена опция , это означает следующее. Если в момент формирования результирующего XLSX-файла, внутри области (ограничиваемой данной папкой) возникает автоматический Горизонтальный разрыв страницы, то данный разрыв будет перемещен к верхней границе папки:

 

Возможное применение этой опции – реализация требования сделать неразрывным блок подписей на последней странице формуляра.


 

·         Если в popup-окне указать какое-либо количество строк – например, 2 строки – это будет означать, что разрыв будет поднят на 2 строки выше, чем верхняя граница папки.

      


Возможное применение этой опции – реализация требования отображения на одной странице блока подписей вместе с последней  строкой табличной части формуляра:



Предотвращение вертикального разрыва страницы.

Когда включена опция , это означает следующее. Если в момент формирования результирующего XLSX-файла, внутри области (ограничиваемой данной папкой) возникает автоматический Вертикальный разрыв страницы, то данный разрыв будет перемещен к левой границе папки.

В остальном данная опция аналогична опции предотвращения горизонтального разрыва.



Пункт «Черновик»

Если в данном пункте включен чекбокс, это означает, что все компоненты, находящиеся в данной папке, не будут задействованы в процессе формирования результирующего XLSX-файла.
Данная опция будет полезна, например, в том случае, если, по каким-либо причинам,
 разработчик не хочет полностью удалять из дерева структуры формуляра какой-либо компонент или ветвь компонентов. Вместо удаления, он может поместить эту ветвь в папку с включенной опцией «Черновик» и, в результате, эти компоненты не будут учитываться при дальнейшей обработке формуляра.