Ir para conteúdo
  • Cadastre-se

dev botao

Ajuste Componente Bloco X


Mota
  • Este tópico foi criado há 2995 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa noite!

Acredito que o local correto para se tratar do assunto seja aqui, se eu estiver enganado, me desculpem.

1-Gostaria de saber se é possível alterar o tipo da property Quantidade e do field FQuantidade de Integer para Double(ACBrBlocoX_Comum);
2-Ao compilar o pacote, é apresentado erro nas units ACBrBlocoX_Estoque, ACBrBlocoX_ReducaoZ. Por algum motivo, que não consegui identificar, o parâmetro Atributo
não está sendo reconhecido na procedure wCampo.

Assim compila:

FGerador.wCampo(tcStr, '', 'Codigo',        0, 0, 1, Produtos[X].Codigo.Numero, '', True);

Assim não compila:
 

FGerador.wCampo(tcStr, '', 'Codigo',        0, 0, 1, Produtos[X].Codigo.Numero, '', True, 'Tipo="' + TipoCodigoToStr(Produtos[X].Codigo.Tipo) + '"');

 

ACBrBlocoX_Comum.pas

Link para o comentário
Compartilhar em outros sites

15 horas atrás, Mota disse:

Boa noite!

Acredito que o local correto para se tratar do assunto seja aqui, se eu estiver enganado, me desculpem.

1-Gostaria de saber se é possível alterar o tipo da property Quantidade e do field FQuantidade de Integer para Double(ACBrBlocoX_Comum);
2-Ao compilar o pacote, é apresentado erro nas units ACBrBlocoX_Estoque, ACBrBlocoX_ReducaoZ. Por algum motivo, que não consegui identificar, o parâmetro Atributo
não está sendo reconhecido na procedure wCampo.

Assim compila:


FGerador.wCampo(tcStr, '', 'Codigo',        0, 0, 1, Produtos[X].Codigo.Numero, '', True);

Assim não compila:
 


FGerador.wCampo(tcStr, '', 'Codigo',        0, 0, 1, Produtos[X].Codigo.Numero, '', True, 'Tipo="' + TipoCodigoToStr(Produtos[X].Codigo.Tipo) + '"');

 

ACBrBlocoX_Comum.pas

Com relação ao item 2, desinstalei e reinstalei o os Componentes e compilou direitinho, acredito que eu estava com algum unit desatualizada. Fico aguardando uma posição sobre o item 1.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Quando fiz o Bloco X segui a documentação, nela o campo consta como inteiro.

Veja que existe uma propriedade de arredondamento, penso que ela foi colocada pensando nisso, se houver arredondamento ela é setado como true, se não false.

Tomando por base o exemplo do ACBr.

          with Produtos.Add do
          begin
            Codigo.Tipo             := tpcGTIN;
            Codigo.Numero           := '7891234567891';
            Descricao               := 'PRODUTO TESTE ' + IntToStr(I);
            ValorUnitario           := 1.23;
            Ippt                    := ipptTerceiros;
            SituacaoTributaria      := stTributado;
            Aliquota                := 12;
            Unidade                 := 'UN';
            Quantidade              := 1234;
            IndicadorArredondamento := False; // <---- indicar se houve ou não arredondamento.
          end;

Se verificarem na documentação não existe quantidade de casas decimais, então conforme a documentação isso seria tratado como um inteiro.

 

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Notei que o método SaveToFile (tanto do arquivo de Estoque como de Redução Z) está sempre assinando o XML. Existe algumas situações (implantação, formatar o PC) onde pode ser que não tenha o certificado instalado no PC, mas não quero deixar de seguir o fluxo da Z por isso. Gostaria de poder gerar o arquivo sem a assinatura e assiná-lo depois que o TI foi comunicado e instalar o certificado. Minha sugestão é incluir no método SaveToFile a opção de assinar ou não o arquivo, ou então criar um outro método que permita ao desenvolvedor controlar isso. Digo isso pois temos clientes com 30 PDV´s e sei que vai acontecer de o TI do cliente esquecer de instalar o certificado em algum PDV... ehehehe.

 

Anexei um exemplo de como ficaria a alteração no SaveToFile, com base na revisão 11183.

ACBrBlocoX_ReducaoZ.pas

ACBrBlocoX_Estoque.pas

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Enviei uma implementação para o SVN, atualize e teste, agora existe um parâmetro para assinar ou não, se True, continua como antes, se False, ele salva o XML original sem assinatura.

Para retrocompatibilidade com que já uso o parâmetro tem como default True

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Bem pensado, no exemplo que te passei eu não tinha pensado na compatibilidade.

Um outro detalhe que eu percebi é no ACBrBlocoX_ReducaoZ.pas. No método GerarXML existe um probleminha na geração da linha do serviço:

FGerador.wCampo(tcStr, '', 'Codigo',        0, 0, 1, Servicos[X].Codigo.Numero, '', True, 'Tipo="' + TipoCodigoToStr(Produtos[X].Codigo.Tipo) + '"');

Quando ele está montando o "Tipo", esta referenciando a property Produtos, e deveria ser a Servicos né?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2995 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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