Имеються два предложения, которые работают с базой данных Paradox. Отдельно они работают нормально. В первом приложении идет рассчет НДС, но т.к. используемый НДС разный, он считает все по одному, тот что указан в первой строке. Нужно чтобы первое приложение считало так же... Не могу никак сделать, выдает всегда ошибку Answer не найден.
текст 1й:

PROC SF_pr()
PRIVATE BL
SHOWPULLDOWN
ENDMENU
if sf_ot() then

VIEW "ARCH"
MOVETO [N_SF]
LOCATE NSF
IF NOT RETVAL THEN
CLEARALL
Query

Glav | N_СДЕЛ | N_КЛИЕНТ |  ДАТА  |  ТИП   | СТОИМОСТЬ |
      | _N!    | _K       | Check  | Check  | Check     |

Glav | N_АВТ  |   ФО   |    ОПЛ     | КОР_СЧ |
      | Check  | Check  | Check ~NSF | Check  |

Sdelka | N_СДЕЛ | НАИМЕНОВАНИЕ | КОЛ-ВО |           ЦЕНА            |
        | _N     | Check _NA    | Check  | Check CALC BLANK AS "ТОВ" |

Sdelka |
        |

Klient | N_КЛИЕНТ |  ИМЯ   |  ИНН   | АДРЕС  |  ТЕЛ   |
        | _K       | Check  | Check  | Check  | Check  |

Endquery
DO_IT!
IF ISEMPTY("ANSWER") THEN

BEEP
MESSAGE " Неправильный номер счета-фактуры. Проверьте ввод"
SLEEP 3000
MESSAGE ""
MAINMENU()
RETURN
ENDIF
;IF [ТИП]="ОТГ.ПР" OR [ТИП]="СЕКЦИИ" THEN
CLEARALL
Query

Answer |  ДАТА  |  ТИП   | СТОИМОСТЬ | N_АВТ  |   ФО   |  ОПЛ   |
        | Check  | Check  | Check     | Check  | Check  | Check  |

Answer | КОР_СЧ | НАИМЕНОВАНИЕ | КОЛ-ВО |  ЦЕНА  |  ИМЯ   |  ИНН   |
        | Check  | Check _NA!   | Check  | Check  | Check  | Check  |

Answer | АДРЕС  |  ТЕЛ   |       ТОВ            |
        | Check  | Check  |  CALC BLANK AS "ТОВ" |

Fruct | НАИМЕНОВАНИЕ | СТРАНА | N_DEKL |
       | _NA          | Check  | Check  |

Endquery
do_it!
IF [ТИП]="ОТГ.ПР" OR [ТИП]="СЕКЦИИ" THEN
CLEARALL
Query

Answer | ОПЛ | НАИМЕНОВАНИЕ |
        | _N  | _NA          |

Answer | СТРАНА | N_DEKL |
        | _S     | _ND    |

  Arch  | N_SF | НАИМЕНОВАНИЕ | СТРАНА | N_DEKL |
INSERT | _N   | _NA          | _S     | _ND    |

Endquery
DO_IT!
CLEARALL
Query

Arch |     N_НАКЛ      |    N_SF        |
      | _K,CHANGETO _NA | _N ,NOT BLANK  |

Glav | N_НАКЛ |      ОПЛ      |
      | _NA    | _N ,NOT BLANK |

Endquery
DO_IT!
ENDIF
CLEARALL
VIEW "ANSWER"
ELSE
Query

Glav | N_СДЕЛ | N_КЛИЕНТ |  ДАТА  |  ТИП   | СТОИМОСТЬ |
      | _N!    | _K       | Check  | Check  | Check     |

Glav | N_АВТ  |   ФО   |    ОПЛ     | КОР_СЧ |
      | Check  | Check  | Check ~NSF | Check  |

Sdelka | N_СДЕЛ | НАИМЕНОВАНИЕ | КОЛ-ВО |           ЦЕНА            |
        | _N     | Check        | Check  | Check CALC BLANK AS "ТОВ" |

Sdelka |
        |

Klient | N_КЛИЕНТ |  ИМЯ   |  ИНН   | АДРЕС  |  ТЕЛ   |
        | _K       | Check  | Check  | Check  | Check  |

Endquery
DO_IT!
RENAME "ANSWER" "TEMP1"
CLEARALL
Query

Arch | N_SF | НАИМЕНОВАНИЕ | СТРАНА | N_DEKL |
      | ~NSF | Check        | Check  | Check  |

Endquery
DO_IT!
CLEARALL
Query

Temp1 |  ДАТА  |  ТИП   | СТОИМОСТЬ | N_АВТ  |   ФО   |  ОПЛ   |
       | Check  | Check  | Check     | Check  | Check  | Check  |

Temp1 | КОР_СЧ | НАИМЕНОВАНИЕ | КОЛ-ВО |  ЦЕНА  |  ИМЯ   |  ИНН   |
       | Check  | Check _NA!   | Check  | Check  | Check  | Check  |

Temp1 | АДРЕС  |  ТЕЛ   |          ТОВ         |
       | Check  | Check  |  CALC BLANK AS "ТОВ" |

Answer | НАИМЕНОВАНИЕ | СТРАНА | N_DEKL |
        | _NA          | Check  | Check  |

Endquery
DO_IT!
ENDIF
EDITKEY
IF [ДАТА]<=26.02.2000 THEN
SCAN
[СТРАНА]=""
[N_DEKL]=""
ENDSCAN
ENDIF
DO_IT!
;DEBUG
IF ISEMPTY("ANSWER") THEN

BEEP
MESSAGE " Неправильный номер счета-фактуры. Проверьте ввод"
SLEEP 3000
MESSAGE ""
MAINMENU()
RETURN
ENDIF
SWITCH
CASE ([ТИП]="СЕКЦИИ" OR [ТИП]="ОТГ.ПР"):
IF [КОР_СЧ]=1 THEN
EDITKEY
MOVETO [ЦЕНА]
SCAN
[ОПЛ]=[]
[]=ROUND([]/((1+NDSF)*(1+NPR)),2)
[ТОВ]=ROUND([ЦЕНА]*[КОЛ-ВО]*NDSF,2)
ENDSCAN
DO_IT!
COPYREPORT "T360" 7 "ANSWER" 1
MAKEREP()
MAKEREP()
ELSE
EDITKEY
MOVETO [ЦЕНА]
SCAN
A=[]
[]=IIF([ФО]="ФРУКТЫ",ROUND([]/(1+ndsf),2),ROUND([]/(1+ndso),2))
[ТОВ]=[КОЛ-ВО]*(A-[ЦЕНА])
ENDSCAN
do_it!
COPYREPORT "T360" 6 "ANSWER" 1
MAKEREP()
MAKEREP()
ENDIF
CASE [ТИП]="ТАРИФ":
if pert() then
COPYREPORT "T360" 2 "ANSWER" 1
MAKEREP()
MAKEREP()
endif
CASE [ТИП]="ВОЗНАГ":
if pert() then
COPYREPORT "T360" 3 "ANSWER" 1
MAKEREP()
MAKEREP()
endif
CASE [ТИП]="ПРЕДОП":
COPYREPORT "T360" 4 "ANSWER" 1
MAKEREP()
MAKEREP()
ENDSWITCH

ENDIF
clearall
echo normal
echo off
MAINMENU()
ENDPROC



второй:

PROC SF_TEP()
PRIVATE NF,NO,A1,A2,NDSF,NDSO,CC,S_PR
SHOWPULLDOWN
ENDMENU
NF=18
NO=10
if na_ot() then
MESSAGE "Wait,please... Происходит формирование накладной "

Query

Glav | N_СДЕЛ |  ДАТА  | СТОИМОСТЬ |  N_НАКЛ   |  ОПЛ   |
      | _N     | Check  | Check     | Check ~NA | Check  |

Glav |
      |  

Sdelka | N_СДЕЛ | НАИМЕНОВАНИЕ | КОЛ-ВО |  ЦЕНА  |
        | _N     | Check _K     | Check  | Check  |

Fruct | НАИМЕНОВАНИЕ | СТРАНА | N_DEKL |   FO   |
       | _K           | Check  | Check  | Check  |

Endquery
DO_IT!
IF ISEMPTY("ANSWER") THEN
BEEP
MESSAGE " Неправильный номер накладной. Проверьте ввод."
SLEEP 3000
MESSAGE ""
MAINMENU()
RETURN
ENDIF
Query

Answer |  ДАТА | СТОИМОСТЬ |                                             N_НАКЛ                                             |
        | Check | Check     | Check _N, CALC _N*0 AS CEN1, CALC _N*0 AS S1, CALC _N*0 AS ST, CALC _N*0 AS SN,CALC _N*0 AS SO |

Answer |  ОПЛ   | НАИМЕНОВАНИЕ | КОЛ-ВО |  ЦЕНА  | СТРАНА | N_DEKL |
        | Check  | Check        | Check  | Check  | Check  | Check  |

Answer |   FO   |
        | Check  |

Endquery
DO_IT!
CLEARALL
EDIT "ANSWER"
SCAN
[ST]=IIF([FO]="Ф",NF,NO)
[CEN1]=ROUND([ЦЕНА]/([ST]/100+1),2)
[S1]=ROUND([ЦЕНА]*[КОЛ-ВО]/([ST]/100+1),2)
[SN]=ROUND([ЦЕНА]*[КОЛ-ВО]/([ST]/100+1)*[ST]/100,2)
[SO]=ROUND([ЦЕНА]*[КОЛ-ВО],2)
ENDSCAN
DO_IT!
COPY "ANSWER" "TEMP"
VIEW "ANSWER"
CC=[ANSWER->СТОИМОСТЬ]
PEREV(CC)
S_PR=PR
CLEARALL
;debug
Query

Temp | FO |        SN        |
      | Ф  | CALC SUM AS NDSF |

Temp |
      |

Endquery
DO_IT!
IF ISEMPTY("answer") THEN NDSF="" ELSE
a1=int([ndsf])
a2=round(100*([ndsf]-int([ndsf])),2)
ndsf="НДС 18%-"+ strval(a1)+" руб."+ IIF(A2=0, "00",strval(a2))+" коп."
ENDIF
CLEARALL
Query

Temp | FO |        SN        |
      | О  | CALC SUM AS NDSO |

Temp |
      |

Endquery
DO_IT!
IF ISEMPTY("answer") THEN NDSO="" ELSE
a1=int([ndso])
a2=round(100*([ndso]-int([ndso])),2)
ndso="НДС 10%-"+ strval(a1)+" руб."+ IIF(A2=0, "00",strval(a2))+" коп."
ENDIF
clearall
copy "temp" "answer"

MESSAGE ""
COPYREPORT "T302" 1 "ANSWER" 1
MAKEREP()
CLEARALL
MESSAGE "Wait,please... Происходит формирование счета-фактуры. "
SLEEP 500
MESSAGE ""
COPYREPORT "T302" 3 "ANSWER" 1
MAKEREP()
ENDIF
clearall
echo normal
echo off
MAINMENU()
ENDPROC