-
Total de ítens
283 -
Registro em
-
Última visita
Tudo que Andre Rosa postou
-
Validar arquivo gerado - PAF-ECF
Andre Rosa replied to Andre Rosa's tópico in Dúvidas Gerais sobre o ACBr
Opa, achei que os homologadores usavam algum validador. Bem, se é no "olhometro", também farei assim. ^^ Obrigado! -
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.
-
Estou estudando-o. Obrigado pela dica.
-
Opa, que ótimo! Isso estava me tirando o sono. De que documentações você está falando? Obrigado!
-
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.
-
"Movimento por ECF". Todos os campos são necessários?
Andre Rosa replied to Andre Rosa's tópico in ACBrSerial
Eu estava apenas consultando, Juliomar. Obrigado pela dica e pelo link. -
"Movimento por ECF". Todos os campos são necessários?
um tópico no fórum postou Andre Rosa ACBrSerial
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! -
Gerar imagem do Cód. Barra à partir do ACBrETQ
Andre Rosa replied to Andre Rosa's tópico in ACBrSerial
Obrigado, Daniel. Vou tentar implementar à partir deste exemplo. abs. -
melhor tipo de código de barras.
Andre Rosa replied to Andre Rosa's tópico in Dúvidas Gerais sobre o ACBr
Vou dar uma olhada nesse. Obrigado! -
Gerar imagem do Cód. Barra à partir do ACBrETQ
Andre Rosa replied to Andre Rosa's tópico in ACBrSerial
Daniel, não há exemplos referente ao ACBrBarCode? Abs. -
melhor tipo de código de barras.
Andre Rosa replied to Andre Rosa's tópico in Dúvidas Gerais sobre o ACBr
Legal, achei o Code 39, parece atender minhas necessidades. Vocês sabem dizer se ele tem acrescenta zeros, em alguma ocasião? -
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.
-
Gerar imagem do Cód. Barra à partir do ACBrETQ
Andre Rosa replied to Andre Rosa's tópico in ACBrSerial
Obrigado, Daniel. Vou estudar o componente. André. -
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.
-
Obrigado, Daniel. Realizarei os testes assim que possível. André.
-
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
-
DBGrid com duas ou mais linhas por registro ?
Andre Rosa replied to Sérgio Assunção's tópico in Object Pascal - Delphi & Lazarus
Não entendi. Como assim duas linhas por registro? -
Faturamento de Serviços (cupom fiscal) com ACBr
Andre Rosa replied to Andre Rosa's tópico in Dúvidas Gerais sobre o ACBr
Obrigado! -
Faturamento de Serviços (cupom fiscal) com ACBr
Andre Rosa replied to Andre Rosa's tópico in Dúvidas Gerais sobre o ACBr
Nem sabia que tinha demo. Você sabe dizer o nome do demo? Obrigado! -
Faturamento de Serviços (cupom fiscal) com ACBr
um tópico no fórum postou Andre Rosa Dúvidas Gerais sobre o ACBr
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 -
Simulador de bomba de combustível e concentrador
um tópico no fórum postou Andre Rosa Dúvidas Gerais sobre o ACBr
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! -
Roteiro v1.7 Setembro/2011 Aplicável a ER-PAF-ECF 01.09
Andre Rosa replied to joseadolfojr's tópico in PAF-ECF
Parece que nessa nova versão há algo referente à NF-e. O ACBr já tem algo para isso? Obrigado. -
ACBr desenvolver parte de postos de gasolina PAF-ECF
um tópico no fórum postou Andre Rosa Dúvidas Gerais sobre o ACBr
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! -
Implementar o Bloco II do PAF-ECF com ACBr
um tópico no fórum postou Andre Rosa ACBrSintegra/ACBrPAF
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. -
Dados para o arquivo Movimentos por ECF [Resolvido]
Andre Rosa replied to Andre Rosa's tópico in ACBrSintegra/ACBrPAF
Beleza, só faltavam mais 3 propriedades. Obrigado.