[s] \Classes\ClassFactory\globalCache 6
[s] \Classes\BookDataCalc_RU\datePeriodBook 4
[s] \Classes\CustPrepaymentFactureCreate_RU\check 33
[s] \Classes\CustPrepaymentFactureCreate_RU\run 14
[s] \Classes\CustPrepaymentFactureCreate_RU\newFromForm 8
[c] \Forms\CustPrepaymentFactureCreate_RU\Methods\createFacture 4
[c] \Classes\FormButtonControl\Clicked 4
@SYS95262 = "Поле Дата фактуры должно быть установлено на значение между и ."
В методе \Classes\CustPrepaymentFactureCreate_RU\check \
X++:
[fromDate, toDate] = BookDataCalc_RU::datePeriodBook(salesBookTable.ClosingDate + 1);
if (factureDate < fromDate || factureDate > toDate)
{
ret = checkFailed(strfmt("@SYS95262", "@GEE4832", fromDate, toDate));
}
переходит в \Classes\BookDataCalc_RU\
datePeriodBook
X++:
SysGlobalCache cache = classfactory.globalCache();
Map taxPeriodMap = cache.get(classstr(BookDataCalc_RU), identifierstr(TaxPeriodMap), null);
Вытягивается map
TaxPeriodMap из глобального кеша.
чуть ниже,
TaxPeriodMap заполняется при первом значении
X++:
if (! taxPeriodMap.exists(_dt))
{
taxPeriod = TaxReportPeriod::datePeriodPurchSalesBook_RU(_dt);
taxPeriodMap.insert(_dt, taxPeriod);
cache.set(classstr(BookDataCalc_RU), identifierstr(TaxPeriodMap), taxPeriodMap);
}
Как можно почистить этот "globalCache" и в каких случаях это не рекомендуется делать?