Кстати. Для Ax30 была рекомендация при смене компании обнулять переменную, то есть, делать что-то подобное:
X++:
changeCompany('XXX') {
{
custTable = null;
}
В DAX4 часто этого недостаточно. Если только что искали запись по коду и после этого переключились в другую компанию и ищем по тому же коду, то обнуление переменной может не сработать!!! Как-то странно работает кэш. Не знаю как в 2009, но в DAX4 кроме обнуления переменной нужно еще запретить кеширование, то есть делать что-то подобное:
X++:
changeCompany('XXX') {
{
custTable = null;
custTable.disabeCash(true);
}
Причем, обнаружил эту особенность на таблице InventTrans, которая вообще не кэшируется! Получилось так, что в результате работы механизма Интеркомпани - получлось так, что лот в одной компании (по которому только что был произведен поиск, совпал с лотом в другой компании, для которой ищем лот). Если в одной компании нашли лот, то после переключения на другую компанию этот лот не ищется, а возвращается запись из первой компании!!!
После этого взял в привычку после переключения компаний запрещать кеширование. В нашем коде нет проблем, а в стандартном делам это по мере обнаружения проблем. Так что, залезь в код импорта и вставиь в нужные места для переменной записи перед её заполнением
.disableCash(true).