INVALIDATECACHE — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 2: Строка 2:
 
|Название=INVALIDATECACHE
 
|Название=INVALIDATECACHE
 
|Описание=Инвалидирует кэш
 
|Описание=Инвалидирует кэш
|Синтаксис=INVALIDATECACHE('''Тип объекта''')
+
|Синтаксис=INVALIDATECACHE('''Тип объекта''', Код объекта)<br>
 +
или<br>
 +
INVALIDATECACHE('''"IDMAP"''')
 
|Аргументы=
 
|Аргументы=
 
{{Аргумент
 
{{Аргумент
 
  |Название=Тип объекта
 
  |Название=Тип объекта
  |Пояснение=Код [[Типы объектов ГБ|типа объекта ГБ]], для которого требуется обновить кэш
+
  |Пояснение=Код [[Типы объектов ГБ|типа объекта ГБ]], для которого требуется обновить кэш. Если вместо типа задана строка '''"IDMAP"''', то кэш обновится для сопоставлений (objectsmap)
 +
}}
 +
{{Аргумент
 +
|Название=Код объекта
 +
|Пояснение=Код объекта, необязательный параметр. Если не задан, то кэш инвалидируется для всех объектов заданного типа
 
}}
 
}}
 
|Результат=Нет
 
|Результат=Нет
|Пример=Обновить кэш для товаров (тип "1") перед обновлением отчёта
+
|Пример=Обновить кэш для всех объектов с типом "товар" (тип "1") перед обновлением отчёта:
 
  InvalidateCache(1),
 
  InvalidateCache(1),
 
  ProcessCommand(
 
  ProcessCommand(
Строка 15: Строка 21:
 
   ``,
 
   ``,
 
   'REFRESH'
 
   'REFRESH'
 +
)
 +
 +
Обновить кэш для сопоставлений:
 +
InvalidateCache(`IDMAP`),
 +
IfEmpty(
 +
  MapGbId(0, :var.HPart60, 50, 1),
 +
  Info(`Нет сопоставления с внешним справочником`)
 
  )
 
  )
 
}}
 
}}

Версия 13:11, 30 мая 2018

Инвалидирует кэш

Синтаксис

INVALIDATECACHE(Тип объекта, Код объекта)
или
INVALIDATECACHE("IDMAP")

Аргументы

Тип объекта
Код типа объекта ГБ, для которого требуется обновить кэш. Если вместо типа задана строка "IDMAP", то кэш обновится для сопоставлений (objectsmap)
Код объекта
Код объекта, необязательный параметр. Если не задан, то кэш инвалидируется для всех объектов заданного типа

Тип результата

Нет

Примеры

Обновить кэш для всех объектов с типом "товар" (тип "1") перед обновлением отчёта:

InvalidateCache(1),
ProcessCommand(
  `CURRENT`,
  ``,
  'REFRESH'
)

Обновить кэш для сопоставлений:

InvalidateCache(`IDMAP`),
IfEmpty(
  MapGbId(0, :var.HPart60, 50, 1),
  Info(`Нет сопоставления с внешним справочником`)
)