Руководство разработчика

Объектный тип ДИАЛОГ_АНАЛИТ

Тип ДИАЛОГ_АНАЛИТ задает диалоговое окно для выбора объекта из плана аналитики или каталогизатора.

Поля

Тип Поле Описание Значение по умолчанию
СТРОКА заголовокЗаголовок окна.
ЛОГИКА дин_заголовокВывод в заголовок окна кода текущей ветки в плане аналитики или группы каталогизатора. Заголовок окна обновляется при переходах между уровнями.
ЛОГИКА выбор_состВозможность переключаться между состояниями плана аналитики: ДА – отображается поле для выбора состояния, НЕТ – поле не отображается. ДА
ЛОГИКА строка_статусаПризнак отображения информации в строке состояния диалога. ДА
ЛОГИКА панель_инстрПризнак использования панели инструментов. ДА
ЛОГИКА доб_состВозможность добавления нового состояния (каталогизатора). При значении ДА в списке состояний появляется пункт, при выборе которого открывается мастер добавления каталогизатора или вызывается алгоритм, заданный в поле алг_доб.
СТРОКА текст_добТекст пункта добавления состояния в поле выбора состояний.
АНАЛИТ_СОСТ_ПАРАМ парам_добПараметры нового состояния. Используются при добавлении нового состояния (если "доб_сост"=ДА).
СТРОКА режим_добИмя режима настроек, который используется добавляемым каталогизатором.
СТРОКА корень_добКорневой объект добавляемого каталогизатора. Значение, заданное в этом поле, передается в алгоритм или в мастер создания каталогизатора. Если значение не задано – в мастере будет возможность выбрать для каталогизатора любой корневой объект, а в алгоритм передается пустая строка.
ЛОГИКА реж_выбораОпределяет поведение диалога при двойном щелчке на объекте в таблице. При значении ДА диалог закрывается, возвращая выбранный объект. При значении НЕТ двойной щелчок вызывает событие изменения объекта (если изменение объектов разрешено). ДА
ЛОГИКА выбор_множЛогический признак множественного выделения объектов; значение ДА позволяет множественное выделение, при значении НЕТ множественное выделение невозможно, всегда выбирается только один объект. Подробнее о режимах множественного выбора см. здесь.
ЛОГИКА выбор_колЛогический признак множественного выделения со счетчиком. Значение в поле учитывается только в случае, если значение поля "выбор_множ" равно ДА. Для коллекций и каталогизаторов выбор с количеством доступен только при использовании корзины, поле "исп_корзину" должно быть равно ДА. Подробнее о режимах множественного выбора см. здесь.
ЛОГИКА выбор_уникОпределяет уникальность вхождения объектов при выборе в каталогизаторе.
ЛОГИКА выбор_послОпределяет возможность выбора только объектов последнего уровня: ДА – можно выбирать только объекты последнего уровня, НЕТ – можно выбирать любые объекты.
ЛОГИКА абс_кодПризнак возвращения полного кода объекта аналитики. При значении ДА параметр "код" в методе ПОКАЗАТЬ принимает значение полного пути к объекту аналитики, при значении НЕТ возвращается только код последнего уровня.
ЛОГИКА разв_группЗадает возможность при выборе группы каталогизатора выбирать входящие в нее объекты. ДА – при выборе группы выбираются все входящие в нее объекты (при этом поле "элем_выбора" должно принимать значение ЭЛВ_ОБЪЕКТ или ЭЛВ_ВСЕ), НЕТ – при выборе группы объекты не выбираются.
СТРОКА элем_выбораРежим выбора элементов и групп каталогизатора, определяющий, что именно выбирается при выделении. Задается константами ЭЛВ_... ЭЛВ_ОБЪЕКТ
СТРОКА текст_окТекст на кнопке, закрывающей диалог с подтверждением выбора (по умолчанию – "Ok").
СТРОКА текст_отменаТекст на кнопке, закрывающей диалог без подтверждения изменений (по умолчанию – "Отмена").
ЦЕЛОЕ выд_состНомер текущего состояния плана аналитики, соответствует значению индекса состояния в индексной переменной "состояния".
АНАЛИТ_ЭЛЕМ выд_одиночХранит данные о последнем выбранном объекте.
СТРОКА алг_добИмя алгоритма, отвечающего за добавление каталогизатора. См. параметры алгоритма.
ЦЕЛОЕ рез_созданияИнформирует об ошибках создания диалога, приводящих к невозможности его отображения на экране. Содержит код ошибки, а в случае отсутствия ошибки 0.
СТРОКА нач_действиезадает действие, выполняемое сразу после открытия окна:
"_ADD_" – добавление,
"_EDIT_" – редактирование,
"_DEL_" – удаление;
"_SELECT_ALL_" – выделить все;
"_PRINT_" – печать;
"_PREVIEW_" – предварительный просмотр печати;
"_EXPORT_" – экспорт по умолчанию;
"_EXPORT_EXCEL_" – экспорт в MS Excel;
"_EXPORT_OOCALC_" – экспорт в OpenOffice.org Calc.
Действие выполняется по отношению к таблице или текущему выделенному элементу (редактирование, удаление). Для явного задания выделения может быть использовано поле выд_одиноч.
АНАЛИТ_СОСТ: @[] состоянияТекущий набор состояний.
АНАЛИТ_СОСТ_ПАРАМ: @[] сост_парамПараметры состояний.
АНАЛИТ_ЭЛЕМ: @[] выд_множХранит данные об объектах, выбранных при множественном выделении.
ЛОГИКА выд_для_всехОпределяет надо ли применять одиночное и множественное выделение (поля "выд_одиноч" и "выд_множ") для всех состояний (ДА) или только для состояния с номером "выд_сост" (НЕТ).
ЛОГИКА исп_парам_печатиПризнак использования параметров печати: ДА – использовать, НЕТ – не использовать, т.е. значение поля "парам_печати" игнорируется.
ПАРАМ_ПЕЧАТИ_ТАБЛИЦЫ парам_печатиПараметры печати. Используются только при показе с помощью метода ПОКАЗАТЬ_МДИ.
ЛОГИКА исп_корзинуПризнак использования выбора в корзину: ДА – использовать, НЕТ – не использовать, т.е. значение поля "парам_корзины" игнорируется. Также для использования корзины параметр выбор_множ должен иметь значение ДА. Корзина позволяет выполнять выбор элементов на разных уровнях, в отличии от обычного выделения строк в таблице. Подробнее о режимах множественного выбора см. здесь.
ПАРАМ_КОРЗИНЫ парам_корзиныПараметры корзины. Также на работу корзины влияют поля выбор_кол, выбор_уник, элем_выбора и выбор_посл. Подробнее о режимах множественного выбора см. здесь.

Методы

МетодОписание
ПОКАЗАТЬ Предназначен для вывода на экран диалогового окна для выбора объекта аналитики.
ПОКАЗАТЬ_МДИ Выводит немодальное окно для отображения плана аналитики или каталогизатора без возможности получения выбранных объектов.

Режимы множественного выбора

Начиная с версии 10.291 для отображения плана аналитики в режиме коллекции, а также для каталогизаторов, используются таблицы нового вида. Выделение строк в таблице не всегда совпадает с множественным выбором объектов или групп. Это, в частности, позволяет осуществлять выбор на разных подуровнях или в разных группах. Обычное выделение строк таблицы всегда относится только к текущему отображаемому уровню. При этом выделение строк таблицы используется для выполнения групповых действий над выделенными строками, включая команды выбора (например, увеличение и уменьшение счетчика количества).

За одиночный и множественный выбор отвечают следущие поля:

Ниже рассматривается поведение таблицы при разных комбинациях значений этих полей.

Одиночный выбор

выбор_множ = НЕТ

Значение других полей роли не играет. Множественное выделение применяется для групповых действий (удаление, вызов контекстных алгоритмов и т.п.), но не влияет на множественный выбор. Поле выд_множ не заполняется, а поле выд_одиноч заполняется в соответствии с позицией курсора.

В ситуации на картинке будет выбран объект "BK Inox 01" (выд_одиноч), а поле выд_множ останется пустым.

Выделение таблицы как множественный выбор

выбор_множ = ДА
выбор_кол = НЕТ
исп_корзину = НЕТ

Множественное выделение таблицы трактуется как множественный выбор. Этот режим не позволяет выбирать элементы на разных уровнях. Внешний вид таблицы ничем не отличается от таблицы с одиночным выбором.

В ситуации на картинке будут выбраны все три выделенных объекта (попадут в поле выд_множ).

Автоматический выбор в корзину

выбор_множ = ДА
выбор_кол = НЕТ
исп_корзину = ДА
корзина.авто_выбор = ДА

Это режим практически эквивалентен предыдущему, когда множественное выделение таблицы трактуется как множественный выбор. Отличается внешний вид таблицы, что позволяет делать выбор в линейных таблицах (без подуровней) внешне похожим на выбор в корзину на разных уровнях. Использование корзины добавляет служебный столбец, в котором отображается текущий выбор в виде включенных опций. Автоматический выбор означает, что выделенные строки считаются выбранными, а не выделенные - не выбранными, что для наглядности иллюстрируется опциями. Клик мышкой в опцию ничего не делает.

В ситуации на картинке будут выбраны все три выделенных объекта (попадут в поле выд_множ).

Ручной выбор в корзину

выбор_множ = ДА
выбор_кол = ДА
исп_корзину = ДА
корзина.авто_выбор = НЕТ

Этот режим похож на предыдущий, но каждому выбранному объекту сопоставляется счетчик количества. Количество 0 означает, что объект не выбран. Максимальное значение счетчика 99. В этом режиме выделение в таблице и множественный выбор - ортогональные вещи. Выделение таблицы может использоваться для управления выбором в корзину. Можно выбирать элементы на разных уровнях. Выбор или нажатим клавиш Ctrl+Plus или Ins. Выбор отменяется клавишами Ctrl+Minus или Del. Клик левой кнопкой мыши по опции переключает ее состояние. Переключение состояния также возможно клавишами Ctrl+*. Команды выбора с помощью клавиатуры применяются ко всем выделенным в таблице строкам.

На картинке видно, что есть два выбранных объекта, но их строки не выделены, а выделенная строка не выбрана. Кроме того, число 3 на картинке корзины говорит о том, что на другом уровне выбран еще один объект. При клике по картинке корзины открывается диалоговое окно, показывающее ее содержимое:

Кроме двух объектов на ветке "Товары", выбран еще объект на ветке "Работы". В поле выд_множ попадет все содержимое корзины.

Ручной выбор в корзину со счетчиком

выбор_множ = ДА
выбор_кол = ДА
исп_корзину = ДА
корзина.авто_выбор = НЕТ

Это единственная комбинация параметров, для которой поддерживается счетчик количества в таблицах нового вида. В этом режиме выделение в таблице и множественный выбор - ортогональные вещи. Выделение таблицы может использоваться для управления выбором в корзину и изменения значения счетчика. Можно выбирать элементы на разных уровнях. В столбце корзины отображается значение счетчика и картинки [-] и [+], левый клик по которым изменяет значение счетчика. Увеличение счетчика выполняется также нажатием клавиш Ctrl+Plus или Ins, а уменьшение - клавишами Ctrl+Minus или Del. Также изменение счетчика возможно колесом мыши при удержании клавиши Shift. Команды изменения счетчика с помощью клавиатуры и колеса мыши применяются ко всем выделенным в таблице строкам.

На картинке видно, что есть два выбранных объекта с количеством 3 и 5. На картинке корзины отображается 8 - сумма всех счетчиков. При клике по картинке корзины открывается диалоговое окно, показывающее ее содержимое:

В поле выд_множ попадет все содержимое корзины со значениями счетчика количества.

См. также: