В общем написал я вот такой скрипт
Код: Выделить всё
#param /linc:d:\viperprojekt\autoexec.vpp
#setcurenv "galnet" from 'c:\GAL810\exe\';
#define ComponentVersion
#include GALNET.CCM
#Component "L_SOPRDOC"
alter interface AKTREC;
tableEvent table SPSOPR
cmPick:
{
var cmc:comp
case curfield of
#NAMEMCUSL:
{
if runinterface (L_MCU::GETMC,cmc) = cmdefault and cmc != 0
{
if spsopr.cmcusl = 0
{
spsopr.cmcusl:=cmc;
insert current spsopr;
}
else
{
spsopr.cmcusl:=cmc;
update current spsopr;
}
rereadrecord(#spsopr);
stop;
}
} else if(inherited::HandleEvent(cmPick) = heOk) {}
end;
}
end;
end.
Попробовал с оператором RecordExists
Код: Выделить всё
#param /linc:d:\viperprojekt\autoexec.vpp
#setcurenv "galnet" from 'c:\GAL810\exe\';
#define ComponentVersion
#include GALNET.CCM
#Component "L_SOPRDOC"
alter interface AKTREC;
tableEvent table SPSOPR
cmPick:
{
var cmc:comp
case curfield of
#NAMEMCUSL:
{
if runinterface (L_MCU::GETMC,cmc) = cmdefault and cmc != 0
if spsopr.cmcusl = 0
{
spsopr.cmcusl:=cmc;
if RecordExists spsopr !=tsOK
then insert current spsopr;
else
update current spsopr;
rereadrecord(#spsopr);
stop;
}
else if(inherited::HandleEvent(cmPick) = heOk) {}
}
end;
}
end;
end.
Подскажите как можно доработать чтобы все было ок