Имеються два предложения, которые работают с базой данных 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 |
|