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

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

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

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

Параметры

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

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

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

Замечание

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

Таблица правил получения номеров операций из кэша

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

См. также: