Ir para conteúdo
  • Cadastre-se

dev botao

EXEMPLO ACBR PIS COFINS


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

Recommended Posts

Tenho certeza que minha dúvida é simples, mas empaquei ao estudar o exemplo do acbr pis/cofins em uma questão ..

logo no bloco 0 , a rotina abaixo mostra a passagem dos parametros de forma bem clara ...

with ACBrSPEDPisCofins1.Bloco_0 do

begin

// Dados da Empresa

with Registro0000New do

begin

NUM_REC_ANTERIOR := '';

NOME := 'NOME DA EMPRESA';

CNPJ := '11111111000191';

UF := 'ES';

.

.

.

mas quando chega em

IND_NAT_PJ := indNatPJSocEmpresariaGeral;

IND_ATIV := indAtivIndustrial;

pergunto : o que é por exemplo indNatPJSocEmpresariaGeral?

é uma variável? é uma constante ? é uma passagem de parametro para uma dll ?

O que preciso saber : ex : quero dizer que indAtivIndustrial = codigo 0

Como digo isso nesse trecho ? como passo que IND_NAT_PJ = 0 por exemplo ?

Grato desde já por qualquer contribuição.

Link para o comentário
Compartilhar em outros sites

  • Consultores

É um tipo enumerado definido na unit ACBrECDBlocos.pas

Não precisa muita coisa pra descobrir os valores dos tipos, só ler o guia prático.

Por exemplo indNatPJSocEmpresariaGeral, seria qual nas opções abaixo?

Indicador da natureza da pessoa jurídica:

00 – Pessoa jurídica em geral

01 – Sociedade cooperativa

02 – Entidade sujeita ao PIS/Pasep exclusivamente

com base na Folha de Salários

Se apertar Ctrl+Barra de Espaços no Delphi/Lazarus, costuma aparecer quais valores você pode usar. Mas se quiser ir mais a fundo, é só procurar o campo e ver qual foi o tipo utilizado na definição da propriedade, e daí, procurar no ACBrECDBlocos.pas o tipo correspondente.

[]'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 para o comentário
Compartilhar em outros sites

obrigado pela resposta, mas na verdade a questão não é essa.

|Eu tenho um combobox onde ele seta as opções.

Ex: ele setoua a Opção A e o Value dela = 0.

A questão :

Onde no código diz :

IND NAT = indNatPJSocEmpresariaGeral

Como eu digo a ele nesse ponto que eu quero o IND NAT = 0 ( opção marcada pelo usuario )

IND NAT = 0 ?

IND NAT = indNatPJSocEmpresariaGeral [0]

Como eu falo com ele isso ??

grato

Link para o comentário
Compartilhar em outros sites

Infelizmente ainda não é isso ...

Se faço IND_NAT_PJ := TACBrIndicadorNaturezaPJ(0);

ou

IND_NAT_PJ := TACBrIndicadorNaturezaPJ(ComboBox.ItemIndex);

Ele não compila e dá SpedPisCofins.pas Mission Operator or Semicolon;

Mas se faço sem envio de parametro nenhum :

IND_NAT_PJ := TACBrIndicadorNaturezaPJ;

ele compila normalmente.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Faça um case com o retorno do combobox escolhido pelo usuário e passe para o componente o valor enumerado de acordo.

[]'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 para o comentário
Compartilhar em outros sites

bom , ainda não é a resposta que preciso mas agradeço.

Vou tentar exemplificar de outra forma.

No componente SpedPisCofins :

IND_NAT_PJ := TACBrIndicadorNaturezaPJ;

como eu digo por exemplo neste ponto que

IND_NAT_PJ := 1 ? (OU SEJA IND_NAT_PJ IGUAL A 1 )

Em tempo : IND_NAT_PJ := TACBrIndicadorNaturezaPJ (1) NAO COMPILA.

Eu só preciso que me mandem a SINTAXE. Sem conceitos, os conceitos eu conheço ...

Só a SINTAXE porque já tentei de tudo e isso NAO COMPILA de forma alguma .

grato.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Bom dia nando, gostaria de saber se já solucionou sua dúvida pois passei pelo mesmo problema. Achei uma solução, porém, não acho que seja a mais coerente, embora tenha me feito concluir o projeto.

Desde já agradeço a colaboração.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...

Estou com o mesmo problema eu tenho um TDBcombobox, com items:

00 - Sociedade Empresária em Geral

01 - Sociedade Cooperativa

02 - Entidade sujeita ao PIS / Pasep exclusivamente com base na folha de Salários

Quero saber como posso colocar para quando selecionar o combo (exemplo se selecionar o item 02) como posso chamar isso, pois fiz dessa manira e está dando errado:

IND_NAT_PJ := Strtoint(Cb_IndicadorPessoaJ.Text);

Link para o comentário
Compartilhar em outros sites

Utilizem um case , vejam :

case (combobox1.itemindex) of

0 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

1 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

2 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

end ;

-------------------------------------------------------------------------------------------

outra opcao , crie uma variavel integer , vejam :

Codigo := strtoint(copy(combobox1.text , 1 ,2 )) ; // pego apenas as duas primeiras posicoes e transformo em um codigo de controle , lembrando que tem que haver sincronismo com as informações declaradas ao componente .

case Codigo of

0 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

1 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

2 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

end ;

boa sorte a todos .

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Agradeço pela informação, fico muito grata, por ter colegas como você que possa ajudar.

Um forte abraço.

Desculpa por não ter respondido antes, pois sabemos que trabalhamos com prazos.

Utilizem um case , vejam :

case (combobox1.itemindex) of

0 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

1 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

2 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

end ;

-------------------------------------------------------------------------------------------

outra opcao , crie uma variavel integer , vejam :

Codigo := strtoint(copy(combobox1.text , 1 ,2 )) ; // pego apenas as duas primeiras posicoes e transformo em um codigo de controle , lembrando que tem que haver sincronismo com as informações declaradas ao componente .

case Codigo of

0 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

1 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

2 : IND_NAT_PJ := TACBrIndicadorNaturezaPJ; // indique a opcao desejada

end ;

boa sorte a todos .

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4316 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.