Jump to content

dev botao

Função Registro0150: Localizaregistro


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

Recommended Posts

Isaque, boa tarde.

 

Depois de algum tempo sem participar do fórum, venho antes
de tudo agradecer a toda comunidade que participa deste belíssimo projeto, principalmente
a você que o idealizou bem como o disponibilizou. Parabéns!

 

Durante meus testes e desenvolvimento, tive a seguinte
necessidade. Dentro do registro0150, tabela de participantes, no SPED há a função
LocalizaRegistro(pCod_part). Função extremamente útil em meu dia-a-dia. Senti
falta da mesma no SPED PIS/COFINS, implementei-a, de maneira que, ao invés do código
do participante, a busca é feira pelo CNPJ ou CPF, alterei então a função do
SPED Fiscal, para também buscar este documento, no caso pCGCJ_CPF.

 

Esta idéia surgiu quando em alguns testes, observei
participantes duplicados no EFD, tendo em vista que uso duas tabelas, clientes
e fornecedores, o código obviamente irá repetir.

 

Então, com todo respeito e reverencia ao projeto, o que você
acha desta busca ser pelo numero do documento do participante?


Segue:

 

 

function TRegistro0150List.LocalizaRegistro(pCGC_CPF: String): boolean;
var
intFor: integer;
begin
   Result := false;
   for intFor := 0 to Self.Count - 1 do
   begin
      IF Length(pCGC_CPF)>11 then begin
         if Self.Items[intFor].CNPJ = pCGC_CPF then begin
            Result := true;
            Break;
         end;
      End else begin
         if Self.Items[intFor].CPF = pCGC_CPF then begin
            Result := true;
            Break;
         end;
      End;
 
   end;
end;
 

 


Abraço.

_____________

Prates, Agnaldo

Link to comment
Share on other sites

Olá Agnaldo, obrigado pelas palavras de intensivo, vou analisar sua sugestão, se ela não afetar nenhum código interno de sistemas dos usuário, não vejo problema em ser por docto, até acho que é o ideal.

 

Anexe aqui o código alterado por você, para que eu analise.

 

Abraço

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

Agnaldo, fiz umas pequenas mudanças para que não venha eventualmente atrapalhar o código de algum usuário qye tb use essa função, beixe e veja como ficou, qualquer dúvida me fale.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

  • 1 month later...
  • Consultores

Olá Waldir,

 

  Subi sua sugestão para o Bloco H, a saber LocalizaRegistro para o registro H010. Revisão 4921.

  Mas não subi a sua sugestão para o LocalizaRegistro do registro 0150. O motivo é que o código é ambíguo. Nada me impede de ter um pCOD_PART de tamanho 11 ou 14. Por exemplo, se eu passar 12345678909 para a função, você não pode dizer que é um CPF só porque tem 11 dígitos.

  Contudo, se quiser, poderíamos criar outros métodos como LocalizaRegistroCPFCNPJ, e aí sim poderia fazer a diferenciação pelo tamanho. Mas se desejar, crie um outro tópico por favor.

  Sem mais, obrigado pela contribuição. :)

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.