Página 1 de 1

DUVIDA C/TABELAS

Enviado: 26 Ago 2004 19:31
por ROMARIO
Pessoal, tenho dúvida com tabelas c/validade. A tabela (IRenda, por exemplo) vale de 01/2000 até 12/2003. A partir de 01/2004 muda as alíquotas etc. Ocorre que às vezes preciso usar uma tabela antiga, para recolher atrasados etc. Coloquei esta dúvida aqui no fórum dias atrás. Responderam que deveria colocar um campo com data, sem maiores detalhes, por isso estou de volta. Se possível um exemplo.

Hoje faço assim:

Do while !IRE->(eof())
If Valor >= IRE->FxIni .and. Valor <= IRE->FxFin
Aliq:= IRE->Aliq
etc.....
Endif
Enddo

Ou seja, apenas seleciono as faixa sem considerar se a tabela é a correta.
Como devo fazer ???

Obrigado.

Confuso!!!

Enviado: 26 Ago 2004 20:47
por Kebe
Achei sua colocação meio confusa!!!
Poderia explicar melhor o seu problema ?

Enviado: 26 Ago 2004 21:20
por ROMARIO
Explicando melhor.

Tenho uma tabela(Imp.Renda) com os seguintes campos:

Fxa, ValIni, ValFin, Aliq, Desc.
01 0,00 1.215,00 0.00 0,00
02 1215,01 2.900,00 15,0 220,00.

Obs.: São valores hipotéticos.

Esta é a tabela atual (08/2004) do meu sistema, com a qual realizo calculos:

Se porventura, em 09/2004 muda a tabela (aliquotas, valores, cria-se novas faixa, novos descontos etc.), mas eu preciso ficar com as duas tabelas em uso, pois sempre tem alguem que recolhe IR com atraso. Supomos que estejamos em 11/2004 e preciso realizar um calculo com a tabela de 08/2004 ??? O meu sistema precisa identificar qual das tabelas usar. Como faço isso ??

Preciso de uma idéia.

Obrigado

Enviado: 27 Ago 2004 01:11
por Dudu_XBase
..fiz um programa uma vez quebra galho pruns fiscais federais...rs...qm diria..mas fiz...usava uma porrada de aliquotas..os caras...faziam fiscalização de lojas de carros importados.....era sobre ressarcimento de icms....tinha um esquema desse de aliquotas...com validade...
na época eu fiz um banco....onde eu cadastrava as aliquotasd....
por exemplo...a nota tinha sido emitida tal dia...eu abria esse banco...via em qual periodo de validade ela se encontrava e ai...jogava a aliquota pra cálculo...
banco aliquota...
codigo valor data_ini data_fim ...
Mas pelo q entendi....vc usa uma faixa de aliquotas...q naum existe data e sim valores...valor inicial e final....
Pq vc naum cria um campo mes...caractere de 6 ....onde vc cadastraria o mês referente...ae ficaria assim..

Código: Selecionar todos

  mes       faixa   val_ini   val_fim      aliquota  des
  082004      01         0,00     1215,00     1,12     2,00
  082004      02    1215,01     3000,00     2,25    40,00   
ae qdo o cliente for utiliza a base de aliquota do mes de agosto ele "tando" em novembro....se no seu sistema existir alguma informação...q de pra vc saber qual tabela de qual mes utilizar...um informação q relacione....basta dar um seek....levantando somente as aliquotas daquele mes...senaum cria um campo de tam caractere 6...e coloca um get...pro cliente digitar qual tabela ele....qr...
Será q o q entendi ta certo...rs...ta tarde e to com sono...hehhhee

Enviado: 27 Ago 2004 06:01
por spereira
Romário,

Faça como o colega Dudu_XBase disse. Crie um campo na sua tabela que informe o período, mas tem de ser no formato aaaamm (aaaa = ano, mm = mês).
A partir daí basta vc saber qual o período que se quer pegar as alíquotas e dar um SEEK na tabela.
Para ordenar terá que criar o índice com o campo PERÍODO.

Com isto vc usará apenas uma tabela com vários períodos.

Espero ter sido claro. Qualquer coisa pergunta.

Enviado: 27 Ago 2004 10:37
por lima
Caro colega;

Aproveitando a ideia do Dudu, crie o campo vigência com inicio e final, assim vc não precisa todo mes ficar atualizando a tabela, ex:-

vigencia vigencia faixa vlr_inicio vlr_final aliquota redutor
inicio final

200406 200407 01 0,00 10,00 2% 10,00

200408 200410 01 1,00 10,00 1 % 0,00
200408 200410 02 10,01 20,00 2 % 10,00


com isso, a manutenção na tabela é mínima,

espero ter ajudado

até +

Lima :cool: