Ir para conteúdo
  • Cadastre-se

tiagopassarella

Membros Pro
  • Total de ítens

    371
  • Registro em

  • Última visita

Tudo que tiagopassarella postou

  1. boa tarde amigos... estou com um problema em todas minhas nfse... esta dando o erro conforme o print abaixo... alguem pode me ajudar ? att Tiago Passasrella
  2. certinho ja deu certo... muito obrigado pela força
  3. uso qual ssltype e como ficaria as opções da internet... pq nao esta dando certo... sempre volta erro 503
  4. Bom dia pessoal... estou com um erro aqui e nao consigo resolver... a emissao da minha ct-e esta voltando o erro 503 conforme imagem abaixo. tentei emitir em contigencia... e veio o erro 12175 ja tentei varias configurações do tls e do ssl e nao deu certo... sou do estado de MG... alguem pode me ajudar por favor ?
  5. minha pergunta é... meu sistema vai EMITIR nfe sendo o EMISSOR um MEI... gostaria de saber se o ACBR contempla essa opção...
  6. tiagopassarella

    Emitir NF-e para MEI

    Pessoal boa tarde... no acbr tem como emitir NF-e para pessoas MEI... ?? se tiver como proceder ? att Tiago Passarella
  7. opa Disponha @renan testei em 2 microterminais... e funcionou perfeitamente... ufa...rssss
  8. segue em anexo o arquivo alterado... att Tiago PassarellaACBrMTerClass.pas
  9. boa tarde... pra mim com a alteração ficou perfeita.;... tudo voltou a funcionar perfeitamente alterando apenas a classe ACBrMTerClass > LimparConteudoParaEnviar > altearar o IF que tem de if not CharInSet(aChar, [#32..#126,#13,#10,#8]) then para if not CharInSet(aChar, [#32..#126,#10,#8]) then feito isso tudo se resolveu... @EMBarbosa da uma analisada pra gente nisso se e possivel efetuar essa alteração ai no ABRMter pra que a gnete possa ja baixar direto do SVN na proxima versao... att Tiago Passarella
  10. eu tenho um microterminal com outro modelo pra testar... vou fazer isso aki pra ver se resolve... e logo mais posto aki.. att Tiago Passarella
  11. pra mi mnao rolou dessa forma... vou ter de esperar alguem ver a postagem e nos dar uma ajuda... att Tiago Passsarella
  12. pensei nisso mas e complicado... pois eu ja estou com a versao nova do acbr rodando com outras coisas que preciso... entao pra mim e inviavel voltar a versao... vou esperar alguem nos ajudar com essa questao mesmo... att Tiago passarella
  13. nao consegui resolver nao... pior qeu estou com situação dificil com cliente pois estava funcionando e preciso entregar uma atualização... agora complicou... se alguem conseguir nos ajude por favor... att Tiago Passarella
  14. BOM DIA... problema que eu nao guardei a versao anterior... nem sei como proceder agora...
  15. Boa Tarde... estou com um problema que nao consigo resolver... sempre que eu recebo uma resposta nova o CURSOR volta para o inicio da palavra... e isso aconteceu apos eu atualziar o ACBR antes nao estava fazendo isso... alguem pode me ajudar ? se alterou alguma coisa nesse sentido ? no codigo abaixo eu leio o estado do microterminal e vou setando no display... porem o cursor nao esta respeitando... eu percebi fazendo passo a passo no codigo que tudo acontece perfeitamente ATE entrar no Echo que seria o final do recebe dados... ai ele volta o cursor para o inicio do texto... Result := True; try ACBrMTer1.LimparDisplay(aIP); Sleep(250); Application.ProcessMessages; IF cdsEst.Locate('IP',aIP,[loCaseInsensitive,loPartialKey])=False then begin cdsEst.Append; cdsEstIP.AsString := aIP; cdsEstESTADO.AsString := '1'; cdsEst.Post; cdsEst.Locate('IP',aIP,[loCaseInsensitive,loPartialKey]); end; case cdsEstESTADO.AsInteger of 0: Exit; 1: begin ACBrMTer1.EnviarTexto(aIP, 'Operador: '); end; 2: begin ACBrMTer1.EnviarTexto(aIP, 'Comanda: '); end; 3: BEGIN Qry := TSQLQuery.Create(nil); Qry.SQLConnection := DataModule1.Conexao; Qry.SQL.Text := 'SELECT Sum(TOTAL+ACRESCIMO) As Total FROM TBCOMANDA_DETALHE WHERE STATUS=:p1 AND MESA=:p2'; Qry.ParamByName('p1').AsString := 'A'; QRY.ParamByName('p2').AsInteger := Comanda; qry.Open; if not Qry.IsEmpty then begin ACBrMTer1.EnviarTexto(aIP, 'Valor : ' + FormatFloat('#,##0.00',QRY.FieldByName('TOTAL').AsFloat)); end else begin ACBrMTer1.EnviarTexto(aIP, 'Valor : ' + FormatFloat('#,##0.00',0)); end; qry.Close; qry.Free; ACBrMTer1.PosicionarCursor(aIP,2,1); ACBrMTer1.EnviarTexto(aIP, 'Item: '); END; 4: begin ACBrMTer1.EnviarTexto(aIP,Copy(P.DESCRICAO,1,15)); ACBrMTer1.PosicionarCursor(aIP,2,1); ACBrMTer1.EnviarTexto(aIP,'Qtde: '); end; end; finally Result := false; Application.ProcessMessages; end;
  16. tem mais alguma configuração qeu tem de ser feita ? pois estou informando a data protesto e nao esta informando a mensagem...
  17. Bom Dia Amigos... gostaria de saber o seguinte... como eu devo informar os dizeres no boleto tipo: PROTESTAR ESTE TITULO 5 DIAS APOS O VENCIMENTO... eu estou informando os campos... CodigoNegativacao := cnProtestarCorrido; DataBaixa := strtodate(vencimento1) + StrToInt(Bol_Limite); DataLimitePagto := strtodate(vencimento1) + StrToInt(Bol_Limite); DataProtesto := strtodate(vencimento1) + StrToInt(Bol_Protesto); onde eu devo colocar o texto de protesto ??? att Tiago Passarella
  18. Bom Dia Pessoal estou gerando o sped contribuições na versao 310 e esta dando erro ao importar para o validador... esta dizendo que o numero de campos esta errado... pelo validador esta constando que deveria ter 13 e esta sendo montando pelo acbr com 16... como proceder ? desde ja agradeço a ajuda de vcs segue arquivo para analise... att Tiago Passarella EFDContribuicoes-09654587000127-FEVEREIRO-2019.txt amigos me perdoem pelo vacilo... validador desatualizado... att Tiago Passarella
  19. Bom Dia Amigos... estou com um problema serio e nao sei como resolver... espero que possam me ajudar... Eu fiz um projeto para uso do microterminal que tem funcionado muito bem ate o momento, porem ate agora so usei com 1 microterminal agora senti a necessidade de colocar 2... ai comecou o problema... quando os dois microterminais estao em uso simultaneamente, comeca dar pau em tudo e travar tudo... sera que alguem consegue me ajudar ? vou postar a baixo o meu codigo pra ver se existe algo errado.. att Tiago Passarella procedure TFrmPrincipal.ACBrMTer1RecebeDados(const IP: AnsiString; var Recebido: AnsiString; var EchoMode: TACBrMTerEchoMode); begin Memo1.Lines.Add('IP: ' + IP + ' - Recebido :' + Recebido); if Recebido = #13 then begin if Passou=False then begin AvaliarRespostaTerminal(IP, Recebido); end; end else if Recebido = #$12 then begin AtualizaConexoes; _RespostaMicroterminal := ''; Passou := False; Operador := 0; Comanda := 0; AlterarEstadoTerminal(IP,1); end else if Recebido = #$1B then begin AtualizaConexoes; _RespostaMicroterminal := ''; Passou := False; Operador := 0; Comanda := 0; AlterarEstadoTerminal(IP,1); end else if Recebido = #8 then begin AtualizaConexoes; _RespostaMicroterminal := ''; Passou := False; Operador := 0; Comanda := 0; AlterarEstadoTerminal(IP,1); end else begin _RespostaMicroterminal := _RespostaMicroterminal + Recebido; if (_EstadoMicroterminal=2) and (Pos(#$D,_RespostaMicroterminal)>0) then // LE COMANDA E CONFERE begin _RespostaMicroterminal := StringReplace(_RespostaMicroterminal, #$D#$A, '', [rfReplaceAll]); AvaliarRespostaTerminal(IP, Recebido); end else if (_EstadoMicroterminal=3) and (Pos(#$D,_RespostaMicroterminal)>0) then // LE PRODUTO begin _RespostaMicroterminal := StringReplace(_RespostaMicroterminal, #$D#$A, '', [rfReplaceAll]); AvaliarRespostaTerminal(IP, Recebido); end; end; end; procedure TFrmPrincipal.AtualizaConexoes; var I: Integer; Vl:integer; JaExiste:Boolean; IpMicroterminalX:string; IpMicroterminalY:string; begin IpMicroterminalX := ''; IpMicroterminalY := ''; with ACBrMTer1.TCPServer.ThreadList.LockList do try for I := 0 to Count - 1 do begin JaExiste := false; IpMicroterminalX := ''; IpMicroterminalY := ''; with TACBrTCPServerThread(Items[I]) do if Active then begin for vl := 0 to clbConectados.Items.Count -1 do begin IpMicroterminalX := StringReplace(clbConectados.Items[Vl], #$D#$A, '', [rfReplaceAll]); IpMicroterminalX := StringReplace(IpMicroterminalX, #13#10, '', [rfReplaceAll]); if Trim(IpMicroterminalX) = Trim(TCPBlockSocket.GetRemoteSinIP) then begin JaExiste := true; end; end; if JaExiste=false then begin clbConectados.Items.Add(TCPBlockSocket.GetRemoteSinIP); AlterarEstadoTerminal(TCPBlockSocket.GetRemoteSinIP,1); end; end; end; finally ACBrMTer1.TCPServer.ThreadList.UnlockList; end; Application.ProcessMessages; end; procedure TFrmPrincipal.AvaliarRespostaTerminal(aIP: AnsiString; var aString: AnsiString); var Qry:TSQLQuery; Quantidade:Extended; VL:Integer; begin case _EstadoMicroterminal of 1: // PEDE OPERADOR begin try Qry := TSQLQuery.Create(nil); Qry.SQLConnection := DataModule1.Conexao; Qry.SQL.Text := 'SELECT ID,NOME FROM TBVENDEDORES WHERE ID=:p1'; QRY.ParamByName('p1').AsInteger := StrToInt(_RespostaMicroterminal); QRY.Open; if not QRY.IsEmpty then begin ACBrMTer1.EnviarTexto(aIP,' - ' + QRY.FieldByName('NOME').AsString); Operador := qry.FieldByName('ID').AsInteger; Sleep(500); END ELSE begin Qry.SQL.Clear; Qry.Close; Qry.Free; Operador := 0; _RespostaMicroterminal := ''; ACBrMTer1.LimparDisplay(aIP); ACBrMTer1.EnviarTexto(aIP, 'OPERADOR NAO CADASTRADO'); Sleep(1000); Passou := false; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,1); end; Qry.SQL.Clear; Qry.Close; Qry.Free; AtualizaConexoes; aString := ''; _RespostaMicroterminal := ''; Passou := False; AlterarEstadoTerminal(aIP,2); except Qry.SQL.Clear; Qry.Close; Qry.Free; Operador := 0; _RespostaMicroterminal := ''; ACBrMTer1.LimparDisplay(aIP); ACBrMTer1.EnviarTexto(aIP, 'OPERADOR NAO CADASTRADO'); Sleep(1000); Passou := false; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,1); end; end; 2: // PEDE COMANDA begin try Comanda := StrToInt(_RespostaMicroterminal); aString := ''; _RespostaMicroterminal := ''; Passou := False; AlterarEstadoTerminal(aIP,3); except Comanda := 0; _RespostaMicroterminal := ''; ACBrMTer1.LimparDisplay(aIP); ACBrMTer1.EnviarTexto(aIP, 'COMANDA INVALIDA'); Sleep(1000); aString := ''; Passou := True; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,2); end; end; 3: // PEDE ITEM begin P := ConsultaProduto(_RespostaMicroterminal); if P.CODIGO='' then begin _RespostaMicroterminal := ''; ACBrMTer1.LimparDisplay(aIP); ACBrMTer1.EnviarTexto(aIP, 'PRODUTO NAO CADASTRADO'); Sleep(1000); aString := ''; Passou := False; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,3); end else begin Passou := False; aString := ''; _RespostaMicroterminal := ''; Passou := False; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,4); end; end; 4: //LANCA QUANTIDADE begin if _RespostaMicroterminal='' then AlterarEstadoTerminal(aIP,4); Quantidade := 0; try Quantidade := StrToFloat(_RespostaMicroterminal.Replace('.','')); except AlterarEstadoTerminal(aIP,4); end; if Quantidade=0 then BEGIN _RespostaMicroterminal := ''; ACBrMTer1.LimparDisplay(aIP); ACBrMTer1.EnviarTexto(aIP, 'QUANTIDADE INVALIDA'); Sleep(1000); aString := ''; Passou := False; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,3); end ELSE BEGIN try Qry := TSQLQuery.Create(nil); Qry.SQLConnection := DataModule1.Conexao; Qry.SQL.Text :='Insert Into TBCOMANDA_DETALHE(MESA,DATA,ITEM,ID_COMANDA,ID_VENDEDOR,CODIGO_INTERNO,QTDE,VALOR,TOTAL,'+ 'TIPO_COMANDA,UNIDADE,PRODUTO,GTIN,ECF_ICMS_ST,STATUS,SEL,CANCELADO,CODGRUPO,HORA,MEIAPIZZA,IDPIZZA)VALUES(:pMESA,:pDATA,:pITEM,:pID_COMANDA,:pID_VENDEDOR,:pCODIGO_INTERNO,'+ ':pQTDE,:pVALOR,:pTOTAL,:pTIPO_COMANDA,:pUNIDADE,:pPRODUTO,:pGTIN,:pECF_ICMS_ST,:pSTATUS,:pSEL,:pCANCELADO,:pCODGRUPO,:pHORA,:pMEIAPIZZA,:pIDPIZZA)'; Qry.ParamByName('pMESA').AsInteger := Comanda; Qry.ParamByName('pDATA').AsDate := Date ; Qry.ParamByName('pITEM').AsInteger := 0; Qry.ParamByName('pID_COMANDA').AsInteger := 0; Qry.ParamByName('pID_VENDEDOR').AsInteger := Operador; Qry.ParamByName('pCODIGO_INTERNO').AsString := P.CODIGO; Qry.ParamByName('pQTDE').AsFloat := Quantidade; Qry.ParamByName('pVALOR').AsFloat := P.VENDA; Qry.ParamByName('pTOTAL').AsFloat := Quantidade * P.VENDA ; Qry.ParamByName('pTIPO_COMANDA').AsString := 'MESA'; Qry.ParamByName('pUNIDADE').AsString := P.UNIDADE; Qry.ParamByName('pPRODUTO').AsString := P.DESCRICAO; Qry.ParamByName('pGTIN').AsString := P.CODIGO; Qry.ParamByName('pECF_ICMS_ST').AsString := P.TECF; Qry.ParamByName('pSTATUS').AsString := 'A'; Qry.ParamByName('pSEL').AsString := 'S'; Qry.ParamByName('pCANCELADO').AsString := 'N'; Qry.ParamByName('pCODGRUPO').AsInteger := StrToInt(P.GRUPO); Qry.ParamByName('pHORA').AsString := TimeToStr(NOW); Qry.ParamByName('pMEIAPIZZA').AsString := 'NAO'; Qry.ParamByName('pIDPIZZA').AsInteger := 0; Qry.ExecSQL(); Qry.SQL.Clear ; finally Qry.Close; Qry.Free; GravaComandaPDV(Comanda); end; aString := ''; Passou := False; _RespostaMicroterminal := ''; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,3); END; end; end; end;
  20. alguem sabe me responder ????
  21. Boa tarde amigos... uma duvida... eu vi que no ACBRMter ja tem a função para solicitar o peso da balanca conectada minha duvida é... essa funcao serve para qualquer modelo de balanca ?? basta ela estar conectada no micro terminal ? pois no exemplo do ACBR vi que o combobox de modelo da balanca fica vazio... att Tiago Passarella
  22. ja resolvi... é so colocar a seguinte linha antes de fazer a chamada a cima... aString := ''; mesmo assim obrigado a todos..
  23. Bom Dia pessoal... vamos ver se vcs conseguem me ajudar... eu estou implantando o Micro terminal em meu sistema, e a minha dificuldade esta que sempre que mando um texto ele fica um poco cortado pois da impressao que esta pulando uma linha apos o texto... vou postar aki o meu codigo pra ver se vcs podem me ajudar... e um print do texto como ta ficando no micro terminal... este e o codigo para alterar o estado do micro terminal... function TFrmPrincipal.AlterarEstadoTerminal(aIP: String; aEstado: Integer): Boolean; begin Result := True; try ACBrMTer1.LimparDisplay(aIP); _EstadoMicroterminal := aEstado; case aEstado of 0: Exit; 1: ACBrMTer1.EnviarTexto(aIP, 'Operador: '); 2: ACBrMTer1.EnviarTexto(aIP, 'Comanda: '); 3: ACBrMTer1.EnviarTexto(aIP, 'Item: '); end; finally Result := false; end; end; aqui e o que ele faz com as chamadas... procedure TFrmPrincipal.AvaliarRespostaTerminal(aIP: AnsiString; var aString: AnsiString); var Qry:TSQLQuery; begin case _EstadoMicroterminal of 1: // PEDE OPERADOR begin Qry := TSQLQuery.Create(nil); qry.SQLConnection := DataModule1.Conexao; qry.SQL.Text := 'SELECT ID,NOME FROM TBVENDEDORES WHERE ID=:p1'; QRY.ParamByName('p1').AsInteger := StrToInt(_RespostaMicroterminal); QRY.Open; if not QRY.IsEmpty then begin ACBrMTer1.EnviarTexto(aIP,' - ' + QRY.FieldByName('NOME').AsString); Sleep(1000); END ELSE begin Qry.SQL.Clear; Qry.Close; Qry.Free; _RespostaMicroterminal := ''; ACBrMTer1.LimparDisplay(aIP); ACBrMTer1.EnviarTexto(aIP, 'OPERADOR NAO CADASTRADO'); Sleep(2000); Passou := false; ACBrMTer1.LimparDisplay(aIP); AlterarEstadoTerminal(aIP,1); end; Qry.SQL.Clear; Qry.Close; Qry.Free; _RespostaMicroterminal := ''; Passou := true; AlterarEstadoTerminal(aIP,2); // AKI ESTA O PROBLEMA end; 2: // PEDE COMANDA begin end; 3: // PEDE ITEM begin end; end; end; O PROBLEMA ESTA NESSA PARTE... AlterarEstadoTerminal(aIP,2); // AKI ESTA O PROBLEMA apos ele entrar ai ele volta pedindo o numero da comanda... e junto com a solicitação ele esta indo um ENTER nao sei por que... ai o texto fica cortado conforme imagem abaixo espero que tenha dado pra entender o que esta ocorrendo, e espero que possam me ajudar. desde ja muito grato... att Tiago Passarella
  24. italo vamos la... desde o inicio... 1 - estava voltando um erro unespected cpf='' 2 - atualizei os fontes acbr e os schemas 3 - voltou erro de serie incompativel 4 - com a serie 920 voltou o erro emissor nao habilitado... acho qeu agora ficou explicado... so quero saber se o erro emissor nao habilitado e realmente a falta de cadastro do cliente na sefaz ou se eu tenho de fazer algo...
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.