В целом тему попытался как смог изучил, облазил форумы, перечитал документацию. Ответа на не нашел, полагаю что такое сделать не реально, но для успокоения души, все же хочу поинтересоваться. Возможно ли преждевременная остановка приложения (скрипта). Например, вот код:
вот там где комментарий, как то можно тормазнуть выполнение?
Я понимаю, что можно все это обойти с помощью IF, но это самый простой код, как правило все значительно сложнее.
предвкушая следующий , сразу отвечаю, эти prg-ешки запускаются у меня из под командной строки:
BIN\SCLAD.EXE /feMyFile.prg /L000001
Код |
---|
PRIVATE aPRO, aDogovorID, st PRIVATE avID, avType, aScladID, aCodeDoc, aNumDoc, aDate avID:="2" avType:="1" aScladID:="000001" aCodeDoc:="001" aNumDoc:="918960" aDate:="20090402" aDogovorID:=99 aPRO:=0 NETUSE('hmdoc',LoadPath()+"sclad\mdoc.dbf") DBSELECTAREA("hmdoc") ORDSETFOCUS("MDOC_D") IF DBSEEK(UPPER(aScladID+avID+avType+aDate+aCodeDoc+aNumDoc)) aPRO:=hmdoc->pro RECLOCK() hmdoc->DogovorID:=aDogovorID F_DBUNLOCK() ENDIF DBCLOSEAREA() IF aPRO=0 // Здесь я ХОЧУ, что бы программа закончила свою работу // Но не RETURN, не другие точки останова не помогают // Программа все равно продолжает далее работать... ELSE NETUSE('hmain',LoadPath()+"main.dbf") DBSELECTAREA("hmain") ORDSETFOCUS("TAG_NNOPER") IF DBSEEK(aPRO) DO WHILE !EOF().AND.hmain->nnoper=aPRO RECLOCK() hmain->DogovorID:=aDogovorID F_DBUNLOCK() DBSKIP() ENDDO ENDIF DBCLOSEAREA() ENDIF SAYANDWAIT("-TRUE-") |
вот там где комментарий, как то можно тормазнуть выполнение?
Я понимаю, что можно все это обойти с помощью IF, но это самый простой код, как правило все значительно сложнее.
предвкушая следующий , сразу отвечаю, эти prg-ешки запускаются у меня из под командной строки:
BIN\SCLAD.EXE /feMyFile.prg /L000001