Jump to content
Fivewin Brasil

Search the Community

Showing results for tags 'resolvido'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

There are no results to display.

Forums

  • FiveWin
    • WorkShop
    • Advantage Server
    • FiveScript
    • FiveWin Avaliação
    • TopConnect
    • Classes
    • Programação
    • FiveWin - Conversão de 16 bits para 32 bits
    • Seminário
    • Artigos / Tutoriais
    • Off - Topic
  • Suporte Estendido
    • Duvidas Gerais

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 8 results

  1. Boa tarde, fivewinner. Eu sempre usei o comando @ l,c Label, nos meus programas, então, todas as molduras, dentro dos window e dialog, foram feitas com esse comando: @ label Agora, estou precisando alterar todos os comandos @ label, para o @ GROUP, essa rotina de alteração já está ok, mas, o problema está na leitura dos PRGs e regravação, pois, quando uso o comando memoread, mlcount, memoline, e memowrite, não grava a linha inteira, só 79 caracteres, ou só 254 caracteres, e nos meus módulos tem linhas que chega a 500 caracteres por linha como resolver esse problema de ler e regravar linhas com mais de 254 caracteres? como estou fazendo: SS0:=CURDRIVE()+":\"+CURDIR()+"\WINCOM.PRG" arq_prg:=memoread(SS0) NOVO_ARQ:="" QTL := MLCount(arq_prg,500, 8, .T. ) // aqui vc pode alterar para o valor que vc quiser, que não funciona - MLCount(arq_prg) esse comando não funciona tbm FOR I=1 TO QTL APCODE:= MemoLine( arq_prg, 500, i, 8, .T. ) APCODE1:=APCODE if alltrim(upper(oque))$upper(apcode) .and. OQUE_1="@" .AND. "@"$APCODE .AND. !("GROUP"$upper(apcode)) nreg:=nreg+1 SS:="OGRP"+ALLTRIM(STR(NREG))+" " p:=at("TO",UPPER(APCODE)) if p>0 APCODE=STUFF(APCODE,P,0,"GROUP "+SS) endif ENDIF APCODE:=ALLTRIM(APCODE)+chr(13)+chr(10) NOVO_ARQ:=NOVO_ARQ+APCODE NEXT SS1:="D:\WINPRG\WINCOM.PRG" MEMOWRIT(SS1,NOVO_ARQ) ? "O arquivo "+ss0+" foi gravado em "+ss1 Já testei tbm com os camandos, que tbm não funcionam? OFILE:=TTXTFILE():NEW("&SS0.") DO WHILE .NOT. OFILE:LEOF() apCode:=OFILE:READLINE() . . .
  2. Bom dia, shalom, grandes guerreiros Eu tenho um cliente que o computador principal/servidor tinha win7 64 bits, e estava emitindo NFe via dll da flexdocs normalmente, mas, devidos a alguns pepinos do win7 que já morreu, esse computador foi formatado e instalado win10 pro. Então, instalei a última versão da dll, da flexdocs, e quando fui emitir a nfe, aparece a mensagem que a nfe_util não foi encontrada no computador, e o erro é justamente na linha, onde vai criar o objeto da dll, cuja linha é essa: objoNfeUtil := CreateObject( "NFe_Util_2G.util" ) Uma pergunta: Existe outros comandos além do CREATEOJECT, que eu possa substituir para criar esse objeto? Pois, ja fiz de tudo, já habilitei o dotnet no painel de controle em programas e recursos, pois estava desabilitado, desabilitei o firewall do windows, o antivirus avast, já coloque o nome da pasta do sistema dentro da lista de excessão do antivirus e do windows defender, já instalei uma versão anterior da dll da flexdocs, várias vezes, e nada até agora. Estou quase solicitando ao cliente, para levar o computador em outro tecnico para formatar e instalar o wind10 pro novamente. Desde já, eu agradeço por toda ajudar que vier. Grato Jose Adenildo/mkyx (codename: Pompeo) Guaratingueta, SP
  3. Boa noite, Alguém teria uma solução para a utilização do método (NfeDistribuicaoDFe) de pegar o ultNSU e utilizá-lo para pesquisar as NF-e emitidas contra o CNPJ. O meu problema é que mais de um software utiliza este método ( NfeDistribuicaoDFe) ou seja o meu ERP e de CONTADORES, e sempre me retorna ou "656-USO INDEVIDO". Este método está no MOC - Manual de Orientação ao Contribuinte - MOC - versão 7.0 - NF-e e NFC-e que começa na página 90 Já sei que o problema é que o meus software utiliza este método e os software de contadores também utilizam, sendo assim o meu último ultNSU, nunca será igual ao da contabilidade, fazendo assim que sempre retorne "656- USO INDEVIDO". ( Se alguém tiver uma solução para este problema) Agradeço qualquer ajuda. Meu código detalhado abaixo e com as descrições dos passos. function consulta_nfe_contra(objconsultatipo) wonfeNormalConsumidor = "N" // 1º - Aqui ele abre um select para pegar as configurações da NF-e para gerar o arquivo // CNPj-dist-dfe.xml if zsequencianotafiscal = .f. cwQuery := "select * from adloja where seqloja = " + alltrim(str(zseqloja)) else cwQuery := "select * from adloja where seqloja = 1" endif cwQuery += " order by seqloja asc;" owQuery := oServer:Query(cwQuery) xfatambiemtedanotafiscaleletronica = owquery:Fieldget(owquery:Fieldpos('fatambiemtedanotafiscaleletronica')) if wonfeNormalConsumidor = "N" xfattipodeemissaonotafiscaleletronica = owquery:Fieldget(owquery:Fieldpos('fattipodeemissaonotafiscaleletronica')) elseif wonfeNormalConsumidor = "C" xfattipodeemissaonotafiscaleletronica = owquery:Fieldget(owquery:Fieldpos('fattipodeemissaonotafiscaleletronicanfce')) if xfattipodeemissaonotafiscaleletronica = 8 xfattipodeemissaonotafiscaleletronica = 9 endif endif if xfattipodeemissaonotafiscaleletronica = 1 ntitle = "Normal | " + "SEFAZ | " + zuf elseif xfattipodeemissaonotafiscaleletronica = 2 ntitle = "FS-IA | Contigencia com impressao do DANFE em formulario de seguranca" elseif xfattipodeemissaonotafiscaleletronica = 3 ntitle = "SCAN | Sistema de contigencia em ambiente Nacional" elseif xfattipodeemissaonotafiscaleletronica = 4 ntitle = "DPEC | Declaracao previa da emissao em contigencia" elseif xfattipodeemissaonotafiscaleletronica = 5 ntitle = "FS-DA | Contigencia com impressao do DANFE em formulario de seguranca" elseif xfattipodeemissaonotafiscaleletronica = 6 ntitle = "SVC-AN | Sefaz virtual de contigencia do AN" elseif xfattipodeemissaonotafiscaleletronica = 7 ntitle = "SVC-RS | Sefaz virtual de contigencia do RS" elseif xfattipodeemissaonotafiscaleletronica = 9 ntitle = "Contigencia off-line da NFC-e" endif otitlegerencianfe = otitlegerencianfe + ntitle if wonfeNormalConsumidor = "N" xfatversaodoxmldanotafiscal = owquery:Fieldget(owquery:Fieldpos('fatversaodoxmldanotafiscal')) xfatmodelonotafiscalnormal = owquery:Fieldget(owquery:Fieldpos('fatmodelonotafiscalnormal')) xfatserienotafiscalnormal = owquery:Fieldget(owquery:Fieldpos('fatserienotafiscalnormal')) xfatserienotafiscalcontigencia = owquery:Fieldget(owquery:Fieldpos('fatserienotafiscalcontigencia')) xfatdatahoraentradacontigencia = owquery:Fieldget(owquery:Fieldpos('fatdatahoraentradacontigencia')) xfatmotivodacontigencia = owquery:Fieldget(owquery:Fieldpos('fatmotivodacontigencia')) elseif wonfeNormalConsumidor = "C" xfatversaodoxmldanotafiscal = owquery:Fieldget(owquery:Fieldpos('fatversaodoxmldanotafiscalnfce')) xfatmodelonotafiscalnormal = owquery:Fieldget(owquery:Fieldpos('fatmodelonotafiscalnormalnfce')) xfatserienotafiscalnormal = owquery:Fieldget(owquery:Fieldpos('fatserienotafiscalnormalnfce')) xfatserienotafiscalcontigencia = owquery:Fieldget(owquery:Fieldpos('fatserienotafiscalcontigencia')) xfatdatahoraentradacontigencia = owquery:Fieldget(owquery:Fieldpos('fatdatahoraentradacontigencianfce')) xfatmotivodacontigencia = owquery:Fieldget(owquery:Fieldpos('fatmotivodacontigencianfce')) endif znfesincrono = owquery:Fieldget(owquery:Fieldpos('fatnfesincrono')) znfcesincrono = owquery:Fieldget(owquery:Fieldpos('fatnfcesincrono')) xfatpastaxmlenviadosindidualmente = reverso(owquery:Fieldget(owquery:Fieldpos('fatpastaxmlenviadosindidualmente'))) xfatpastaxmlenviadoslotes = reverso(owquery:Fieldget(owquery:Fieldpos('fatpastaxmlenviadoslotes'))) xfatpastaxmlretornodowebservice = reverso(owquery:Fieldget(owquery:Fieldpos('fatpastaxmlretornodowebservice'))) xfatpastaxmlautorizados = reverso(owquery:Fieldget(owquery:Fieldpos('fatpastaxmlautorizados'))) xfatpastaxmltemporarios = reverso(owquery:Fieldget(owquery:Fieldpos('fatpastaxmltemporarios'))) xfatpastaxmlbackup = reverso(owquery:Fieldget(owquery:Fieldpos('fatpastaxmlbackup'))) xfatpastaxmlavalidar = reverso(owquery:Fieldget(owquery:Fieldpos('fatpastaxmlavalidar'))) owQuery:destroy() // 1º - Termina o selct. // 2º - A variável cDirXML_cons, direciona para qual pasta será criado o arquivo CNPJ-con-dist-dfe.xml cDirXML_cons = reverso(alltrim(xfatpastaxmlenviadosindidualmente)) + "\" + alltrim(znumerodocumentonacional) + "-con-dist-dfe.xml" // 3º - A variável B02_CUF, pega o estado para o arquivo CNPJ-con-dist-dfe.xml B02_cUF = ver_estado(zuf) // 4º - Neste select ele pega o ultNSU a ser pesquisado e compara com maxNSU, // para ver se igualou o ultNSU com maxNSU, se sim aguarda 1h e 30mm // para começar a pesquisa novamento if zsequencianotafiscal = .f. cwQuery := "select * from adloja where seqloja = " + alltrim(str(zseqloja)) else cwQuery := "select * from adloja where seqloja = 1" endif cwQuery += " order by seqloja asc;" owQuery := oServer:Query(cwQuery) xfatnumeronsu = owquery:Fieldget(owquery:Fieldpos('fatnumeronsu')) if empty(xfatnumeronsu) xfatnumeronsu = 0 endif xfatnumeronsumax = owquery:Fieldget(owquery:Fieldpos('fatnumeronsumax')) if empty(xfatnumeronsumax) xfatnumeronsu = 0 endif owQuery:destroy() // 4º - Termina.......... // 5º - Verifica se o ultNSU alcançou o NSUmax e aguarda até 1 hora e meia para prosseguir novas consultas...... if xfatnumeronsu > 0 if xfatnumeronsumax > 0 if xfatnumeronsu >= xfatnumeronsumax msgwsiscom("Colocar aqui msg de espera.","Atenção") return nil endif endif endif // 6º - Se o ultNSU ESTIVER ELE COMEÇA ZERADO, SE NÃO É O ultNSU GUARDADO NA BASE // QUE SERÁ PESQUISAO. if empty(xfatnumeronsu) xfatnumeronsu = "000000000000000" else xfatnumeronsu = replicate("0",15 - len(alltrim(str(xfatnumeronsu)))) + alltrim(str(xfatnumeronsu)) endif // 7º - Ele irá criar o o xml CNPj-dist-dfe.xml com os dados acima // que será enviado a SEFAZ/MG para ser pesquisado. lh := 00 oPrn := TDosPrn():New(cDirXML_cons) oPrn:StartPage() oPrn:lZeraBuffer:=.T. mlinha = '<?xml version="1.0" encoding="utf-8"?>' oPrn:Say(lh,000,mlinha) ++lh mlinha = '<distDFeInt xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.35">' oPrn:Say(lh,000,mlinha) ++lh mlinha = '<tpAmb>'+alltrim(str(xfatambiemtedanotafiscaleletronica))+'</tpAmb>' oPrn:Say(lh,000,mlinha) ++lh mlinha = '<cUFAutor>'+B02_cUF+'</cUFAutor>' oPrn:Say(lh,000,mlinha) ++lh mlinha = '<CNPJ>'+alltrim(znumerodocumentonacional)+'</CNPJ>' oPrn:Say(lh,000,mlinha) ++lh if objconsultatipo = "geral" mlinha = '<distNSU>' oPrn:Say(lh,000,mlinha) ++lh mlinha = '<ultNSU>'+xfatnumeronsu+'</ultNSU>' oPrn:Say(lh,000,mlinha) ++lh //msginfo(xfatnumeronsu) mlinha = '</distNSU>' oPrn:Say(lh,000,mlinha) ++lh endif mlinha = '</distDFeInt>' oPrn:Say(lh,000,mlinha) ++lh oPrn:EndPage() oPrn:End() //msginfo(cDirXML_cons) // 8º - Pega o CNPJ-dist-dfe.xml, que voltou da SEFAZ em uma pasta para ser analisado.. cDirXML = reverso(alltrim(xfatpastaxmlretornodowebservice)) + "\" + alltrim(znumerodocumentonacional) + "-dist-dfe.xml" cDirXME = reverso(alltrim(xfatpastaxmlretornodowebservice)) + "\" + alltrim(znumerodocumentonacional) + "-con-dist-dfe.err" msn = "N" nqte = 0 do while nqte < 200000000 if file(cDirXML) msn = "S" exit endif if file(cDirXME) if file(cDirXML) msn = "S" exit endif msn = "N" exit endif ++nqte enddo _ultNSU = "000000000000000" _maxNSU = "000000000000000" _nmotivo = "" _cStat = "" _processa_xml = "S" if msn = "N" if file(cDirXME) cInfo = "" csource = cDirXME nsource:=fopen("&csource",0) if ( nsource ) # -1 lEof:=.F. nn = 1 do while !lEof c :=p_readln_1(nSource,linebuff) if !lEof .and. c#chr(26) if nn = 1 cInfo := c ++nn else cInfo+=CRLF+c endif endif enddo endif fclose(nsource) //msgstop(cInfo,"Atencao") ferase(cDirXME) _processa_xml = "N" endif //return nil elseif msn = "S" nmotivo = abrir_xml(cDirXML,"xMotivo") _ultNSU = abrir_xml(cDirXML,"ultNSU") _maxNSU = abrir_xml(cDirXML,"maxNSU") _cStat = abrir_xml(cDirXML,"cStat") endif // 9º - Termina a analise CNPJ-dist-dfe.xml // 10º - Se houve mudanças no maxNSU ele grava na base de dados if val(_maxNSU) > 0 cwQuery := "Update adloja set fatnumeronsu = " + alltrim(str(val(_ultNSU))) cwQuery += ",fatnumeronsuMax = " + alltrim(str(val(_maxNSU))) cwQuery += ",datanumeronsu = " + "'" + substr(dtos(ldate),1,4)+"-"+substr(dtos(ldate),5,2)+"-"+substr(dtos(ldate),7,2) + "'" cwQuery += ",timenumeronsu = " + "'" + time() + "'" if zsequencianotafiscal = .f. cwQuery += " where " + " seqloja = " + alltrim(str(zseqloja)) else cwQuery += " where " + " seqloja = 1" endif owQuery := oServer:Query(cwQuery) if owQuery:neterr() msgStop("Erro na gravação do NSU.","ATENÇÂO") endif owQuery:destroy() oServer:Commit() // 10º - Se houve mudanças no ultNSU ele grava na base de dados elseif val(_ultNSU) > 0 cwQuery := "Update adloja set fatnumeronsu = " + alltrim(str(val(_ultNSU))) cwQuery += ",datanumeronsu = " + "'" + substr(dtos(ldate),1,4)+"-"+substr(dtos(ldate),5,2)+"-"+substr(dtos(ldate),7,2) + "'" cwQuery += ",timenumeronsu = " + "'" + time() + "'" if zsequencianotafiscal = .f. cwQuery += " where " + " seqloja = " + alltrim(str(zseqloja)) else cwQuery += " where " + " seqloja = 1" endif owQuery := oServer:Query(cwQuery) if owQuery:neterr() msgStop("Erro na gravação do NSU.","ATENÇÂO") endif owQuery:destroy() oServer:Commit() endif //msginfo(_cStat) //11º - Verifica o cStat retornado no arquivo CNPJ-dist-dfe.xml // AQUI ENCONTRA-SE O PROBLEMA, ELE SEMPRE RETORNA 656-CONSUMO INDEVIDO.................................. // if alltrim(_cStat) = "138" // Documento localizado _processa_xml = "S" else if !empty(nmotivo) msgstop(nmotivo) endif _processa_xml = "N" endif /* if _processa_xml = "S" hFile := FOpen( cDirXML ) xmlDoc := TXmlDocument():New( hFile ) if xmlDoc:nStatus != HBXML_STATUS_OK msgstop("Falha no arquivo XML ","ERRO Arquivo XML") return nil endif xmlIter := TXmlIterator():New( xmlDoc:oRoot ) xmlNode := xmlIter:Find() do while xmlNode != NIL cName := xmlNode:cName cData := xmlNode:cData if empty(cName) xmlNode := xmlIter:Next() loop endif msginfo("cName: " + cName ) if !empty(cData) msginfo("cData: " + cData ) endif xmlNode := xmlIter:Next() enddo fclose(hFile) endif */ //12º - Irá fazer a leitura para apresentar as NF-e emitidas contra o CNPJ............................. cDirlocalretornoxml = reverso(alltrim(xfatpastaxmlretornodowebservice)) + "\dfe\" asamplzNOTA = {} j = 0 j = adir(cDirlocalretornoxml + "*.xml") declare marquivo[j] adir(cDirlocalretornoxml + "*.xml", marquivo) if j <= 0 msgwsiscom("Não há arquivos xml emitidos contra.","ATENCAO") return nil endif fwait(" ...Aguarde processando...") for ttqq = 1 to len(marquivo) hFile := FOpen( cDirlocalretornoxml + marquivo[ttqq] ) xmlDoc := TXmlDocument():New( hFile ) if xmlDoc:nStatus != HBXML_STATUS_OK msgstop("Falha no arquivo XML ","ERRO Arquivo XML") return nil endif xmlIter := TXmlIterator():New( xmlDoc:oRoot ) xmlNode := xmlIter:Find() nfe_notafiscalsimounao = "N" nfe_cabecalho = "" nfe_serie = space(03) // serie do documento fiscal nfe_numero = space(09) // numero do documento fiscal nfe_emissao = space(10) // data de emissÆo nfe_e_cnpj = space(14) // CNPJ nfe_e_cpf = space(11) // CPF nfe_e_razaonome = space(60) // nome ou razao social nfe_e_estado = space(02) // estado nfe_t_valornota = space(15) // 15,2 valor total da nota fiscal nfe_chave = space(100) // chave da nota fiscal do while xmlNode != NIL cName := xmlNode:cName cData := xmlNode:cData if empty(cName) xmlNode := xmlIter:Next() loop endif if cName = "infNFe" nfe_notafiscalsimounao = "S" endif if upper(cName) = "IDE" .or.; // dados da nota fiscal upper(cName) = "NFREF" .or.; // referenciada upper(cName) = "REFNF" .or.; // referenciada upper(cName) = "REFNP" .or.; // referenciada upper(cName) = "REFECF" .or.; // referenciada upper(cName) = "EMIT" .or.; // emitente upper(cName) = "AVULSA" .or.; // emitente avulsa pelo fisco upper(cName) = "DEST" .or.; // destinatario upper(cName) = "RETIRADA" .or.; // destinatario upper(cName) = "ENTREGA" .or.; // destinatario upper(cName) = "DET" .or.; // cabecalho de produtos.. upper(cName) = "PROD" .or.; // produtos upper(cName) = "IMPOSTO" .or.; // icms upper(cName) = "ICMS" .or.; // icms upper(cName) = "IPI" .or.; // ipi upper(cName) = "IPITRIB" .or.; // ipi upper(cName) = "IPINT" .or.; // ipi upper(cName) = "PIS" .or.; // pis upper(cName) = "PISALIQ" .or.; // pis upper(cName) = "PISQTDE" .or.; // pis upper(cName) = "PISNT" .or.; // pis upper(cName) = "PISOUTR" .or.; // pis upper(cName) = "PISST" .or.; // pis upper(cName) = "COFINS" .or.; // cofins upper(cName) = "COFINSALIQ" .or.; // cofins upper(cName) = "COFINSQTDE" .or.; // cofins upper(cName) = "COFINSNT" .or.; // cofins upper(cName) = "COFINSOUTR" .or.; // cofins upper(cName) = "COFINSST" .or.; // cofins upper(cName) = "ISSQN" .or.; // issqn upper(cName) = "TOTAL" .or.; // total upper(cName) = "ICMSTOT" .or.; // total icms upper(cName) = "ISSQNTOT" .or.; // issqn upper(cName) = "RETTRIB" .or.; // restitui‡Æo tribu upper(cName) = "TRANSP" .or.; // transportador upper(cName) = "RETTRANSP" .or.; // transportador upper(cName) = "VEICTRANSP" .or.; // transportador upper(cName) = "VOL" .or.; // volumes upper(cName) = "COBR" .or.; // cobran‡a upper(cName) = "FAT" .or.; // Fatura upper(cName) = "DUP" .or.; // duplicata upper(cName) = "INFADIC" .or.; // informa‡äes adicionais upper(cName) = "INFPROT" nfe_cabecalho = upper(cName) if upper(cName) = "DET" endif endif if nfe_cabecalho = "IDE" if !empty(cData) nfe_serie = iif(cName = "serie" ,cData,retorna_volta(nfe_serie )) nfe_numero = iif(cName = "nNF" ,cData,retorna_volta(nfe_numero )) nfe_emissao = iif(cName = "dEmi" ,cData,retorna_volta(nfe_emissao )) if empty(nfe_emissao) nfe_emissao = iif(cName = "dhEmi" ,cData,retorna_volta(nfe_emissao )) nfe_emissao = substr(nfe_emissao,1,10) endif endif endif if nfe_cabecalho = "EMIT" if !empty(cData) nfe_e_cnpj = iif(cName = "CNPJ" ,cData,retorna_volta(nfe_e_cnpj )) nfe_e_cpf = iif(cName = "CPF" ,cData,retorna_volta(nfe_e_cpf )) nfe_e_razaonome = iif(cName = "xNome" ,upper(cData),retorna_volta(nfe_e_razaonome )) nfe_e_estado = iif(cName = "UF" ,upper(cData),retorna_volta(nfe_e_estado )) endif endif if nfe_cabecalho = "ICMSTOT" if !empty(cData) nfe_t_valornota = iif(cName = "vNF" ,cData,retorna_volta(nfe_t_valornota )) endif endif if nfe_cabecalho = "INFPROT" if !empty(cData) nfe_chave = iif(cName = "chNFe" ,cData,retorna_volta(nfe_chave )) endif endif xmlNode := xmlIter:Next() enddo fclose(hFile) if nfe_notafiscalsimounao = "S" nfe_emissao = substr(nfe_emissao,9,2) + "-" + substr(nfe_emissao,6,2) + "-" + substr(nfe_emissao,1,4) aadd(asamplzNOTA,{"",; nfe_serie,; nfe_numero,; nfe_emissao,; nfe_e_razaonome,; iif(!empty(nfe_e_cnpj),nfe_e_cnpj,nfe_e_cpf),; nfe_e_estado,; nfe_t_valornota,; nfe_chave}) endif next odlgwait:end() if empty(asamplzNOTA) asamplzNOTA = {""} else asamplzNOTA := asort(asamplzNOTA,,,{|x,y| (x[4] > y[4])}) endif obrzNOTA:SetArray(asamplzNOTA) obrzNOTA:refresh() return nil
  4. Boa tarde, pessoal, Alguém saberia explicar o problema que está acontecendo comigo. Eu tenho dois programas que geram o codigo de vinculação para o sat-cfe, que é o programa da tanca e o programa da technospeed, ambos, geram codigo de vinculação usando o certificado digital A1. E os codigos gerados não iguais nos dois programas. Porem, quando vai fazer a vinculação usado o programa do sat, ou mesmo, se ficar a validação desse codigo de vinculação , dentro do site da sefaz, onde as softhouses mantém os seus cadastros, aparece a mensagem de codigo de vinculação INVÁLIDO. Alguém saberia ajudar, como resolver esse caso. Gratidão Pompeo - Guaratinguetá - SP
  5. Boa noite, galera fivewinners Alguém sabe como deixar os cantos arredondados do comando @ l1,c1 GROUP ig TO l2,c2 OF ODG PIXEL Gratidão a todos.
  6. Bom dia, Tenho uma matriz com 21 colunas: tab_item_1:={{"","","",0,0,0,"",0,0,0,0,"",0,"","",0,0,"",0,0,0}} Como faço para localizar uma informação que está na terceira coluna que é uma descrição de um produto ou uma frase. exemplo: localizar na terceira coluna da matriz: TAB_ITEM_1, a frase: "Não há Valores na Conta Corrente" Obrigado.
  7. Bom dia, tenho um tabela feito com xbrowse usando array. Eu preciso deixar editável a coluna de quantidade, fiz conforme abaixo, mas não grava na tabela as alterações Alguém o por quê? tab_item_1:={{"","","",0,0,0,"",0,0,0,0,"",0,"","",0,0,""}} oBrw0:=TXBrowse():New( oWnd ) oBrw0:nTop:=_l0*IF(IMP_CC="@",65,125)/768 oBrw0:nLeft:=15 oBrw0:nBottom:=_l0*IF(IMP_CC="@",500,555)/768 oBrw0:nRight:=if(_c0<=1600,640,950) oBrw0:nMarqueeStyle := MARQSTYLE_HIGHLCELL oBrw0:setArray(tab_item_1) oBrw0:nColDividerStyle := 0 oBrw0:nRowDividerStyle := 0 oBrw0:nHeaderLines := 1 //--> Cabecalho em 2 Linhas. oBrw0:lAllowColSwapping :=.F. // Trocar Colunas oBrw0:lAllowRowSizing := .F. //--> Nao move as Linhas oBrw0:nRowHeight := 25 //--> Altura das Linhas do ListBox. oBrw0:lHScroll := .F. oBrw0:lVScroll := .F. oBrw0:lHeader := .T. oBrw0:lFooter := .F. oBrw0:lRecordSelector := .F. oBrw0:l2007:=.T. oBrw0:bClrStd := {|| IF(TAB_ITEM_1[oBrw0:nArrayAT,1]="D",{CLR_WHITE,CLR_RED},{CLR_BLUE,CLR_WHITE}) } oBrw0:lFooter := .F. if _c0<=1600 oBrw0:oFont := OFNT44 else oBrw0:oFont := OFNT441 endif oBrw0:aCols[1]:cHeader := "?" oBrw0:aCols[1]:nWidth := 20 oBrw0:aCols[1]:nHeadStrAlign := AL_CENTER oBrw0:aCols[1]:nDataStrAlign := AL_CENTER oBrw0:aCols[2]:cHeader := "CÓDIGO" oBrw0:aCols[2]:nWidth := 60 oBrw0:aCols[2]:nHeadStrAlign := AL_LEFT oBrw0:aCols[2]:nDataStrAlign := AL_LEFT oBrw0:aCols[3]:cHeader := "DESCRIÇÃO" oBrw0:aCols[3]:nWidth := 295 oBrw0:aCols[3]:nHeadStrAlign := AL_LEFT oBrw0:aCols[3]:nDataStrAlign := AL_LEFT Somente essa coluna é editável, coluna 4 oBrw0:aCols[4]:cHeader := "QUANTID" oBrw0:aCols[4]:nWidth := 70 oBrw0:aCols[4]:nHeadStrAlign := AL_RIGHT oBrw0:aCols[4]:nDataStrAlign := AL_RIGHT oBrw0:aCols[4]:bStrData := {||IF(TAB_ITEM_1[oBrw0:nArrayAT,4]>0,IF(INT(TAB_ITEM_1[oBrw0:nArrayAT,4])=TAB_ITEM_1[oBrw0:nArrayAT,4],TRANSFORM( TAB_ITEM_1[oBrw0:nArrayAT,4] , '@E 999,999'),TRANSFORM( TAB_ITEM_1[oBrw0:nArrayAT,4] , '@E 999,999.999')),"") } oBrw0:aCols[4]:nEditType := 1 oBrw0:aCols[4]:CEDITPICTURE :="@E 999999.999" oBrw0:aCols[4]:bOnPostEdit := {|o,x|FieldPut( tab_item_1[oBrw0:nArrayAT ,4 ] , x) } // não funciona oBrw0:aCols[5]:cHeader := "VALOR" oBrw0:aCols[5]:nWidth := 70 oBrw0:aCols[5]:nHeadStrAlign := AL_RIGHT oBrw0:aCols[5]:nDataStrAlign := AL_RIGHT oBrw0:aCols[5]:bStrData := {|| IF(TAB_ITEM_1[oBrw0:nArrayAT,5]>0,TRANSFORM( TAB_ITEM_1[oBrw0:nArrayAT,5] , '@E 999,999.99'),"") } oBrw0:aCols[6]:cHeader := "TOTAL" oBrw0:aCols[6]:nWidth := 100 oBrw0:aCols[6]:nHeadStrAlign := AL_RIGHT oBrw0:aCols[6]:nDataStrAlign := AL_RIGHT oBrw0:aCols[6]:bStrData := {||IF(TAB_ITEM_1[oBrw0:nArrayAT,6]>0, TRANSFORM( TAB_ITEM_1[oBrw0:nArrayAT,6] , '@E 999,999.99'),"") } oBrw0:bClrSel := {|| {RGB(0,0,128),RGB(255,255,255)} } // COR SELECIONADA QUANDO SAI DE FOCO oBrw0:CreateFromCode() oBrw0:bKeydown:={|nkey|_obrw0(nkey,OBRW0:nArrayAt)}
  8. Alguém possui o instalador da versão 10.6 ainda? Eu já tenho essa versão e conferi com o Gilmer, mas ele não tem mais. Preciso para poder verificar os ajustes que eu fiz nos meus arquivos para replicar na versão mais nova
×
×
  • Create New...