Bes, вот тебе решение вопроса по совместимости.
Вместо SN:O функцию делаешь
!?FU(bes_GetObjectEntrance); получить вход объекта
!#VA(x:x) (y:x) (z:x);
!#VA(resX:x) (resY:x) (resZ:x);
; получить версию Эры, если >= 3100, например, то
!!SN:O?(x)/?(y)/?(z)
+ скопировать x, y, z в resX, resY, resZ
иначе вызвать ЕРМ функцию от Хероманта или кого-либо ещё.