Кому всётаки интересно решение:
\Classes\Application\setDefaultCompany
X++:
......................................................................
}
#define.WarnFlag(0x08)
if (dialog && new Session().clientKind() != ClientType::COMObject)
{
if (thisCompany != _selectableDataArea)
{
if (!cache.get(classstr(info), identifierstr(Autologoff), false))
{
select userInfo
where userInfo.id == curUserId();
if (userInfo && userInfo.generalInfo & #warnFlag)
warning(strFmt("@SYS53441", _selectableDataArea));
}
}
}
if(SecurityKeySet::getMenuItemAccess(menuitemdisplaystr(SystemDate), MenuItemType::Display) <= AccessType::View)
{
if(getServerDate() != systemdateget())
{
warning(strfmt("Дата изменена с %1 на %2", systemdateget(), getServerDate()));
systemdateset(getServerDate());
}
}
inventDim::findOrCreateBlank();
........................................
\Forms\SystemDate\Methods\init
X++:
void init()
{
;
if(SecurityKeySet::getMenuItemAccess(menuitemdisplaystr(SystemDate), MenuItemType::Display) == AccessType::NoAccess)
{
throw error("Нет прав для этой операции");
}
super();
machineDate.dateValue(today());
machineTime.value(timenow());
systemDateOrig = systemdateget();
newDate.dateValue(systemDateOrig);
if(SecurityKeySet::getMenuItemAccess(menuitemdisplaystr(SystemDate), MenuItemType::Display) == AccessType::View)
{
NewDate.allowEdit(false);
}
}
Пока что лучше не нашлось.