Clipper On Line • Ver Tópico - Alíquota de ICMS

Alíquota de ICMS

Discussão sobre SQL

Moderador: Moderadores

 

Alíquota de ICMS

Mensagempor JoséQuintas » 14 Abr 2021 16:11

aliquota.png


Só brincando mais um pouco

CREATE FUNCTION ze_AliquotaIcms( cUFde VARCHAR(2), cUFate VARCHAR(2) )
RETURNS DECIMAL(10,2)
BEGIN
DECLARE nAliquota DECIMAL(10,2);
SET nAliquota = (
CASE
   WHEN cUFde = cUFate AND cUFde IN ( 'AL', 'AM', 'AP', 'BA', 'CE',
      'DF', 'ES', 'MA', 'MG', 'PB', 'PE', 'PI', 'PR', 'RN', 'RS',
      'SP', 'SE', 'TO' ) THEN 18
   WHEN cUFde = cUFate AND cUFde IN ( 'GO', 'MT', 'MS', 'PA', 'RO',
      'RR', 'SC' ) THEN 17                  
   WHEN cUFde = 'AC' AND cUFate = 'AC'  THEN 12
   WHEN cUFde = 'MG' AND cUFate IN ( 'PR', 'RJ', 'RS', 'SC', 'SP' ) THEN 12
   WHEN cUFde = 'MG' THEN 7
   WHEN cUFde = 'RJ' AND cUFate = 'RJ' THEN 20
   WHEN cUFde = 'RJ' AND cUFate IN ( 'MG', 'PR', 'RS', 'SC', 'SP' ) THEN 12
   WHEN cUFde = 'RJ' THEN 7
   WHEN cUFde = 'RS' AND cUFate IN ( 'MG', 'PR', 'PR', 'MS', 'SC', 'SP' ) THEN 12
   WHEN cUFde = 'SC' AND cUFate IN ( 'MG', 'PR', 'MS', 'PB', 'RS', 'SP' ) THEN 12
   WHEN cUFde = 'SC' then 7
   WHEN cUFde = 'SP' AND cUFate IN ( 'MG', 'PR', 'RJ', 'RS', 'SC' ) THEN 12
   WHEN cUFde = 'SP' THEN 7
ELSE 12
END );
RETURN nAliquota;
END


Aí fica bem claro como eu agrupei.
O adicional é pra comparação UFde = UFate, que pega as alíquotas internas.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Alíquota de ICMS

Mensagempor JoséQuintas » 14 Abr 2021 16:22

Só pra lembrar:

Para executar comando é isso.

Caso queira digitar isso no HeidiSQL, aí é onde entra aquele DELIMITER.

DELIMITER $$
comando acima
$$
DELIMITER ;


Foi nisso que eu apanhei da primeira vez.
O delimiter não faz parte do SQL, é pro interpretador que no caso é o HeidiSQL entender.

Faltou a documentação do MySQL mostrar isso de forma clara.
Se for digitar no "console" do MySQL também precisa disso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Alíquota de ICMS

Mensagempor JoséQuintas » 14 Abr 2021 16:36

aliquota.png


Lembram aquilo de ficar criando fórmulas no programa pra determinados cálculos?
Então...
É só colocar os cálculos assim em funções da base de dados.

Vamos poder alterar cálculos sem precisar ficar recompilando, instalando versão, etc.
É pra se pensar muito bem em como organizar isso.

Ao invés de atualizar o EXE inteiro, podemos deixar disponível numa base MySQL na internet, ou num webservice, ou num download direto, tanto faz, já que se trata de texto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Alíquota de ICMS

Mensagempor JoséQuintas » 14 Abr 2021 16:53

Vixe, me veio outra coisa na cabeça....

A gente vai lá no pedido, trás informações pra fazer os cálculos e salva....

Porque não... tudo ficar lá mesmo, e fazer os cálculos lá mesmo....

Agora é que endoidou tudo de vez....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18011
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes




Retornar para SQL

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro