Функция КЭШ_ДИАЛОГ_ЖУРН
Функция КЭШ_ДИАЛОГ_ЖУРН позволяет получить список номеров операций, ассоциированных с окном журнала. Получение может осуществляться в алгоритмах, которые вызываются во время показа окна. При листании таблицы операций кэш заполняется и может содержать тысячи операций. Для каждого окна журнала платформа генерирует уникальный строковый идентификатор. Этот идентификатор передается в алгоритмы с помощью поля ОПЕР_КОНТЕКСТ.экземпляр.
ФУНКЦИЯ ЛОГИКА: КЭШ_ДИАЛОГ_ЖУРН(СТРОКА: экземпляр;
ПЕРЕМ ЦЕЛОЕ: список[];
ЦЕЛОЕ: макс_кол = 0;
ЦЕЛОЕ: номер = 0)
Параметры
- экземпляр
- Строковый идентификатор окна.
- список
- Выходной параметр, список номеров операций в клиентском кэше. Если в выборке журнала содержится много операций, то кэш содержит лишь фрагмент выборки. Номера операций возвращаются в порядке следования строк сверху вниз. Т.е. порядок в списке зависит от режима сортировки. Для коллекций номера операций идут в порядке возрастания, вне зависимости от порядка строк.
- макс_кол
- Необязательный параметр. Максимальное количество номеров операций. Позволяет ограничить количество возвращаемых номеров операций указанным количеством самых последних, к которым было обращение в экранном кэше. Параметр учитывается только для таблиц, использующих коллекции операций. Для других видов таблиц или при указании 0 (по умолчанию) возвращаются все номера операций, содержащиеся в кэше. Подробности см. в таблице ниже.
- номер
- Необязательный параметр. Опорный номер операции для получения из кэша номеров операций в близких строках. Если этот параметр не указан или указан нулевым, то возвращаются номера операций, к которым были самые недавние обращения в кэше. Параметр учитывается только для таблиц, использующих коллекции операций. Подробности см. в таблице ниже.
Возвращаемое значение
ДА – в случае успешного выполнения, НЕТ – в случае ошибки.
Замечание
В таблицах коллекций операций поддерживается режим последовательного сканирования, для которого создается отдельный кэш с особыми правилами работы. Режим последовательного сканирования применяется при печати, экспорте, поиске текста, копировании строк таблицы в буфер обмена и др. При вызове функции КЭШ_ДИАЛОГ_ЖУРН автоматически определяется контекст вызова – для отображения на экране или для режима сканирования. Особенности поведения в зависимости от режима и значений параметров макс_кол и номер приведены в таблице ниже.
Таблица правил получения номеров операций из кэша
| Значения параметров | Экранный кэш | Кэш сканирования |
|---|---|---|
| макс_кол <= 0, номер – не играет роли (по умолчанию) |
Все известные (загруженные в кэш) номера операций. Их может быть много. | Все номера операций из кэша сканирования. В одном блоке сканирования содержится не более 200 операций (для печати и экспорта) и еще меньше для поиска и других задач. |
| макс_кол > 0, номер <= 0 |
Не более макс_кол номеров операций, к которым были недавние обращения. | Не более макс_кол номеров операций от начала текущего блока сканирования. Не более размера блока – 200 (для печати и экспорта) и еще меньше для поиска и других задач. |
| макс_кол > 0, номер > 0 |
Номера операций макс_кол/2 вверх от указанной, макс_кол/2 вниз от указанной (до первой операции, которой нет в кэше). Номер указанной операции включается в список. Если указанный номер не найден в кэше, то возвращается пустой список. | Номера операций макс_кол вперед от указанной (но не далее конца блока). Номер указанной операции включается в список. Если указанный номер не найден в текущем блоке, то возвращается пустой список. |