Ir para conteúdo
  • Cadastre-se

Andre Rosa

Membros
  • Total de ítens

    283
  • Registro em

  • Última visita

Tudo que Andre Rosa postou

  1. Opa, achei que os homologadores usavam algum validador. Bem, se é no "olhometro", também farei assim. ^^ Obrigado!
  2. Boa tarde, Eu gostaria de saber se alguém aqui do fórum sabe onde consigo um validador para o Menu Fiscal do PAF-ECF, que esteja de acordo com o novo roteiro (Versão 1.7 – setembro/2011). Bem, alguém aí sabe? Como vocês fazem pra saber de que tudo esta certo (mesmo seguindo o roteiro à risca)? abs, André Rosa.
  3. Opa, que ótimo! Isso estava me tirando o sono. De que documentações você está falando? Obrigado!
  4. Olá amigos! Estou lendo o ATO COTEPE, para fazer os testes do PAF-ECF, e homologar logo de uma vez. Bem, na parte referente ao Vendas do Período, e, neste trecho: “Vendas do Período” para gerar dois arquivos eletrônicos, com possibilidade de seleção por período de data, sendo: a) um arquivo conforme leiaute estabelecido no Manual de Orientação do Convênio 57/95, devendo conter os registros relativos às operações de saída e prestações praticadas e os registros tipo 10, 11, 75 e 90; É que está o meu problema. Bom, recorri ao exemplo do ACBr (\ACBr\Exemplos\ACBrSintegra), para gerar tais registros, de acordo com o ATO COTEPE. Fiz isto: with ACBrSintegra1 do begin try {Registro 10} Registro10.CNPJ:= PoeZeros(SoNumeros(RegEmpresa.CGC),14); {TAM} Registro10.Inscricao:= CortaString(SoNumeros(RegEmpresa.InscEstadual),14,true); Registro10.RazaoSocial:= CortaString(RegEmpresa.Nm_Empresa,35,true); Registro10.Cidade:= CortaString(RegEmpresa.Cidade,30,true); Registro10.Estado:= CortaString(RegEmpresa.Estado,2,true); Registro10.Telefone:= PoeZeros(SoNumeros(RegEmpresa.Telefone),10); Registro10.DataInicial:= DataHoraInicial(edtDe.Date); Registro10.DataFinal:= DataHoraInicial(edtAte.Date); Registro10.CodigoConvenio:= IntToStr(3); Registro10.NaturezaInformacoes := IntToStr(3); Registro10.FinalidadeArquivo := IntToStr(1); except Informa('Falha ao gerar o Registro 10.'); end; try {Registro 11} ThreadQuery.ExecuteAndWait(Self); query.Active := false; query.SQL.Clear; query.SQL.Add('SELECT E.* FROM EMPRESAS E'); if not query.Prepared then query.Prepare; query.Active := true; Registro11.Endereco:= CortaString(RegEmpresa.Endereco,34,true); Registro11.Numero:= PoeZeros(Query.FieldByName('ENDERECO_NUMERO').AsString,5); Registro11.Complemento:= CortaString(Query.FieldByName('COMPLEMENTO').AsString,22,true); Registro11.Bairro:= CortaString(RegEmpresa.Bairro,15,true); Registro11.Cep:= RegEmpresa.Cep; Registro11.Responsavel:= CortaString(Query.FieldByName('NM_RESPONSAVEL').AsString,28,true); Registro11.Telefone:= PoeZeros(SoNumeros(RegEmpresa.Telefone),12); except on e : Exception do Informa('Falha ao gerar o Registro 11 '+ e.Message); end; GerarRegistro50; GerarRegistro60M; GerarRegistro60A; GerarRegistro60D; try Data:= DataHoraInicial(edtDe.Date); while Data <= DataHoraFinal(edtAte.Date) do begin with Query do begin Active:= False; SQL.Clear; SQL.Add('SELECT PR.CD_PRODUTO, PI.QUANTIDADE, PI.SUBTOTAL'); SQL.Add('from PEDIDO_ITEM PI'); SQL.Add('join PEDIDO PD on PD.NUM_DOCUMENTO = PD.NUM_DOCUMENTO'); SQL.Add('left outer join PRODUTOS PR on PI.CD_PRODUTO = PR.CD_PRODUTO '); // SQL.Add('where PD.DATA_HORA between :de and :ate'); if rgpFaixadeDados.ItemIndex = 2 then SQL.Add('WHERE (ECF_COO BETWEEN :DE AND :ATE)') else if rgpFaixadeDados.ItemIndex = 1 then SQL.Add('WHERE (ECF_CRZ BETWEEN :DE AND :ATE)') else SQL.Add('where PD.DATA_HORA between :de and :ate'); Active:= TRUE; if not Prepared then Prepare; if rgpFaixadeDados.ItemIndex = 2 then begin ParamByName('DE').AsString := edtCOOIni.Text; ParamByName('ATE').AsString := edtCOOFin.Text; end else if rgpFaixadeDados.ItemIndex = 1 then begin ParamByName('DE').AsString := edtCRZIni.Text; ParamByName('ATE').AsString := edtCRZFin.Text; end else begin ParamByName('DE').AsDateTime := DataHoraInicial(edtDe.Date); ParamByName('ATE').AsDateTime := DataHoraFinal(edtAte.Date); end; Active:= True; First; while not eof do begin try {********************************************************} {* REGISTRO 75 - COD. PRODUTOS OU SERVIÇOS *} {********************************************************} wRegistro75:= TRegistro75.Create; wRegistro75.DataInicial:= ACBrSintegra1.Registro10.DataInicial; wRegistro75.DataFinal:= ACBrSintegra1.Registro10.DataFinal; wRegistro75.Codigo:= wRegistro60D.Codigo; wRegistro75.Descricao:= FieldByName('NM_PRODUTO').AsString; wRegistro75.Unidade:= FieldByName('UNIDADE').AsString; if FieldByName('IPI').IsNull then wRegistro75.AliquotaIpi:= 0 else wRegistro75.AliquotaIpi:= FieldByName('IPI').AsCurrency; wRegistro75.AliquotaICMS:= 0; ACBrSintegra1.Registros75.Add(wRegistro75); except on e : Exception do Informa('Falha ao gerar o registro 75. '+ e.Message); end; Next; end; Data:= IncDay(Data,1); end; Query.Active:= False; end; except on e : Exception do Informa('Falha ao gerar o arquivo 60D. '+e.Message); end; try GeraArquivo; except on e : Exception do Informa('Falha ao gerar Arquivo Sintegra.'+ e.Message); end; ACBrECF.Free; FechaTransacao; end; Mas e o registro 90? Como posso gera-lo? Não encontrei um exemplo para ele nos exemplos do ACBr. Um abraço.
  5. Eu estava apenas consultando, Juliomar. Obrigado pela dica e pelo link.
  6. Olá, Seguindo os exemplos do ACBr, para o "Movimento por ECF", fiz esta rotina: with ACBrPAF.PAF_R do begin RegistroR01.NUM_FAB := FieldByName('NUM_ECF').AsString; RegistroR01.MF_ADICIONAL:= FieldByName('MF_ADICIONAL').AsString; RegistroR01.TIPO_ECF := FieldByName('TIPO_ECF').AsString; RegistroR01.MARCA_ECF := FieldByName('MARCA').AsString; RegistroR01.MODELO_ECF := FieldByName('MODELO').AsString; RegistroR01.VERSAO_SB := FieldByName('VERSAO_SB').AsString; RegistroR01.DT_INST_SB := FieldByName('DATAHORA_INSTAL_SB').AsDate; RegistroR01.HR_INST_SB := StrToTime(FormatDateTime('hh:mm', FieldByName('HR_INSTAL_SB').AsDateTime)); RegistroR01.NUM_SEQ_ECF := StrToInt(FieldByName('NUM_SEQ_ECF').AsString); RegistroR01.CNPJ := RegEmpresa.CGC; RegistroR01.IE := RegEmpresa.InscEstadual ; RegistroR01.DT_INI := edtDe.Date; RegistroR01.DT_FIN := edtAte.Date; RegistroR01.NOME_SH := RegEmpresa.Nm_Empresa; with RegistroR02.New do begin NUM_USU := StrToInt(FieldByName('USUARIO_ATUAL').AsString); CRZ := StrToInt(FieldByName('CRZ').AsString); COO := StrToInt(FieldByName('COO').AsString); CRO := StrToInt(FieldByName('CRO').AsString); DT_MOV := FieldByName('ECF_DT_MOV').AsDate; DT_EMI := FieldByName('DATAHORA_INI_EMI').AsDate; HR_EMI := StrToTime(FormatDateTime('hh:mm', FieldByName('DATAHORA_INI_EMI').AsDateTime)); VL_VBD := StrToCurr(FieldByName('VENDA_BRUTA').AsString); end; with RegistroR04.New do begin NUM_USU := StrToInt(FieldByName('USUARIO_ATUAL').AsString); NUM_CONT := StrToInt(FieldByName('NUM_ECF').AsString); COO := StrToInt(FieldByName('COO').AsString); DT_INI := edtDe.Date; SUB_DOCTO := edtAte.Date; if FieldByName('ACRES_DESC_TIPO').AsString = '$' then TP_DESCTO := 'V' //todo VERIFICAR else TP_DESCTO := 'F'; SUB_ACRES := StrToInt(FieldByName('ECF_SUB_ACRES').AsString); if FieldByName('ACRES_DESC_TIPO').AsString = '$' then TP_DESCTO := 'V' else TP_DESCTO := 'F'; VL_TOT := StrToInt(FieldByName('TOTALPAGO').AsString); CANC := FieldByName('CANCELADO').AsString; VL_CA := StrToInt(FieldByName('CANC_VALOR').AsString); ORDEM_DA := FieldByName('ECF_ORDEM_DA').AsString; NOME_CLI := FieldByName('NM_CLIENTE').AsString; CNPJ_CPF := FieldByName('CPF').AsString; end; with RegistroR06.New do begin NUM_USU:= StrToInt(FieldByName('USUARIO_ATUAL').AsString); COO := StrToInt(FieldByName('COO').AsString); GNF := StrToInt(FieldByName('GNF').AsString); GRG := StrToInt(FieldByName('GRG').AsString); CDC := StrToInt(FieldByName('CDC').AsString); DENOM := FieldByName('DENOMINACAO').AsString; DT_FIN := edtAte.Date; HR_FIN := StrToTime(FormatDateTime('hh:mm', FieldByName('DATAHORA_FIN_EMI').AsDateTime)); end; end; Bem, todos os campos realmente são necessários? Pra que serve os campos: ORDEM_DA e DT_MOV? Devo preenche-los com o que? Obrigado!
  7. Obrigado, Daniel. Vou tentar implementar à partir deste exemplo. abs.
  8. Daniel, não há exemplos referente ao ACBrBarCode? Abs.
  9. Legal, achei o Code 39, parece atender minhas necessidades. Vocês sabem dizer se ele tem acrescenta zeros, em alguma ocasião?
  10. Olá, Bem, eu estava usando o tipo 128C, mas, no entanto, notei o que o mesmo, às vezes, adiciona zeros ao código, e isso me trará problemas. Como o EAN13 funciona bem apenas com 13 dígitos, qual outro tipo vocês me recomendam? Me recordo que no Rave tinha o tipo "128", que era perfeito, mas ele não existe no Fast Report, no FastReport temos o 128A, 128B e 128C. Alguém poderia me dar uma dica? Obrigado.
  11. Obrigado, Daniel. Vou estudar o componente. André.
  12. Bom dia. Estou tendo uma enorme dificuldade em manipular a grossura (width) dos meus códigos de barra no FastReport, e como não quero voltar pro Rave, vou experimentar o ACBr para esse propósito. Bem, eu gostaria de saber se há alguma maneira de gerar uma "imagem" à partir do código de barra gerado pelo ACBrETQ. Isso é possível? Grato, André Rosa.
  13. Obrigado, Daniel. Realizarei os testes assim que possível. André.
  14. Andre Rosa

    Impressora Zebra S4m00

    Boa tarde, Estou com uma impressora Zebra S4m00, para impressão de etiquetas de código de barras. Bem, configurei ela, deixei como padrão do sistema. Ela está na porta USB e funciona, imprimindo pelo Rave. As propriedades do meu componente ACBrETQ estão da seguinte forma: Estou fazendo alguma coisa errada? Não está imprimindo pelo ACBr. Obs: Eu já havia testado o mesmo sistema com a impressora Argox PPL1, rodando na porta COM1 e havia funcionado perfeitamente. Informações adicionais: Delphi 2010; SO: Windows XP
  15. Nem sabia que tinha demo. Você sabe dizer o nome do demo? Obrigado!
  16. Olá, Eu gostaria de saber se através do ACBr eu consigo implementar o este. É algo como isso aqui: http://www.siagri.com.br/bis/newbis/abr ... amento.pdf
  17. Olá, Conversando com a homologadora, fiquei sabendo que precisarei levar um simulador de bomba de combustível e concentrador no dia da homologação, já que meu menu fiscal também será postos de gasolina. Bem, alguém aí sabe onde consigo isso, gratuítamente? É um aplicativo? É um aparelho? Alguém poderia me informar melhor? Obrigado!
  18. Parece que nessa nova versão há algo referente à NF-e. O ACBr já tem algo para isso? Obrigado.
  19. Olá, Com relação à menus fiscais que também atendem postos de combustíveis, o ACBr oferece suporte para tal? Pelo que lí no roteiro, é necessário mais duas funções (botões) para este caso, que são: Encerrantes e Abastecimentos Pendentes. Com o ACBr eu consigo desenvolver os requisitos referentes ao bloco II? (Requisitos e Testes relacionados no Bloco II = obrigatórios para o PAF-ECF para Posto Revendedor de Combustíveis;) Obrigado!
  20. Olá, Para o Bloco II, do Menu Fiscal do PAF-ECF, que é referente à postos de gasolinas, há alguma possibilidade de implementar seus requisitos usando o ACBr? Obrigado.
×
×
  • 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.