Всем доброго времени суток!
Ax2009 RU5.
Выявилась следующая проблема:
у пользователя задана определенная начальная компания, скажем "К1", в параметрах пользователя (Сервис \ Параметры) и эта же компания указана для пользователя в справочнике пользователей (Администрирование \ Обычные формы \ пользователи). Как я думал, при входе в систему, по умолчанию у пользователя должна открываться та компания, которая задана в параметрах в поле "Начальная компания", и вроде так раньше и было. Но сейчас наткнулся, что всегда открывается другая компания, например "К2", не зависимо от выполлненных мной настроек в параметрах пользователя.
Сделал: удалил кэш аосов, сбросил данные пользователя - не помогло.
Посмотрел: посмотрел методы startUp() и startUpPost() класса Info, в них никаких доработок. Не верная компания в системе числится уже на момент выполлнения метода startUp().
На голом стандарте компания подтягивается нормально, в соответствии с настройками в параметрах пользователя. Сравнил класс info() голого стандарта и приложения где не правильная компания при входе, нет никаких различий связанных с запуском системы.
Нашел в методе startUp() вызов метода checkStartupCompany(), в котором вызывается статический метод checkStartupCompany_Server(), где уже выполняется проверка текущей компании и компании указанной в параметрах пользователя, и в случае их не совпадения выставляется компания из настроек пользователя. НО перед выполнением проверки и простановки компании есть условие:
X++:
if (!hasMenuItemAccess(menuitemdisplaystr(SysDataAreaSelect), MenuItemType::Display) ||
!hasMenuItemAccess(menuitemdisplaystr(SysDataArea), MenuItemType::Display))
которое не отрабатывает, и соответственно компания не исправляется. Можно было бы грешить на этот метод, но есть ещё одно НО. То же самое происходит и на голом стандарте, где начальная компания правильная!
Люди, подскажите, в чем проблема? куда рыть? что сделать? Я, если честно, уже не представляю куда ещё посмотреть и что сделать
З.Ы. одно уточнение. SolutionVersion голого стандарта, с которым я сверял свое приложение, отличается от SolutionVersion моего приложения. Они оба RU5, но цифры в конце разные. Я уже начинаю думать на это...