Не совсем ясно, не нарушу ли я логику MAV, если буду использовать просто Автоинкремент. Или без NEXTREF никак И как его, NextRef , использовать в таких рукописных ситуациях, пример ниже
! найти запись (отношение 1:1)
Код: Выделить всё
IF MAVLoad('SELECT o.Nid, o.N_ID_Items, o.NWARES FROM MAVT_OstatkiAll AS o WHERE o.N_ID_Items='& SETUP:N_OutItems &' AND o.NWARES='& BRW4.Q.WAR:NWARES , Result1, Result2, Result3)
!MAVSHOWERROR
! запись не найдена - создаем новую
MAVLOGOUT
SQLOstatkiAll:Nid = '' ! Автоинкремент
SQLOstatkiAll:N_ID_Items = SETUP:N_OutItems
SQLOstatkiAll:NWARES = BRW4.Q.WAR:NWARES
SQLOstatkiAll:Ostatok = BRW4.Q.WAR:EditOstat
IF MAVINSERT(SQLOstatkiAll)
MAVSHOWERROR
END
MAVCOMMIT
ELSE ! запись найдена
SQLOstatkiAll:Nid = Result1 ! o.Nid
IF MAVGET(SQLOstatkiAll)
ELSE
SQLOstatkiAll:Ostatok = BRW4.Q.WAR:EditOstat
IF MAVUPDATE(SQLOstatkiAll)
MAVSHOWERROR
ELSE
END
END
END