Jeca Joia

05:55 Jamison Freitas 0 Comments


/*#########################################################################################################
#                                                                                                         #
#     Este arquivo guarda uma histórico das alterações efetuadas no banco de dados pimacon, no postgres.  #
#                                                                                                         #
#########################################################################################################*/



/* 21/03/2016 ###################################################################################################################################################

Alterado o trigger 'ftrgitemnotafiscalbiu'.
Agora, ao salvar uma nota fiscal, se o CFOP de um item for 5102 ou 6102
e o item alguma vez tiver sido comprado com CFOP 5403, 5405, 6403, 6405,
que significa que ele é sujeito à Substituição Tributária, automaticamente
o CFOP vai ser mudado para 5405 ou 6405, que é o CFOP a ser utilizado na
venda de itens sujeitos à Substituição Tributária para que sejam abatidos
do cálculo de ICMS.
*/

CREATE OR REPLACE FUNCTION ftrgitemnotafiscalbiu()

  RETURNS trigger AS
$BODY$
BEGIN
new.quantidadeabsoluta = (new.quantidade*vendas.QtdeUnidProduto(new.idproduto,new.unidade));

/* Aqui é automatizado o CFOP para os produtos que tem Substituição Tributária:
Caso tenha alguma entrada o produto com CFOP de Substituição: começando com 54 ou 64
o CFOP(idnaturezaoperacao) e o CST (caso não seja 500) é ajustado.
*/
IF new.idproduto IN (SELECT idproduto
    FROM vendas.entradaproduto
    WHERE idnaturezaoperacao in (
/* Dentro do estado */
5401,5402,5403,5405,5408,5409,5410,5411,5412,5413,5414,5415,
/* Fora do estado */
6401,6402,6403,6404,6408,6409,6410,6411,6412,6413,6414,6415)) THEN
IF new.idnaturezaoperacao = 5102 THEN
new.idnaturezaoperacao = 5405;
END IF;
IF new.idnaturezaoperacao = 6102 THEN
new.idnaturezaoperacao = 6404;
END IF;
new.cst = 500;
END IF;

        RETURN new;
END;$BODY$

  LANGUAGE plpgsql VOLATILE

  COST 100;
ALTER FUNCTION ftrgitemnotafiscalbiu()
  OWNER TO vendas;


/* 09/04/2016 ######################################################################################################################################

Instalada extensão plpython3u
- Antes de instalar a extensão, é necessário instalar
o interpretador Python 3.2.5
-Colocar o caminho da pasta bin do PostgreSQL,
normalmente: C:\Program Files\PostgreSQL\9.3\bin,
na variável de ambiente do Windows 'PATH'

Criada função processarxmlretorno(in_idnotafiscal integer, in_codigoretorno integer, in_xmlretorno bytea) escrita em plpython3u
- Esta função é responsável por verificar se o XML retornado é um protocolo de NFe ou um Evento
Caso seja um evento, ela salva o XML do evento em um arquivo.
Se for um protocolo de NFe, ela une o XML Assinado da Nota com o XML do Protocolo e salva em um arquivo.
- Editar a variável 'xmlFilePath' para apontar para o caminho onde se deve salvar os arquivos XML.
- A pasta deverá ter permissão de escrita para o usuário Todos para que o PostgreSQL possa criar o arquivo.

Criado trigger ftrgnfecomunicacaoaiu
- Chama a função processarxmlretorno sempre que é incluído ou alterado um retorno com codigoretorno = 100 ou 135
*/

0 comentários: