-
Total de ítens
371 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que tiagopassarella postou
-
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
-
certinho ja deu certo... muito obrigado pela força
-
uso qual ssltype e como ficaria as opções da internet... pq nao esta dando certo... sempre volta erro 503
-
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 ?
-
minha pergunta é... meu sistema vai EMITIR nfe sendo o EMISSOR um MEI... gostaria de saber se o ACBR contempla essa opção...
-
Pessoal boa tarde... no acbr tem como emitir NF-e para pessoas MEI... ?? se tiver como proceder ? att Tiago Passarella
-
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
opa Disponha @renan testei em 2 microterminais... e funcionou perfeitamente... ufa...rssss -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
segue em anexo o arquivo alterado... att Tiago PassarellaACBrMTerClass.pas -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
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 -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
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 -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
pra mi mnao rolou dessa forma... vou ter de esperar alguem ver a postagem e nos dar uma ajuda... att Tiago Passsarella -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
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 -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
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 -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
BOM DIA... problema que eu nao guardei a versao anterior... nem sei como proceder agora... -
AcbrMter Cursor volta sempre para o Inicio
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
alguem ?? -
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;
-
Como Informar os dizeres do protesto ?
tiagopassarella replied to tiagopassarella's tópico in ACBrBoleto
tem mais alguma configuração qeu tem de ser feita ? pois estou informando a data protesto e nao esta informando a mensagem... -
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
-
ACBRSPED registro M210 com numero de campos incorretos
um tópico no fórum postou tiagopassarella ACBrDiversos
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- 1 reply
-
- 2
-
-
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;
-
alguem sabe me responder ????
-
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
-
ACBRMter - esta pulando uma linha nas chamadas
tiagopassarella replied to tiagopassarella's tópico in ACBrTCP
ja resolvi... é so colocar a seguinte linha antes de fazer a chamada a cima... aString := ''; mesmo assim obrigado a todos.. -
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
-
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...