* LF.PRG * MENU PRINCIPAL #include "sqlrdd.ch" #include "firebird.ch" #define ETX chr(3) #define CR chr(13) #define LF chr(10) request HB_GT_WVT REQUEST SQLRDD // SQLRDD should be linked in REQUEST SR_FIREBIRD // Needed if you plan to use native connection to Firebird * REQUEST DBFNTX FUNCTION MAIN() DESC := "" //RetornaConteudoXml() VERCONFIG() INKEY(0) CLS SET TALK OFF SET WRAP ON SET DELE ON SET DATE BRIT SET SCOREBOARD OFF SET CONFIRM OFF SET EPOC TO 2000 SET CENTURY ON *freetslice(20) OPCAO = 1 nCnn := -1 DBOX=CHR(218)+CHR(196)+CHR(191)+CHR(179)+CHR(217)+CHR(196)+CHR(192)+CHR(179) PUBLIC DBOX,OPCAO REST FROM LFISCAL.DBF ADDI IF TYPE("KESCRIT")="U" KESCRIT= space(43) ENDIF PUBLIC PROPAG XBOM=SOUNDEX(KEMPRESA) XBOM= XBOM+ LTRIM(STR(VAL(SUBSTR(KCGC,4,3))+VAL(SUBSTR(KCGC,8,3)),3,0))+"0" XBOM= XBOM+ SUBSTR(KIE,2,1)+"J" XBOM= XBOM+ SUBSTR(KCGC,4,3)+"A" XBOM= XBOM+ SUBSTR(KIE,5,1)+"I" ** ROTINA QUE FAZ A LEITURA DO ARQUIVO EXE VARIFICAR A VALIDADE DA DA SENHA** *ESOUD = SOUNDEX( KESCRIT ) *FHANDLE = FOPEN( "LF.EXE" ) *THE_NUMBER = GETSERIAL( FHANDLE, 4 ) /* IF XBOM<>KBOM && .OR. ! ESOUD == THE_NUMBER CLEAR SCREEN @ 10,10 SAY "Erro na leitura dos arquivos." @ 11,10 SAY "Codigo do erro: 7" @ 12,10 SAY "Comunique `a MILTON" @ 13,10 SAY "Qualquer tecla Continua." inkey(0) CLEAR SCREEN return endif */ PROPAG = KESCRIT IF TYPE("SENHA")="U" SENHA="" X:=0 SETCOLOR("B/W,,,") @ 7,25 CLEAR TO 13,55 SETCOLOR("B/B,,,") @ 7,25 TO 13,55 DOUBLE SETCOLOR("GR+/B,,,") @ 7,35 SAY "M F I S C O" SETCOLOR("B/W,,,") @ 10,30 SAY "Digite a Senha: " SETCOLOR( "" ) DO WHILE X<>4 Y=45 DO WHILE Y <>50 P=" " @ 10,Y GET P PICT "X" READ @ 10,Y SAY "*" SENHA+= P Y++ ENDDO IF LTRIM(SENHA)<> CHR(77)+CHR(83)+CHR(76)+CHR(73)+CHR(86) @ 11,30 SAY "ACESSO NEGADO. ENTER." INKEY(0) SENHA=SPACE(5) @ 11,30 SAY " " X++ ELSE EXIT ENDIF ENDDO IF X=4 @ 11,30 SAY "Finalizando. " INKEY(2) CLEAR SCREEN RETURN ENDIF ENDIF IF TYPE("KDIFBSVC")="U" KDIFBSVC:="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KDIGLANC")="U" KDIGLANC:="C" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KNUM")="U" KNUM=" " SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KCOMPLEM")="U" KCOMPLEM:=SPACE(22) SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KINSCMUNI")="U" KINSCMUNI=SPACE(15) SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KPAGISS")="U" KPAGISS=0 SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KLIVISS")="U" KLIVISS=0 SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KANOINV")="U" .or. empty(KANOINV) KANOINV="2006" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KIVlqicm")="U" KIVlqicm="S" KIVprdicm="S" KIVbstrib="S" KIVlqipi ="S" KIVcdNCM ="S" KIVcditm ="S" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KDIGTACF")="U" KDIGTACF="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KPORTE")="U" KPORTE=" " SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KEMPCTRL")="U" KEMPCTRL = " " SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KSIMPLES")="U" KSIMPLES = "N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF * ESTGIA() * ENT380A() organizar("0") SET KEY -37 TO CALCULATOR SET KEY -38 TO ALTPER() /*cAdress := '10.1.1.26' cPort := '3436' INetInit() Socket := InetConnect( cAdress, val(cPort)) alert(InetRecvEndBlock( Socket,ETX )) InetSetTimeout( Socket, 3000 ) // Timeout de Envio 3 seg // if inetsendall( Socket, 'NFE.STATUSSERVICO'+CR+"."+CR ) <= 0 alert("Problema na transmissão do comando") endif alert(InetRecvEndBlock( Socket,ETX )) // disconnect and cleanup memory INetClose( Socket ) INetCleanUp()*/ *cls *@ 10,05 say "Versao SQLRDD: " *@ 10,20 say SR_Version * msginfo( SR_GetConnection():cSystemVers ) *Inkey(0) DO WHILE .T. CLEAR SETCOLOR("G/G,,,,") @ 3,0,24,79 BOX DBOX SETCOLOR("B/G,,,,") @ 24,00 SAY REPLICATE(".",80) @ 24,05 SAY "Alt+F8=CALC " @ 24,18 SAY "Alt+F9=PARAMETROS " CABTELA() REST FROM LFISCAL.DBF ADDI SETCOLOR("B/B,,,,") @ 05,02 TO 12,28 DOUBLE SETCOLOR("RG+/B,,,,") @ 05,05 SAY " PRINCIPAL " SETCOLOR("N/GR,W+/R,,,") *----+----+----+----+---- @ 6,03 PROMPT " 1 Parametros " @ 7,03 PROMPT " 2 Cadastros " @ 8,03 PROMPT " 3 Relatorios " @ 9,03 PROMPT " 4 Apurar IPI " @ 10,03 PROMPT " 5 Utilitarios " @ 11,03 PROMPT " 6 Mudar Empresa " // @ 12,03 PROMPT " 7 Cadastros 2 " // @ 13,03 PROMPT " 8 Relatorios 2 " // @ 14,03 PROMPT " 9 Utilitarios 2 " if kporte$"23" SETCOLOR("W+/N,,,") @ 17,03 SAY "Gerar: SINTEGRA"+ATHEDIASINT() if kporte$"3" @ 18,10 SAY "DMA ate dia 7 ou 15" endif endif SETCOLOR("W+/N,,,") if ksimples="S" @ 19,10 SAY "Optante Simples" else @ 19,10 SAY "Nao Opt.Simples" endif SETCOLOR("N/GR,W+/R,,,") MENU TO OPCAO SET COLOR TO IF !FILE("LFISCAL.DBF") .AND. OPCAO<>8 .AND. OPCAO<>0 TONE(67,10) LOOP ENDIF @ 17,03 CLEAR TO 19,40 DO CASE CASE OPCAO = 6 xemar=.f. FISDIR() loop CASE OPCAO = 1 @ 5,02 CLEAR TO 16,28 FISP00() CASE OPCAO = 2 * DO FISG00 XX33CODEMP:=KEMPCTRL if !empty("KEMPCTRL") .and. !CHEKDBCTRL() mensm(10,05,"Opcao nao permitida no momento. Encaminhe a Diretoria. ") else FUNCAD() endif CASE OPCAO = 3 * DO FISR00 XX33CODEMP:=KEMPCTRL if !empty("KEMPCTRL") .and. !CHEKDBCTRL() mensm(10,05,"Opcao nao permitida no momento. Encaminhe a Diretoria. ") else RELFISC() endif CASE OPCAO = 4 FISA02() CASE OPCAO = 5 * DO FISU00 UTILFISC() CASE OPCAO = 7 FUNCAD2() CASE OPCAO = 8 FISR26() CASE OPCAO = 9 UTILFISC2() CASE OPCAO = 0 SETCOLOR("W+/R,,,") @ 08,30 SAY " Finaliza o Sistema ? S / N :" SETCOLOR( "" ) INKEY(0) IF LASTKEY()=83 .OR. LASTKEY()=115 CLOSE ALL CLEAR SCREEN QUIT ENDIF @ 08,30 SAY SPACE(40) ENDCASE ENDDO *DO FISA01 * EOF:LF.PRG FUNCTION ALTPER() GETLIST:={} CORANT:=SETCOLOR() CURANT:=SETCURSOR() SETCURSOR(1) SETCOLOR( "" ) XTTT:=SAVESCREEN(05,33,23,77) SETCOLOR("B/W,,,") @ 05,33 CLEAR TO 23,77 @ 05,45 SAY " ALTERAR PERIODO " SETCOLOR( "N/W,,,," ) @ 07,36 SAY "1o. Dia do Periodo ICMS :" GET KDATA COLOR["N/W,W/GR,,,"] @ 08,36 SAY "Ultimo Dia do Periodo :" GET KDATA1 VALID (MONT(KDATA1)=MONT(KDATA); .AND.YEAR(KDATA1)=YEAR(KDATA)) COLOR["N/W,W/GR,,,"] @ 09,36 SAY "Ultima Pag. do Livro de Saida :" GET KPAGSAI PICT "9999" COLOR["N/W,W/GR,,,"] @ 10,36 SAY "Ultima Pag.do Livro de Entrada:" GET KPAGENT PICT "9999" COLOR["N/W,W/GR,,,"] @ 11,36 SAY "Ult.Pag.Livro de Apuracao ICMS:" GET KPAGAPUICM PICT "9999" COLOR["N/W,W/GR,,,"] @ 12,36 SAY " Digita Leitura Z na Saida?:" GET KREGISTRA PICT"!"; VALID KREGISTRA$"SN" COLOR["N/W,W/GR,,,"] @ 13,36 SAY "Especie padrao dos lanc. :" GET KESPEC COLOR["N/W,W/GR,,,"] @ 14,36 SAY "Modelo de Documento Padrao :"GET KMODPAD PICT "9!"; VALID MODELOK(.F.) COLOR["N/W,W/GR,,,"] @ 15,36 SAY "Lanctos. pelo Codigo=1/CNPJ=2?:" ; GET KDIGLANC PICT "9" VALID KDIGLANC$"12" COLOR["N/W,W/GR,,,"] @ 16,36 SAY "Utiliza a tabela nova de CFOP ? :" GET KCFOP4DG PICT "!" VALID KCFOP4DG$"NS" COLOR["N/W,W/GR,,,"] @ 17,36 SAY "Nova forma de integrar ao MCONT? :" GET Kmodoint PICT "!" VALID Kmodoint$"SN" COLOR["N/W,W/GR,,,"] if KTIPO="2" @ 18,36 SAY "1o. Dia do Periodo IPI :" GET KDTIPI1 COLOR["N/W,W/GR,,,"] @ 19,36 SAY "Ultimo Dia do Periodo :" GET KDTIPI2 VALID (MONT(KDTIPI2)=MONT(KDTIPI1); .AND.YEAR(KDTIPI2)=YEAR(KDTIPI1)) COLOR["N/W,W/GR,,,"] endif READ XOK="S" IF LASTKEY()<>27 @ 20,35 SAY "Confirma? S/N : " GET XOK VALID XOK$"SN" COLOR["N/W,W/GR,,,"] READ ENDIF IF XOK="S" SAVE ALL LIKE K* TO LFISCAL.DBF ELSE REST FROM LFISCAL.DBF ADDI ENDIF CABTELA() RESTSCREEN(05,33,23,77,XTTT) SETCOLOR(CORANT) SETCURSOR(CURANT) RETURN FUNCTION CABTELA() XCORA1:=SETCOLOR() SETCOLOR("N/GR,,,,") @ 0,0 CLEAR TO 0,79 @ 0,1 SAY "MFISCO - V.6.01.33" @ 00,30 SAY "ICMS: "+left(dtoc(kdata),2)+ " a "+ left(dtoc(kdata1),2)+" "+MESEXT(KDATA)+"/"+STR(YEAR(KDATA),4) IF KTIPO="2" @ 00,57 SAY "IPI : "+left(dtoc(kdtipi1),2)+ " a "+ left(dtoc(kdtipi2),2)+" "+MESEXT(KDTipi1)+"/"+STR(YEAR(KDTipi2),4) ENDIF IF !FILE("LFISCAL.DBF") set color to * @ 16,35 SAY "Sem empresa no momento" set color to ELSE SETCOLOR("GR+/B,,,") @ 1,0 CLEAR TO 2,79 @ 01,00 SAY "Firma : "+ KEMPRESA @ 02,00 SAY "CNPJ: "+kcgc + " I.E.: "+kie IF TYPE("KSUBS")="U" KSUBS = 20 ENDIF IF TYPE( "KVLZERO" ) = "U" KVLZERO = "N" ENDIF IF TYPE( "KREGISTRA" ) = "U" KREGISTRA = "N" ENDIF IF TYPE("KDADCOMP")="U" KDADCOMP = "N" ENDIF IF TYPE("KCODCID")="U" KCODCID = SPACE(6) ENDIF IF TYPE("KCEP")="U" KCEP = SPACE(9) ENDIF IF TYPE("KOBSM")="U" KOBSM = SPACE(20) ENDIF IF TYPE("KNCAL")="U" KNCAL = SPACE(17) ENDIF IF TYPE("KNCOR")="U" KNCOR = SPACE(17) ENDIF IF TYPE("KRL80")="U" KRL80 = "N" ENDIF IF TYPE("KESPEC")="U" KESPEC= " " ENDIF IF TYPE("KPEDES")="U" KPEDES="S" ENDIF IF TYPE("KINT")="U" KINT="N" ENDIF IF TYPE("KTIPOAP")="U" .OR. TYPE("KSOMALQ")="U" KTIPOAP="M" KSOMALQ="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KC1")="U".OR.TYPE("KC2")="U" .OR. TYPE("KC3")="U".OR.TYPE("KCVSLDM")="U" KC1="15" KC2="00" KC3="00" KCVSLDM="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KDTIPI1")="U" .OR. TYPE("KDTIPI2")="U" KDTIPI1=CTOD(" ") KDTIPI2=CTOD(" ") SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KITOTNF")="U" // 2216283 - 2217997 KITOTNF = "N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KOBSBAS")="U" // 2216283 - 2217997 KOBSBAS = SPACE(15) SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KDIRMCONT")="U" KDIRMCONT = SPACE(20) SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KPCODDEB")="U" KPcoddeb:=KPcodcre:=KVcoddeb:=KVcodcre:=" " KPhisdeb:=KPhiscre:=KVhisdeb:=KVhiscre:=0 SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KTABN")="U" KTABN = "N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KDATCTB")="U" KDATCTB = "M" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KVCISTRIB")="U" KVCISTRIB = "N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KPAGINV")="U" KPAGINV:=KULTINV:=0 SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KCNAE")="U".OR.TYPE("KINSP")="U" KINSP:=" " KCNAE:=" " SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KMODPAD")="U" KMODPAD:=" " SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KCADEMI")="U" KCADEMI:="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KCLIPAD")="U" KCLIPAD:=" " SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KTIPOAPI")="U" KTIPOAPI:="D" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KDIFBSVC")="U" KDIFBSVC:="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KDIGLANC")="U" KDIGLANC:="1" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KCFOP4DG")="U" KCFOP4DG:="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF IF TYPE("KMODOINT")="U" KMODOINT:="N" SAVE ALL LIKE K* TO LFISCAL.DBF ENDIF ENDIF SETCOLOR(XCORA1) RETURN * FISNTX.PRG * CLASSIFICACAO DOS ARQUIVOS function organizar() parameters rep SET COLOR TO IF REP="0" @ 06,05 SAY "Aguarde alguns instantes." ENDIF IF !FILE("ENTRADAC.NTX") .OR. !FILE("ENTRADA1.NTX") .OR. REP = "1"; .OR. !FILE("ENTRADA2.NTX") .OR. !FILE("ENTRADA3.NTX") USE ENTRADA INDEX ON CODIGO TO ENTRADAC INDEX ON DTOS(DATAENT)+DTOS(DATADOC)+NUMERO TO ENTRADA1 INDEX ON CLIFOR+SERIE+NUMERO TO ENTRADA2 INDEX ON val(NUMERO) TO ENTRADA3 USE ENDIF * USE SAIDA * IF TYPE("COMPOBS")="U" * SAI362B() * ENDIF USE IF !FILE("SAIDAC.NTX").OR.!FILE("SAIDA1.NTX") .OR. !FILE("SAIDA2.NTX"); .OR. !FILE("SAIDA3.NTX") .OR. REP="1" USE SAIDA INDEX ON CODIGO TO SAIDAC INDEX ON DTOS(DIA)+SERIE+NUMERO1 TO SAIDA1 INDEX ON STR(CODM,2)+DTOS(DIA) TO SAIDA2 INDEX ON SERIE+NUMERO1 TO SAIDA3 * +STR(CODM)+NUMERO1+CODFISCAL USE ENDIF /* if KCADEMI="S" IF !FILE("..\FORNECC.NTX") .OR. !FILE("..\FORNECA.NTX") .OR.!FILE("..\FORNECG.NTX"); .OR. REP = "1" USE ..\FORNEC INDEX ON CODIGO TO ..\FORNECC INDEX ON NOME TO ..\FORNECA INDEX ON CGC TO ..\FORNECG USE ENDIF else IF !FILE("FORNECC.NTX") .OR. !FILE("FORNECA.NTX") .OR.!FILE("FORNECG.NTX"); .OR. REP = "1" USE CPRCLF INDEX ON CODIGO TO FORNECC INDEX ON NOME TO FORNECA INDEX ON CGC TO FORNECG USE ENDIF endif */ IF !FILE("CPRCLF0.NTX").OR.!FILE("CPRCLF1.NTX").OR.!FILE("CPRCLF3.NTX").OR.!FILE("CPRCLF4.NTX"); .OR.REP="1" USE CPRCLF INDEX ON CLIFOR TO CPRCLF0 INDEX ON NOMECLIFOR TO CPRCLF1 INDEX ON CGC TO CPRCLF3 INDEX ON LEFT(CLIFOR,1)+sonumero(cgc) TO CPRCLF4 USE ENDIF yarqinv = "INV"+kanoinv+".DBF" yarqinvc = "INV"+kanoinv+"C.NTX" yarqinva = "INV"+kanoinv+"A.NTX" IF FILE( (yarqinv) ) IF !FILE((yarqinvc)).OR.!FILE((yarqinva)).OR.REP="1" USE (yarqinv) INDEX ON CODIGO TO (yarqinvc) INDEX ON DESCRICAO TO (yarqinva) USE ENDIF ENDIF IF FILE("LANCON.DBF") IF !FILE("LANCON0.NTX") .OR. !FILE("LANCON1.NTX") .OR. REP = "1" USE LANCON INDEX ON STR(CODIGO,6)+STR(ES,1) TO LANCON0 INDEX ON DTOS(DATA) TO LANCON1 USE ENDIF ENDIF IF !FILE("ESTADOC.NTX") .OR. REP = "1" USE ESTADO INDEX ON CODIGO TO ESTADOC USE ENDIF /* USE NATOPER IF LASTREC() < 100 USE IF !FILE("\MFISCO\NATOPER.DBF") @ 09,44 SAY " Arq. novo de NATUREZA DAS " @ 10,44 SAY " OPERACOES. Nao existe no " @ 11,44 SAY " \MFISCO. Verifique. Enter." TONE(58,10) INKEY(0) @ 09,44 CLEAR TO 11,75 QUIT ENDIF COPY FILE \MFISCO\NATOPER.DBF TO NATOPER.DBF USE NATOPER INDEX ON CODIGO TO NATOPERC USE ENDIF USE */ IF !FILE("NATOPERC.NTX") .OR. REP = "1" USE NATOPER INDEX ON CODIGO TO NATOPERC USE ENDIF IF !FILE("TABDEC.NTX") .OR. REP = "1" USE TABDEC INDEX ON MES+CODIGO+SUB TO TABDEC USE ENDIF IF !FILE("APURICMS.NTX") .OR. REP = "1" USE APURICMS INDEX ON MES+CODIGO+SUB TO APURICMS USE ENDIF IF FILE("APURICMN.DBF") IF !FILE("APURICMN.NTX") .OR. REP = "1" USE APURICMN INDEX ON MES+CODIGO+SUB TO APURICMN USE ENDIF ENDIF IF FILE("APICMS.DBF") IF !FILE("APICMS.NTX") .OR. REP = "1" USE APICMS INDEX ON MES+CODIGO+SUB TO APICMS USE ENDIF ENDIF IF !FILE("APURIPI.NTX") .OR. REP = "1" USE APURIPI INDEX ON MES+CODIGO+SUB TO APURIPI USE ENDIF IF !FILE("MAQUINAS.NTX") .OR. REP = "1" USE MAQUINAS INDEX ON CODIGO TO MAQUINAS USE ENDIF IF !FILE("TABDECI.DBF") IF !FILE("..\TABDECI.DBF") @ 09,44 SAY " Arq. p/ Apuracao Decendial " @ 10,44 SAY " nao existe no Diret. \MFISCO" @ 11,44 SAY " verifique ou copie. Enter. " TONE(58,10) INKEY(0) @ 09,44 CLEAR TO 11,75 QUIT ENDIF COPY FILE ..\TABDECI.DBF TO TABDECI.DBF ENDIF IF !FILE("TABDECI.NTX").OR.REP="1" USE TABDECI INDEX ON MES+CODIGO+SUB TO TABDECI USE ENDIF IF !FILE("TABDEC.NTX").OR.REP="1" USE TABDEC INDEX ON MES+CODIGO+SUB TO TABDEC USE ENDIF IF !FILE("CIAPIT.NTX").OR.REP="1" USE CIAPIT INDEX ON BEMCOD TO CIAPIT USE ENDIF IF !FILE("CIAPMV.NTX").OR.REP="1" USE CIAPMV INDEX ON STR(BEMCOD,4)+MESANO TO CIAPMV USE ENDIF IF FILE("SERVICO.DBF") IF !FILE("SERVICOC.NTX").OR.!FILE("SERVICOD.NTX") .OR. !FILE("SERVICOS.NTX") .OR. REP="1" USE SERVICO INDEX ON CODIGO TO SERVICOC INDEX ON DTOS(DIA) TO SERVICOD INDEX ON NFSERA1 TO SERVICOS USE ENDIF ENDIF IF FILE("LFCFOP.DBF") IF !FILE("LFCOPC.NTX").OR.REP="1" USE LFCFOP INDEX ON CODIGO TO LFCFOPC USE ENDIF ENDIF IF FILE("LFANTEC.DBF") IF !FILE("LFANTECC.NTX").OR.REP="1" USE LFANTEC INDEX ON CODIGO TO LFANTECC USE ENDIF ENDIF IF FILE("LFAIDF.DBF") IF !FILE("LFAIDF0.NTX").OR.REP="1" USE LFAIDF INDEX ON CODAIDF TO LFAIDF0.NTX USE ENDIF ENDIF IF FILE("\MFISCO\PADSEC.DBF") IF !FILE("\MFISCO\PADSEC.NTX").OR.!FILE("\MFISCO\PADSEC2.NTX").OR.REP="1" USE \MFISCO\PADSEC INDEX ON CODIGO TO \MFISCO\PADSEC INDEX ON STRZERO(TIMPOSTO,1)+STRZERO(TIPOP,1)+STRZERO(CFOP,4)+STRZERO(ALIQUOTA,5,2) TO \MFISCO\PADSEC2 USE ENDIF ENDIF IF FILE("ENTFILHO.DBF") IF !FILE("ENTFILHO.NTX").OR.!FILE("ENTFILHO2.NTX").OR.!FILE("ENTFILHO3.NTX").OR.REP="1" USE ENTFILHO INDEX ON CODIGO TO ENTFILHO INDEX ON CODPADLAN TO ENTFILHO2 INDEX ON strzero(CODLAN,6)+strzero(CODIGO,6) TO ENTFILHO3 INDEX ON strzero(CODIGO,6)+strzero(TIPOP,1) TO ENTFILHO4 USE ENDIF ENDIF IF FILE("SAIFILHO.DBF") IF !FILE("SAIFILHO.NTX").OR.!FILE("SAIFILHO.NTX").OR.!FILE("SAIFILHO.NTX").OR.REP="1" USE SAIFILHO INDEX ON CODIGO TO SAIFILHO INDEX ON CODPADLAN TO SAIFILHO2 INDEX ON strzero(CODLAN,6)+strzero(CODIGO,6) TO SAIFILHO3 INDEX ON strzero(CODIGO,6)+strzero(TIPOP,1) TO SAIFILHO4 USE ENDIF ENDIF IF FILE("\MFISCO\OPCONTAB.DBF") IF !FILE("\MFISCO\OPCONTAB.NTX").OR.!FILE("\MFISCO\OPCONTAB2.NTX").OR.REP="1" USE \MFISCO\OPCONTAB INDEX ON EMPRESA TO \MFISCO\OPCONTAB INDEX ON CODIGO TO \MFISCO\OPCONTAB2 USE ENDIF ENDIF IF FILE("\MFISCO\OPCONTCFOP.DBF") IF !FILE("\MFISCO\OPCONTCFOP.NTX").OR.!FILE("\MFISCO\OPCONTCFOP2.NTX").OR.REP="1" USE \MFISCO\OPCONTCFOP INDEX ON CODOPERAC TO \MFISCO\OPCONTCFOP INDEX ON CFOP TO \MFISCO\OPCONTCFOP2 USE ENDIF ENDIF /* IF TYPE("KDIRMCONT")<>"U" PCON=alltrim(KDIRMCONT)+"PLACON.DBF" PCON0=alltrim(KDIRMCONT)+"PLACON0.NTX" PCON1=alltrim(KDIRMCONT)+"PLACON1.NTX" PCON2=alltrim(KDIRMCONT)+"PLACON2.NTX" IF !FILE( (PCON)) * MENS(08,20,"Plano de contas nao encontrado. Enter. ",.F.) ELSE IF !FILE( (PCON0) ) .OR. !FILE( (PCON1) ) .OR. REP="1" ; .OR. !FILE( (PCON2) ) USE (PCON) INDEX ON CODIGO TO (PCON0) INDEX ON CODRED TO (PCON1) INDEX ON DESCRICAO TO (PCON2) USE ENDIF ENDIF PHIS=alltrim(KDIRMCONT)+"HISTOR.DBF" PHIS0=alltrim(KDIRMCONT)+"HISTOR0.NTX" IF !FILE( (PHIS)) * MENS(08,20,"Arq. de Historicos nao encontrado. Enter. ",.F.) ELSE IF !FILE( (PHIS0) ) .OR. REP="1" USE (PHIS) INDEX ON CODIGO TO (PHIS0) USE ENDIF ENDIF ENDIF*/ IF REP="0" @ 07,08 SAY " " ENDIF Return (Nil) //// ALTEREI AQUI *EOF(FISNTX.PRG) FUNCTION ATHEDIASINT() FOR N=1 TO LEN(KIE) IF SUBSTR(KIE,N,1)$"0123456789" XNUMESC = SUBSTR(KIE,N,1) ENDIF NEXT if TYPE("XNUMESC") = "U" RETURN " Nao Informa." else if XNUMESC$"123" RETURN " ate dia 15" endif if XNUMESC$"456" RETURN " ate dia 20" endif if XNUMESC$"78" RETURN " ate dia 25" endif if XNUMESC$"90" RETURN " ate dia 30" endif endif Return (Nil) //// ALTEREI AQUI STATIC FUNCTION VERCONFIG() IF !file("C:\MFISCO\MFISCOW.INI") CMP0 := {} AADD( CMP0, { "MCONTWIN", "C",60,0 } ) // * Nome da pasta no MCONTWIN DBCREATE("C:\MFISCO\MFISCOW.INI",CMP0) ENDIF RETURN Function RetornaConteudoXml() LOCAL hFile, cXml, cFileName:="Arqxml.xml" LOCAL xmlDoc, xmlIter , xmlNode, cNode, cAttrib, cValue, oCampo, oConteudo cNode := NIL cAttrib := NIL cValue := NIL hFile := FOpen("c:\NFe.xml") xmlDoc := TXmlDocument():New( hFile ) IF xmlDoc:nStatus != 1 alert("erro ao ler XML ") RETURN ENDIF oXmlRecScan := TXmlIteratorScan():new( xmlDoc:oRoot ) oXmlNode := oXmlRecScan:find( "det" ) // ocurrent := xmlDoc:oRoot // onode := ocurrent:oChild // while .T. // alert("NO: "+onode:cName) // tmp := onode:oChild // IF tmp == NIL // tmp2 := onode:oNEXT() // if tmp2 == NIL // onode := onode:oParent // alert("pai") // else // alert("proximo") // onode := onode:oNEXT() // endif // else // onode := tmp // alert("filho") // endif // enddo i := 2 DO WHILE oXmlNode != NIL alert("/"+str(i)+"/") // if !empty(xmlNode:cData) // if subs(xmlNode:cData,1,1) # "<" // oCampo :=xmlNode:cName // oConteudo:=xmlNode:cData // end // else // oCampo :=xmlNode:cName // end alert(oXmlNode:getAttribute("nItem")) oXmlNode := oXmlRecScan:find( "det","nItem", str(i)) i++ ENDDO return nil