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

Функция КЭШ_ДИАЛОГ_АНАЛИТ

Функция КЭШ_ДИАЛОГ_АНАЛИТ позволяет получить список кодов объектов аналитики, ассоциированных с окном плана аналитики. Получение может осуществляться в алгоритмах, которые вызываются во время показа окна. При листании таблицы объектов кэш заполняется и может содержать тысячи объектов. Для каждого окна плана аналитики платформа генерирует уникальный строковый идентификатор. Этот идентификатор передается в алгоритмы с помощью поля АНАЛИТ_КОНТЕКСТ.экземпляр.

ФУНКЦИЯ ЛОГИКА: КЭШ_ДИАЛОГ_АНАЛИТ(СТРОКА: экземпляр;
                                  ПЕРЕМ СТРОКА: список[];
                                  ЦЕЛОЕ: макс_кол = 0;
                                  СТРОКА: код = "")

Параметры

экземпляр
Строковый идентификатор окна.
список
Выходной параметр, список кодов объектов в клиентском кэше. Всегда возвращаются полные коды объеектов. Если объектов на уровне плана аналитики много, то кэш содержит лишь часть объектов. Для каталогизаторов возвращаются коды объектов, относящихся к текущей группе. Для группы каталогизатора возвращаются все коды, независимо от количества объектов в группе. Коды возвращаются в порядке следования строк сверху вниз. Т.е. для группы каталогизатора порядок в списке зависит от режима сортировки. Для коллекций коды идут в порядке возрастания, вне зависимости от порядка строк.
макс_кол
Необязательный параметр. Максимальное количество кодов объектов. Позволяет ограничить количество возвращаемых кодов указанным количеством самых последних, к которым было обращение в экранном кэше. Параметр учитывается только для таблиц, использующих коллекции объектов аналитики. Для других видов таблиц или при указании 0 (по умолчанию) возвращаются все коды, содержащиеся в кэше. Подробности см. в таблице ниже.
код
Необязательный параметр. Опорный код объекта аналитики для получения из кэша кодов в близких строках. Если этот параметр не указан или указан пустой строкой, то возвращаются коды объектов, к которым были самые недавние обращения в кэше. Параметр учитывается только для таблиц, использующих коллекции объектов. Подробности см. в таблице ниже.

Возвращаемое значение

ДА – в случае успешного выполнения, НЕТ – в случае ошибки.

Замечание

В таблицах коллекций объектов поддерживается режим последовательного сканирования, для которого создается отдельный кэш с особыми правилами работы. Режим последовательного сканирования применяется при печати, экспорте, поиске текста, копировании строк таблицы в буфер обмена и др. При вызове функции КЭШ_ДИАЛОГ_АНАЛИТ автоматически определяется контекст вызова – для отображения на экране или для режима сканирования. Особенности поведения в зависимости от режима и значений параметров макс_кол и код приведены в таблице ниже.

Таблица правил получения кодов объектов из кэша

Значения параметров Экранный кэш Кэш сканирования
макс_кол <= 0,
код – не играет роли
(по умолчанию)
Все известные (загруженные в кэш) коды объектов. Их может быть много. Все коды объектов из кэша сканирования. В одном блоке сканирования содержится не более 200 объектов (для печати и экспорта) и еще меньше для поиска и других задач.
макс_кол > 0,
код = ""
Не более макс_кол кодов объектов, к которым были недавние обращения. Не более макс_кол кодов объектов от начала текущего блока сканирования. Не более размера блока – 200 (для печати и экспорта) и еще меньше для поиска и других задач.
макс_кол > 0,
код <> ""
Коды объектов макс_кол/2 вверх от указанного, макс_кол/2 вниз от указанного (до первого объекта, которого нет в кэше). Код указанного объекта включается в список. Если указанный код не найден в кэше, то возвращается пустой список. Коды объектов макс_кол вперед от указанного (но не далее конца блока). Код указанного объекта включается в список. Если указанный код не найден в текущем блоке, то возвращается пустой список.

См. также: