Ir para conteúdo
  • Cadastre-se

Mauricio Elias

Membros Pro
  • Total de ítens

    275
  • Registro em

  • Última visita

Posts postados por Mauricio Elias

  1. Olá Tudo Bem!

    Por Favor gostaria de esclarecer algumas dúvidas:

    Estou implementando a geração da GNRE, e estou com algumas dúvidas de como informar os dados em alguns campos no ACBrGNRE, mesmo olhando o exemplo e a unit pgnreGNRE não sei como informar.

    Vamos aos campos:

    c27_tipoIdentificacaoEmitente e c34_tipoIdentificacaoDestinatario estes dois campos são do tipo integer, no exemplo está sendo informado 1 pelo outros campos acredito que seja referente a pessoa jurídica, e isso? Pessoa física informo 2? 

    O campo sobre o Período referencia.periodo no exemplo está sendo informado o número 1! No site que mais consegui informação sobre GNRE que é no site da sefaz de Pernambuco mostras as seguintes opções para esse campo período(no caso de estados que exigem esse campo) :

    - Mensal - 01 a 30 do mês de competência;
    - Quinzenal - 01 a 15 (1ª quinzena) ou 16 a 30 (2ª quinzena) do mês de competência;
    - Decendial - 01 a 10(1° decêndio) ou 11 a 20 (2° decêndio) ou 21 a 30 (3° decêndio)) do mês de competência), de acordo com cada estado.

    o 1 usado no exemplo seria referente ao período Mensal? Para o Quinzenal seria o 2? Decendial o 3?

    O campo referencia.parcela esse campo não consegui muita informação ele significa que uma gnre pode ser paga em mais de uma parcela?

    O campo c42_identificadorGuia no exemplo está com o valor '001' em um xml que baixei no forúm do ACBr esse campo está com o valor 80, eu não consegui achar informações sobre quais valores são aceitos e o que cada um significa, por favor quais são os valores aceitos nesse campo e o significado de cada um?

    Por Favor você teriam algum Manual sobre GNRE diferente Manual de Integração_Contribuintes_GNRE_v2.09 pois nele não tem informação sobre as tags e respectivos dados que podem serem informados nele igual o Manual da NF-e por exemplo. 

    O site que está me ajudando muito nessa parte de material e a sefaz de Pernambuco https://www.gnre.pe.gov.br:444/gnre/portal/ajuda.jsp

    Desde já Muito Obrigado pela Atenção e Ajuda!

    Obrigado!

  2. 5 horas atrás, José M. S. Junior disse:

    Bom dia,

    Essa informação é calculada baseado nos dados que compõem o código de barras... Qual valor está passando no campo modalidade? se não estou enganado deve ser passado 1 para carteira com registro...

    Boa Noite José M.S Junior

    Muito Obrigado pela ajuda era justamente o campo modalidade, a gerente passou que tinha que ser informado 0(zero) ae Graças sua dica pus o 1 pra testar e gerou corretamente. 

    Vou enviar novamente par a Sicredi mas acho que agora válida pois faltava só isso.

    Mais uma vez Muito Obrigado pela Ajuda! Dúvida solucionada!

    Obrigado á Todos!

    • Curtir 1
  3. 17 horas atrás, BigWings disse:

    Sim.

    Ou preencher a propriedade Titulo.LocalPagamento manualmente.

    Olá BigWings Obrigado por responder.

    Deu certo problema resolvido! Mudei ae linha de comando Titulo := dmSISTEMA.ACBrBoleto.CriarTituloNaLista; pra depois de definir o layout e tipoCobranca ae gerou corretamente agora. Seja qual banco eu escolher agora gera corretamente com a propriedade Titulo.LocalPagamento preenchida sem eu precisar preencher manualmente.

    Muito Obrigado a todos que me ajudaram!

    Problema resolvido!

    Obrigado!  

    • Obrigado 1
  4. Olá Tudo Bem!

    Estou tentando homologar o Boleto do Sicredi usando cnab 240, estou com problema no número do código de barra, onde no inicio do código tem ficar 74891 nos boletos que estou gerando está ficando 74890(imagem em anexo) ou seja ta saindo zero. Segundo o banco ele referencio esse campo como sendo: Número padrão sequencial dos boletos.

    Não achei esse campo com esse nome no manual cnab 240 do Sicredi, no manual a página que trata dos números do código de barra é a pagina 89, tópico 7.2 Itens visuais do boleto, no caso o item 9 - Código numérico que correspondente ao tipo de cobrança: “1” – “Cobrança”, ao que parece esse 1 é obrigatório mas não está saindo.

    Não sei qual propriedade do ACBrBoleto informo esse 1, qual seria essa propriedade? 

    Desde já Muito Obrigado pela Ajuda e Atenção!

    erro_layout_sicredi.jpg

  5. Olá BigWings Obrigado por me Ajudar!

    1 hora atrás, BigWings disse:

    Por acaso está criando o Titulo antes de definir o Banco.TipoCobranca?

    O que vale é o que está no Titulo:

    
    constructor TACBrTitulo.Create(ACBrBoleto:TACBrBoleto);
    begin
       inherited Create;
    
       fACBrBoleto        := ACBrBoleto;
       fLocalPagamento    := ACBrBoleto.Banco.LocalPagamento;

    Então se estiver criando o título antes não vai atualizar a propriedade do título.

     

    
    var
      Titulo: TACBrTitulo;
    begin
      Titulo := ACBrBoleto1.CriarTituloNaLista;
      Titulo.LocalPagamento := 'Pagável em qualquer banco ou casa lotérica';

     

    Bom vamos lá antes de eu entrar no laço em que gero os boletos eu executo esse comando:

    o ACBrBoleto fica no data module.

    dmSISTEMA.ACBrBoleto.ListadeBoletos.Clear;

    já dentro do loop do laço primeiro executo o comando:

    Titulo := dmSISTEMA.ACBrBoleto.CriarTituloNaLista;

    depois dele que seleciono o layout exemplo:

    dmSISTEMA.ACBrBoleto.ACBrBoletoFC.DirLogo  := vDirLogo;

    dmSISTEMA.ACBrBoleto.ACBrBoletoFC.LayOut:=lReciboTopo

    depois vem o tipocobranca exemplo

    dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobSicred;

    no fim dmSISTEMA.ACBrBoleto.GerarPDF;

    depois do fim do laço

     dmSISTEMA.ACBrBoleto.Imprimir;

    Eu tenho que definir o layout, tipocobranca antes de executar a linha: Titulo := dmSISTEMA.ACBrBoleto.CriarTituloNaLista ?

    Tenho que chamar esse constructor ?

    Desde já Muito Obrigado pela Atenção e Ajuda!

     

  6. Boa Tarde 

    Em 22/06/2021 at 11:36, Daniel Simoes disse:

    Não sei se compreendi direito.. mas você quer adicionar na Lista de Boletos, Títulos de dois Bancos diferentes, ao mesmo tempo ?

    Obrigado pela Ajuda Daniel! Não o cliente possuí conta em dois bancos e ele emite boleto pelos dois, quando vai gerar boleto de um banco, o cliente seleciona a conta do banco e gera todos os boletos daquele banco. Quando for gerar do outro seleciona a conta do outro banco e gera todos desse outro banco.

    O componente ACBrBoleto na propriedade Banco tipocobranca fica como default cobNenhum, então quando vai gerar o boleto pela conta escolho qual o banco e seto a opção pelo case. 

    Ao gerar os boletos sai com com a logo e formatação do banco da conta mas o campo Local de Pagamento sai como ''Não Definido" isso entro no form a 1ª vez. Se saio deste form entro de novo e gero boletos para o mesmo banco que acabei de gerar, ae o campo Local de Pagamento sai correto com o nome do banco. Se eu escolher outro banco sai com o logo formatação, mas o campo Local de Pagamento sai como Não definido. Mas se eu sair do form e entrar de novo e gerar boleto por esse último banco ae sai corretamente.

    A minha dúvida e se tem setar mais algum propriedade ou estou  esquecendo de algum detalhe.

      Vitor Obrigado por me ajudar.

    Em 22/06/2021 at 11:43, Victor H. Gonzales - Panda disse:

    Bom dia,

    você pode matar todos esses seus IF simplificando assim <ACBrBol>.Banco.TipoCobranca := <ACBrBol>.GetTipoCobranca(Vcodbanco); e no Titulo.LocalPagamento você pode forçar o literal desejado.

    Abraços.

    obs : eu faria múltiplos bancos em fluxos distintos de processamento.

    Vou simplificar fazendo como você disse Obrigado.

    Então estou tentando forçar o nome na seguinte propriedade: dmSISTEMA.ACBrBoleto.Banco.Nome:='NOME DO BANCO'; depois de ter escolhido o TipoCobranca, mas não da certo, não sei se essa propriedade Banco.Nome seria essa? Não achei essa propriedade Titulo.LocalPagamento. Ela é propriedade do Banco?

    Mesmo se deixar um dos bancos default e gerar boletos por ele quando entra a 1ª vez no form ele gerar correto com o Local Pagamento tudo certo, mas se usar outra conta que não a do default então sai Não definido ae tenho que entrar de novo no form ae sim na segunda vez gera correto.

    Mais uma vez Obrigado ambos por me ajudarem. 

  7. Olá Tudo Bem!

    Estou tentando gerar Boleto de dois Bancos diferentes, então pra isso preciso mudar em tempo de execução qual o Banco que vai ser gerado o boleto.

    O problema é que escolho o banco e seto a propriedade TipoCobranca, mas quando gera o boleto o campo Local de Pagamento sai como ''Não Definido"(segue a imagem em anexo).

    Isso ocorre na primeira vez que é carregado o form onde é Gerado o Boleto! Se eu gerar novamente o boleto com aquele mesmo Banco ae sim sai corretamente escrito o nome do Banco. Mas se sair do executável e entrar de novo e entrar no form na primeira vez sai como Não Definido, mas se gerar novamente sem sair do executável ou trocar de Banco sai correto o nome.

    Parece que ele carrega ACBrBoleto na primeira vez.

    Estou setando o banco da seguinte forma:

                   Vcodbanco:=IBQCnab.FieldByName('BANCOD').AsInteger;
                     case Vcodbanco of
                       1: begin //001
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoDoBrasil;
                          end;
                       4: begin //004
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoDoNordeste;
                          end;
                      21: begin //021
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBanestes;
                          end;
                      8,33,353: begin //033,353,008
                                   dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobSantander;
                                end;
                      41: begin //041
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBanrisul;
                          end;
                      70: begin //070
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBRB;
                          end;
                      85: begin //085
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoCECRED;
                          end;
                      104:begin //104
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobCaixaEconomica;
                          end;
                      237:begin //237
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBradesco;
                          end;
                      341:begin //341
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobItau;
                          end;
                      389:begin //389
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoMercantil;
                          end;
                      748:begin //748
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobSicred;
                          end;
                      756:begin //756
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoob;
                          end;
                      399:begin //399
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobHSBC;
                          end;
                      422:begin //422
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoSafra;
                          end;
                     end;

    O resto do boleto sai corretamente com as informações do banco escolhido, só o campo Local de Pagamento que notei essa diferença.

    Tentei colocar o nome na propriedade nome do banco no ACBrBoleto assim:

     ACBrBoleto.Banco.Nome:=nomedobanco;

    Mas não deu certo.

    Como faço pra quando escolher o banco em tempo execução não precise executar duas vezes pra gerar corretamente o boleto?

    Preciso setar alguma outro propriedade do ACBrBoleto?

    Desde já Muito Obrigado pela Atenção e Ajuda!

    Local_Pagamento_nao_definido.jpg

  8. Olá Tudo Bem!

    Estou tentando gerar Boleto de dois Bancos diferentes, então pra isso preciso mudar em tempo de execução qual o Banco que vai ser gerado o boleto.

    O problema é que escolho o banco e seto a propriedade TipoCobranca, mas quando gera o boleto o campo Local de Pagamento sai como ''Não Definido"(segue a imagem em anexo).

    Isso ocorre na primeira vez que é carregado o form onde é Gerado o Boleto! Se eu gerar novamente o boleto com aquele mesmo Banco ae sim sai corretamente escrito o nome do Banco. Mas se sair do executável e entrar de novo e entrar no form na primeira vez sai como Não Definido, mas se gerar novamente sem sair do executável ou trocar de Banco sai correto o nome.

    Parece que ele carrega ACBrBoleto na primeira vez.

    Estou setando o banco da seguinte forma:

                   Vcodbanco:=IBQCnab.FieldByName('BANCOD').AsInteger;
                     case Vcodbanco of
                       1: begin //001
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoDoBrasil;
                          end;
                       4: begin //004
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoDoNordeste;
                          end;
                      21: begin //021
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBanestes;
                          end;
                      8,33,353: begin //033,353,008
                                   dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobSantander;
                                end;
                      41: begin //041
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBanrisul;
                          end;
                      70: begin //070
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBRB;
                          end;
                      85: begin //085
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoCECRED;
                          end;
                      104:begin //104
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobCaixaEconomica;
                          end;
                      237:begin //237
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBradesco;
                          end;
                      341:begin //341
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobItau;
                          end;
                      389:begin //389
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoMercantil;
                          end;
                      748:begin //748
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobSicred;
                          end;
                      756:begin //756
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoob;
                          end;
                      399:begin //399
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobHSBC;
                          end;
                      422:begin //422
                               dmSISTEMA.ACBrBoleto.Banco.TipoCobranca:=cobBancoSafra;
                          end;
                     end;

    O resto do boleto sai corretamente com as informações do banco escolhido, só o campo Local de Pagamento que notei essa diferença.

    Tentei colocar o nome na propriedade nome do banco no ACBrBoleto assim:

     ACBrBoleto.Banco.Nome:=nomedobanco;

    Mas não deu certo.

    Como faço pra quando escolher o banco em tempo execução não precise executar duas vezes pra gerar corretamente o boleto?

    Preciso setar alguma outro propriedade do ACBrBoleto?

    Desde já Muito Obrigado pela Atenção e Ajuda!

    Local_Pagamento_nao_definido.jpg

  9. Olá Juliomar e Daniel Tudo Bem!

    Obrigado por me responderem.

    Desculpa só responder agora, e que estava esperando o técnico do cliente desinstalar e instalar o driver da impressora novamente, como sugeriu o Juliomar.

    Em 26/02/2021 at 17:23, Juliomar Marchetti disse:

    O problema está na instalação do driver da impressora para RAW via spooler.

    se corrigir a instalação ele vai funcionar senão sugiro deixar ele visualizar mas se ele for imprimir chama o ESCPOS e manda por ele.

     

    Para depois de fazer isso tentar fazer configuração que o Daniel sugeriu.

    Em 26/02/2021 at 17:36, Daniel Simoes disse:

    Precisa configurar no Driver de spool, um papel com dimensões maiores que A4... Veja esses tópicos:

     

    Mas segundo o técnico ele não achou nenhuma opção para Raw, ele disse que baixou o último driver e instalou novamente. 

    Depois disso fiz um acesso pra configurar segundo a sugestão do Daniel mas infelizmente, no campo tamanho de papel não tem a opção: Roll Paper 80 x 3276. Em anexo as opções da Print It. 

    Por Favor como faço para setar essa opção Raw via spooler durante a instalação do driver?

    Pra mostrar a visualização do sat na tela uso o fortes, tem como desabilitar o botão imprimir no menu no fortes? Ou tem como visualizar na tela sem o fortes?

    Pois só travando lá pra eu forçar via Escpos logo após saírem da visualização eu colocaria uma pergunta se vai precisar da impressão caso queiram eu envio via Escpos.

    Mais uma vez desculpa só responder agora é que o técnico devido situação em que vivemos só conseguiu passar hoje no cliente pra reinstalar o driver dessa impressora.

    Desde já Muito Obrigado pela Ajuda!

    Obrigado!

    configprintid_tam.jpeg

  10. Olá Tudo Bem!

    Estou com problema na impressão do cupom fiscal do sat, usando o fortes pois esse cliente prefere ver na tela o cupom pois se o cliente dele quiser ele imprimi senão ele fecha a visualização do cupom.

    Mas estou com um problema a impressão não chega ao fim ela corta o papel em cerca de 20 cm de papel. A impressora com problema e uma Print Id da marca Control Id. 

    Só tenho esse cliente que usa essa marca de impressora. Quando tive problema parecido com outras marcas de impressora também usando o fortes resolvi indo em Dispositivos e Impressoras clicando com o botão direito em cima da impressora, depois clico em Preferências de Impressão, depois no botão Avançado e por fim no campo Papel/Saída - Tamanho do Papel: nessas outras impressoras geralmente fica 52 mm então seleciono o maior tamanho 80 mm. Em todos os casos nessa outras impressoras deu certo é sempre imprimi normal até o fim o cupom.

    Mas nessa impressora a Print Id fiz esse mesmo processo mas não funcionou.

    Como faço pra resolver esse problema? No componente ACBrSat tem alguma propriedade que eu posso usar pra forçar a impressora imprimir até o fim? Ou alterar alguma configuração de tamanho quando for feito através do fortes?

    Segue em anexo uma imagem de uma impressão.

    Essa impressora está instalada em um pc com windows 10 64bits.

    Desde já Muito Obrigado pela Atenção!

    Obrigado!

    cupom_sat_cortado_print_it.jpeg

  11. Olá Tudo Bem!

    Um Feliz Ano Novo a Todos!

    Por Favor estou tentando usar o componente  RLDetailGrid do FortesReport, mas não estou conseguindo.

    Gostaria de saber se preciso inicializar ele?Já que ele tem uma propriedade chamada Initialize.

    No meu caso vão ser 16 colunas, na propriedade Colcount pelo que entendi informo a quantidade de colunas que preciso, no me caso coloquei 16 então ele subdividiu em colunas.

    Pensei por exemplo que cada uma das colunas fosse independentes uma das outras, ae colocaria um TRLDBText em cada coluna, mas só é permitido na primeira coluna.

    Como faço pra informar os valores pra cada coluna? Vi que tem as propriedades ColIndex e RowIndex, mas não estou conseguindo usar elas de forma correta pois só da erro.

    Segue em anexo um exemplo de como vai ficar o relatório, no exemplo tem o campo coluna 1 com duas colunas quant. e valor e também o campo coluna 2 com as mesmas colunas quant e valor aO todo serão 8 campos: ficando coluna 1, coluna 2, coluna 3....coluna 8 cada uma com quant e valor.

    Tem como usar o DetailGrid de alguma forma que fique dessa maneira?

    Desde já Muito Obrigado a Todos pela Atenção!

    Obrigado! 

    EXEMPLO_RELA.jpg

  12. Olá EMBarbosa Tudo Bem Feliz Ano Novo!

    Em 30/12/2020 at 17:08, EMBarbosa disse:

    É difícil falar assim. Precisaria ter seu ambiente. Se quiser montar um exemplo pequeno só com esse relatório e essas tabelas eu posso tentar olhar.

    Obrigado por Responder!

    Consegui resolver o problema.

    Antes no meu relatório eu usava, o ibtable pra exibir as informações dos itens, e nele usava as propriedades filter e filtred, onde no filter tem regra que filtrava os itens de cada pedido desde que o campo filtred estive true. Pois bem como o componente memorydata também tem essas mesmas propriedades, eu através do sql selecionei só itens que eram pra ser exibidos(no ibtable exibia todos os itens do pedido), então tentei usar as mesmas propriedades de maneira igual, mas a diferença que só exibiria os itens selecionados antes pelo meu sl e se encontravam nessa memorydata, mas o problema é não estava filtrando como descrevi no primeiro post. Depois de muito pesquisar descobri que a propriedade filter da memorydata não foi implementada por isso não era executada.

    Então descobri a existência do evento onfilterrecord que tem na memorydata, clientdataset e até na ibtable.

    Nesse evento fiz o filtro dessa maneira exemplo:

    procedure TFcrRELCARGA.MDitensFilterRecord(DataSet: TDataSet;
      var Accept: Boolean);
    begin
         accept:=(MDitens.FieldByName('pedpedido').asinteger = mdrelaux.FieldByName('pedpedido').asinteger) and (MDitens.FieldByName('pedano').AsString = mdrelaux.FieldByName('pedano').AsString);
    end; 

    o detalhe pra executar esse evento a propriedade Filtered da memorydata tem que estar true.

    Então a solução foi a seguinte no evento beforeprint da banddetail onde imprimi os itens do pedido eu faço assim:

    MDitens.Filtered:=True;

    Dessa forma antes de imprimir os itens de cada pedido eu ativo o filtro que está no evento onfilterrecord da memorydata dessa forma o filtro é executado com isso mostrando apenas os itens corretos de cadas item.

    Muito Obrigado EMBarbosa e a Todos que pelo menos visualizaram meu post coma dúvida.

    Problema Resolvido!

    Obrigado! 

    • Curtir 1
  13. Em 17/12/2020 at 09:36, EMBarbosa disse:

    Bom dia Maurício.

    É possível que o problema seja o sql em si e não a estrutura. Chegou a verificar se o resultado do select gera dois registros?

    Boa Tarde EMBarbosa 

    Antes de Tudo Obrigado por me responder e desculpa a demora em te responder.

    Sim verifiquei o resultado do sql sim e ele traz 4 registros(no caso desse exemplo da imagem), sendo 3 registros no caso itens pertencentes ao pedido 27975 e 1 ao pedido 27973.

    Então o correto seria exibir só 1 registro no pedido 27973 e os outros 3 no pedido 27975 mas não exibi dessa forma.

    Já tentei outras formas mas nenhuma da certo. Estou vendo se consigo fazer com outro gerador de relatórios(report builder) pois com o fortes não sei mais o que fazer e como tentar.

    Por Favor como você montaria a estrutura em fortes pra exibir todos os pedidos em ordem de cliente, exemplo cliente 1 mostra todos os pedidos e seu(s) respectivos itens ( esses itens só os que estão prontos pra serem transportados, tenho uma tabela de produção na qual sei quando cada produto está pronto), cliente 2 todos os pedidos com seu itens  ?

    Desde já Muito Obrigado pela Ajuda e Atenção!

    Desejo um Feliz e Prospero Ano Novo para todos! Deus Abençoe á Todos!

  14. Olá Tudo Bem!

     

    Bom estou com um problema na geração do relatório usando o FortesReport, os itens de cada pedido estão ficando duplicados, como na imagem em anexo.

    Desde já Agradeço a Atenção e peço desculpa pelo texto longo é que preciso explicar o contexto do relatório e situação.

    Esse relatório é para mostrar todos os pedidos de cada cliente, nesse exemplo da imagem selecionei só um cliente, mas posso tirar o relatório de um determinado período e assim trazer pedido de vários clientes ordenado de forma alfabética, assim mostra todos pedidos exemplo da Aline, depois todos do Beltrano e assim sucessivamente.

    Cada item de cada pedido é uma peça fabricada e pronta dito isso, em cada pedido é pra exibir só as peças que estão prontas para o embarque. Pra garantir isso eu seleciono cada item produzido de cada pedido em uma memory data. Essa parte está correta pois trás só as peças prontas de cada pedido dentro dessa memory data. Os campos dos itens(trldbtext) estão ligados nessa memory data, mas ao gerar o relatório aparece os mesmos itens pra todos os pedidos.

    Pra tentar solucionar, na banda do tipo detail dos itens no evento BeforePrint, estou tentando usar a propriedade filter da memorydata dessa forma:

    MDitens.Filter:='pedpedido='+inttostr(mdrel.FieldByName('pedpedido').asinteger)+' and '+'pedano='+mdrel.FieldByName('pedano').AsString;

     MDitens.Filtered:=True;

    tento filtrar os itens de cada pedido, usando na comparação o numero do pedido da memorydata que tem todos os pedidos selecionados desse relatório(mdrel), e cujo o datasource do rlreport está ligado ao Datasource que está ligado a essa mdrel.

    Mas infelizmente como na imagem em anexo mostra não da certo.

    Tenho um relatório parecido com esse mas a diferença é que nele mostra todas a peças independente de mostrar só as peças prontas, nesse relatório que a mesma estrutura a unica coisa que muda é que ao invés de eu usar um memorydata com os itens(peças) de cada pedido, eu uso um IBtable, e nesse ligo com tabela de itens do pedido, e fazendo essa mesma filtragem no evento beforrprint mas usando o ibtable o relatório e exibido de forma correta, mostrando os itens de cada pedido.

    Infelizmente no caso do relatório como o problema, não posso usar o ibtable pois as infos mostrados são da tabela de itens do pedido, mas como tem que exibir só as prontas e eu gerencio cada o estado de produção de cada peça em outra tabela, então preciso fazer um select e selecionar quais peças são de cada pedido e coloco o resultado na memorydata que não sei porque não funciona o evento filter da mesma.

    Tentei usar o clientDataset mas o resultado foi o mesmo, usando o filter do cds. Não uso muito o cds mas vi em fórum tentei usar ele.

     

    Alguma sugestão com relação a essa parte do filter?

    Vou tentar mostra como está a estrutura do relatório:

     

    A estrutura do relatório é a seguinte:

    Banda1((btTitle)) - cabeçalho do relatório

    RLGroup - cujo o campo Datafield está setado com o campo primarykey do cadastro de cliente, pra poder separar por cliente todos os pedidos dele.

       rlband(dtdetail) - dentro desse Group tenho um band to tipo detail com os dados do pedido

       RLSubDetail - esse subdetail tem o seu datasource ligado ao datasource dos itens filtrados na memorydata dos itens

            RLBand(bttitle) - dentro do subdetail tenho uma banda do titulo onde coloco os nomes de cada campo dos itens

            Rlband(btDetail) - dentro so subdetail vem a banda detail que cada campo está ligado a memory dos itens selecionados(é no evento beforeprint dessa banda que estou tentando usar o filter mas sem sucesso)

    RLBand(btSummary) - essa banda vem logo depois do rlgroup(fora dele) e exibi os totalizadores geral de todos os pedidos do relatorio.

    RLSubDetail - esse subdetail vem depois da summary e nele tenho um totalizador por tipo de documento como mostrado na imagem o datasource dele está ligado a memorydata mdtpdoc 

          dentro dele tenho:

          RLBand(btTitle) - com o nome dos tipos de documento

          Rlband(btDetail) - com os campos dos tipos de documento ligados ao seu respectivo memorydata de tipo de documentos com os seu valores somado de cada tipo

    RLBand(btFooter) - por a última banda rodapé na qual mostro o numero da pagina(usanso um rlsysteminfo)

     

    Bom essa é a estrutura, gostaria de saber se tem alguma outra forma de fazer esse relatório? Ou alguma forma que consiga exibir os itens corretos de cada pedido?

    Usando outro componente de ligação com os dados? 

     

    Desde já Meu Muito Obrigado pela Atenção e Ajuda!

    Desculpa postar um texto tão longo.

     

    Obrigado!

    imagem_relatorio_carga.jpg

  15. Olá Daniel Tudo Bem!

    Desculpa a demora em responder.

    Obrigado pela Ajuda antes de mais nada!

    Em 23/11/2020 at 22:38, Daniel Simoes disse:

    verifique se nesses casos, onde há o problema, se a Impressora padrão do Windows, é a Impressora de etiquetas, que provavelmente tem um layout de página menor...

    Experimente informar o Nome da Impressora, para o componente de Impressão... (Você pode testar isso, usando  o Demo do ACBr)

    Experimente imprimir usando Esc/Pos, pois nesse caso, a impressão irá diretamente para a Porta da Impressora, não passando pelo Spool do Windows

    Então aconteceu mesmo se a impressora padrão do windows for uma impressora normal jato de tinta, tem o driver instalado da impressora de etiqueta mas não está definida como padrão. Isso em um cliente que tem a impressora de etiqueta.

    Mas hoje aconteceu em outro mas não tem impressora de etiqueta, e só um pc e um impressora também jato de tinta HP 1510.(segue em anexo a imagem da impressão do danfe desse cliente que não tem impressora de etiqueta). Tem o driver de um lx 300 da epson neste mesmo pc. Mas olhando a configuração da propriedade da HP ta no padrão A4.

    Estranho que em outros clientes com a mesma versão de executável não ocorre esse problema.

    Uso o ACBrNFe e para impressão o ACBrNFeDANFeRL.

    As margens no ACBrNFeDANFeRL estão com o valor default de 0,7.

    Dúvida o nome da Impressora eu informo na propriedade Impressora do ACBrNFeDANFeRL?

    Segue uma Imagem em anexo de um danfe que saiu impresso cortado.

    No preview na tela sai normal, e se salvar em pdf também. E se imprimir através do arquivo pdf também imprimi normal.

    O problema ocorre só quando imprimir do preview aberto na tela pelo fortes.

    Desde já Muito Obrigado pela Ajuda!

    CORTE_NA_IMPRESSAO_NFE.jpeg

  16. Olá Tudo Bem!

    Estou com um problema na hora da impressão do DANFE, ele sai cortado, na tela aparece normal mas na impressão sai cortado. Em dois clientes está acontecendo esse mesmo problema, e em ambos tem uma coincidência ambos tem uma impressora de etiquetas instalados nos respectivos pcs, em um é uma elgin L42 e o outro uma Argox 214 plus. Em ambos o problema é só no pc que está instalado a impressora de etiqueta. 

    Se mandar imprimir em um pc sem impressora de etiqueta instalada não ocorre o problema. Nesses dois casos só um dos clientes tem mais de um pc, outro só uma máquina.

    Acho que tem alguma relação, pois na impressão sai no tamanho da etiqueta. E o problema ocorre mesmo se a impressora padrão definida for uma impressora normal(jato de tinta,laser).

    Uma solução temporária que os clientes estão usando e que depois de abrir na tela o sistema gera o pdf, eles então abrem o pdf usando por exemplo o acrobat reader e mandando imprimir com ele(reader ou outro programa de pdf) a impressão sai normal.

    Alguém já passou por isso?

    Se sim qual a origem do problema?

    Tem Alguma solução?

    Seria alguma problema com windows(versão,update faltando,configuração)?

    Desde já Muito Obrigado pela Atenção!

  17. Olá Bom Dia Juliomar!

    Estranho que usando Tls 1_2 o status do serviço funciona sem problema ou seja certificado e acho que a dll estão funcionando.

    No exemplo do ACBr não fica nenhuma dll na pasta então usa as que vai na pasta do windows? No meu caso na syswon64.

    9 horas atrás, Juliomar Marchetti disse:

    Tu entendeu e descreveu exatamente o que precisava pra entender.

    Confere dll junto ao executável ou as propriedades mesmo se estão configuradas iguais

    Testei todas as dlls, todas de x86 e o erro persisti. Já coloquei as que o BigWings falou, tentei fazer o que o Daniel disse nesses tópicos:

    E nada resolve o problema.

    Olhei as propriedades está ta quase udo igual, a única diferença e que no componente ACBrNFe no exemplo no eventos, na opção OngerarLog está com nome ACBrNFe1GerarLog e na minha versão não consigo por esse nome da o erro Property and Method ACBrNFe1GerarLog are not compatible.

    Esse evento gera arquivo de log de tudo que acontece no ACBrNFe? Se sim no meu caso poderia indicar algum possível problema?

    Porque não consigo ativar esse evento no componente na minha versão? 

    Acho que o problema pode estar na atualização do ACBr no meu delphi, por favor vocês poderiam me passar os passos para eu desinstalar totalmente o ACBr?

    E só usar o apagarAcbr?

    Pois depois de desinstalar ele vou apagar o conteúdo da pasta ACBr a baixar novamente pra só depois instalar.

    Pois a única explicação desse erro e de nada solucionar só pode ser na instalação(atualização no meu caso apesar de já ter reinstalado 4x), senão for isso então e alguma coisa relacionada a versão do windows ser 64 bits ou a atualização do windows apesar estar tudo atualizado a atualização fico com algum problema.

    Uso o ACBr a muito tempo e nunca passei por um problema(persistente) desse tipo, depois de uma atualização.

    Desde já Muito Obrigado pela Ajuda e paciência comigo!

  18. Olá Boa Tarde Juliomar

    2 horas atrás, Juliomar Marchetti disse:

    Bom temos agora algo para partir. Funciona o exemplo em seu micro.

    Pasta de schemas ok

    Configuração de Webservice Ok

    Configuração de certificado OK

    o TLS 1.2 está já assinalado no componente OK

    o método estão iguais para preencher os dados OK.

    faltou alguma coisa?

    Pasta de Schemas ok é a mesma usada no exemplo do ACBrNFe.

    Configuração do Webservice ok

    na minha versão:
    ACBrNFe1.Configuracoes.WebServices.UF         := cbUF.Text;
    ACBrNFe1.Configuracoes.WebServices.Ambiente   := StrToTpAmb(Ok,IntToStr(rgTipoAmb.ItemIndex+1));
    ACBrNFe1.Configuracoes.WebServices.Visualizar := ckVisualizar.Checked;

    ACBrNFe1.SSL.SSLType := TSSLType( cbSSLType.ItemIndex );

    no exemplo:

    with ACBrNFe1.Configuracoes.WebServices do
      begin
        UF         := cbUF.Text;
        Ambiente   := StrToTpAmb(Ok,IntToStr(rgTipoAmb.ItemIndex+1));
        Visualizar := cbxVisualizar.Checked;

    end;

    ACBrNFe1.SSL.SSLType := TSSLType(cbSSLType.ItemIndex);

    Configuração do certificado ok usei o mesmo certificado no exemplo e da mesma forma informando o numero de serie.

    na minha versão:

    ACBrNFe1.Configuracoes.Certificados.NumeroSerie := edtNumSerie.Text;

    no exemplo

    ACBrNFe1.Configuracoes.Certificados.NumeroSerie := edtNumSerie.Text;

    o TLS 1.2 está já assinalado no componente OK

    sim ACBrNFe1.SSL.SSLType := TSSLType( cbSSLType.ItemIndex );

    SSLCRYPTLIB: cryWinCrypt

    SSLHttpLib: httpWinHttp

    SSLLib: libWinCrypt

    SSLXmlSignLib: xsLibXml2

    SSLType: LT_TLSv1_2

    o método estão iguais para preencher os dados você quer dizer preencher os dados da nota se sim estão ok, tanto que gero xml no sistema e envio pelo exemplo e validado e autorizado.

    Na hora de Gerar enviar está da seguinte ordem:

    LerConfiguracao;
     ACBrNFe1.NotasFiscais.Clear;

      GerarNFe(ME_nronota.Text);//alimenta os dados da nota

    ACBrNFe1.NotasFiscais.Imprimir;// exibe o espelho da nota

    if (ACBrNFe1.Enviar(0, false) = true)
    then

    na hora de enviar acontece o erro quando entra no metodo assinar.

    Como disse antes a única função diferente que notei no exemplo foi a ACBrNFe1.SSL.DescarregarCertificado .

    Coloquei ela mas o erro é o mesmo no mesmo lugar de sempre.

    Desculpa senão entendi alguma pergunta sua, espero te respondido o que você perguntou.

    Também exclui o componente ACBrNfe e coloquei outro já que foi atualizado mas o erro persisti.

    O que mais posso conferir?

    Obrigado pela Ajuda!

  19. Olá Boa Tarde Juliomar

    5 horas atrás, Juliomar Marchetti disse:

    Marcelo após fazer a instalação , abra o exemplo do svn e vamos tentar emitir com ele.

    depois report aqui configurando igual

    Instalei novamente o ACBr, e fui testar novamente no exemplo de NFe do ACBr, configurei com os dados do certificado, do emitente. Gerei um xml na minha aplicação e fui tentar enviar pelo exemplo do ACBrNFe usando o botão Carregar Xml e Enviar, e desta vez enviou e autorizou, mas isso só no exemplo, pois na minha aplicação ainda persisti o erro.

    Então fui olhar o exemplo novamente e o que achei de diferente em relação ao meu foram o comando ACBrNFe1.SSL.DescarregarCertificado que no exemplo e chamado quando le a configuração, não entendi o porque desse comando e não achei o CarregarCertificado nem sei tem e precisa, enfim pus esse comando na minha rotina e o erro persisti, outra coisa que notei diferença foi no procedure LoadXML, então mudei pra ficar igual o exemplo mas não resolveu o problema. Estou debugando o exemplo e não achei até agora nenhuma outra diferença, teve alguma mudança no componente que precisa alterar? Tipo excluir o componente ACBrNfe e colocar novamente? Alguma propriedade nova no ACBrNFe precisa ser setada?

    No exemplo que fiz pra configurar e carregar e enviar o xml da o erro também, mas nele o lerconfiguracao e igual o que uso (segue em anexo) mudou alguma coisa que não estou conseguindo ver?

    E não entendi porque agora deu certo no exemplo e nas outras vezes não.

     A opção Complete boolean evalution estava false mesmo, e o schemas atualizado.

    Obrigado pela Ajuda e Atenção!

     

    NFE TESTE_exe.zip

  20. 54 minutos atrás, Juliomar Marchetti disse:

    Uma dúvida pode ter sido respondido anterior mas houve um problema com um cliente e o mesmo estava com os schemas desatualizados

    Olá Juliomar, sim a pasta schemas está atualizada, e mesmo assim o erro persisti.

     

    47 minutos atrás, BigWings disse:

    Veja nas opções de compilação do seu projeto se "Complete boolean evaluation" está ativada.

    Se estiver desative, reinstale o ACBr e recompile a aplicação.

    BigWings a opção Complete boolean evalution já se encontra desativada.

    Obrigado pela Ajuda de vocês!

  21. Boa Tarde

    Desinstalei o ACBr e instalei novamente, até com a opção não usar capicom marcada (apesar de ser ela estar me salvando, até agora pois por ela não da erro), mas mesmo assim o erro persisti.

    Fui debugando e cheguei no local exato onde ocorre o erro, e na função: LibXmlNodeWasFound que fica na unit ACBrDFeXsLibXml2.

    function TDFeSSLXmlSignLibXml2.LibXmlNodeWasFound(ANode: xmlNodePtr;
      const NodeName: String; const NameSpace: String): boolean;
    begin
      Result := (ANode <> nil) and (ANode^.Name = NodeName) and
        ((NameSpace = '') or (ANode^.ns^.href = NameSpace));

    end;

    Em negrito a linha onde ocorre o erro.

    Já pus todas as dlls x86 libxml2 junto com o executável e nenhuma resolveu.

    Será que vou ter formatar e tentar por o windows 10 32 bits?

    Estou testando com 2 certificados de empresas diferentes, mas o problema acontece em ambos.

    Obrigado pela Ajuda e Atenção!

  22. Boa Tarde a Todos!

    3 horas atrás, BigWings disse:

    Não consegui replicar o erro apenas com os fontes, o que eu queria testar eram os binários...

    Você diz que em outra máquina não tem erro, isso usando o mesmo EXE e DLLs que está usando na máquina onde o erro ocorre?

    Parece que você tem DLLs demais na pasta, CAPICOM, MSXML e XmlSec não são mais necessários.

    Sugiro então que faça o seguinte:

    - Reinstale o ACBr marcando as opções de não usar CAPICOM e não usar XmlSec, não esquecendo de marcar a opção de copiar as DLLs para a pasta do Windows;

    - Recompile a sua aplicação;

    - Coloque o seu exe e apenas as DLLs da pasta ACBr\DLLs\LibxXML2\x86 e ACBr\DLLs\OpenSLL\1.1.1.7\x86.

    Como você usa Delphi 2010 não vai precisar das DLLs de 64 bits.

    Segui todos esses passos , mas infelizmente o erro persisti. Como meu windows 7 64 na instalação o as dll são copiadas para a pasta syswow64 ae copieo a libxml2 pra system32 mas também não resolveu.

    3 horas atrás, BigWings disse:

    Desconfio da diretiva USE_MINGW, ela pode estar ativada em uma das duas instalações.

    Com ela ativada (não é mais recomendado) as DLLs tem que ser as da pasta MinGW.

    Bom não seu ela está ativada, pois só se ativa durante a instalação ou de alguma outra forma sem querer eu eu ativei, mas se saber pois nunca usei essa diretiva  USE_MINGW pra ser sincero não sei pra que ela é usada.

    Por via das dúvidas copiei as dlls da pasta MinGW, mas não resolveu.😞

    Vou tentar desinstalar o ACBr e instalar novamente como última alternativa e torcer pra dar certo.

    Obrigado pela Ajuda!

×
×
  • 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.