Jeca Joia
/*#########################################################################################################
# #
# 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: