quarta-feira, 24 de agosto de 2011

Exclusão de dados do Bloco VII do PAF-ECF

Pessoal,

No bloco VII da versão 01.08 do ER-PAF-ECF, vem com uma novidade que é tratar também a exclusão/inclusão de dados no banco de dados. Levando em consideração a lógica que passei no post anterior "Bloco VII do PAF-ECF" (http://guilhermebragaf1.blogspot.com/2011/07/bloco-vii-do-paf-ecf.html), tratar a inclusão é fácil, é só utilizar a mesma lógica para tratar a alteração de dados, no entanto como tratar um registro excluído ?

Utilizei a seguinte lógica:

Criei uma trigger para cada tabela que faz parte dos registros dos arquivos que terão que evidenciar a exclusão de dados. Essa trigger identifica qual o programa que está executando a exclusão. Se a exclusão não for executada pela minha aplicação a trigger irá inclui esse registro, que está sendo excluído, em uma tabela auxiliar, criando assim uma tabela de log só para os registros excluídos da tabela principal. Quando minha aplicação gerar os arquivos eletrônicos, irá ler também essas tabelas auxiliares para identificar os registros que foram excluídos das suas tabelas principais para serem também contemplados no arquivo eletrônico.

Abaixo mostro como fica mais ou menos a trigger utilizando uma aplicação feita em Visual Basic com banco de dados SQL Server:


CREATE TRIGGER NOME_DA_TRIGGER
   ON  NOME_DA_TABELA
   AFTER DELETE
AS
BEGIN
    DECLARE @PROGRAMA VARCHAR(300)

    SELECT @PROGRAMA = PROGRAM_NAME FROM SYS.SYSPROCESSES WHERE SPID = @@SPID

    IF @PROGRAMA <> 'VISUAL BASIC'
    BEGIN    
        -- AQUI SERÁ FEITO A INCLUSÃO DO REGISTRO QUE ESTÁ SENDO EXCLUÍDO NA TABELA AUXILIAR PARA        

        -- QUE SEJA INCLUÍDO COM O CARACTER "?" NA GERAÇÃO DO ARQUIVO ELETRÔNICO
    END
END
GO


terça-feira, 23 de agosto de 2011

Especificação de Requisitos do PAF-ECF versão 01.08

Pessoal,

Listo abaixo os principais pontos da Especificação de Requisitos do PAF-ECF versão 01.08:
  1. Uma pré-venda ou um DAV que ainda não tiver sido impresso o seu cupom fiscal, poderá ser adicionado mais itens (Requisito V, Item 7 / Requisito VI Item 8);
  2. Quando o consumidor desistir de algum item da Pré-venda ou do DAV, não poderá ser excluído. Nesse caso terá que marcar o item como cancelado para quando imprimir o cupom fiscal o mesmo ser impresso e cancelado. No caso de impressão do DAV, imprimir a expressão "cancelado" ao lado da descrição do item (Requisito V, Item 8 / Requisito VI Item 9);
  3. Não será permitido alterar a quantidade de um item já registrado na Pré-venda ou DAV. Nesse caso terá que registrar um novo item (Requisito V, Item 9 / Requisito VI Item 10);
  4. Não é permitido a alteração de DAV impresso (Requisito VI, Item 11);
  5. A função “Estoque” não se aplica ao PAF-ECF para uso por Prestador de Serviço Transporte de Passageiros (Requisito VII, Item 1, Teste 013);
  6. "ESTOQUE", criação de 2 categorias: "ESTOQUE TOTAL", contendo todos os produtos e "ESTOQUE PARCIAL", contendo só os produtos informado pelo usuário. Nesse caso terá que possibilitar ao usuário selecionar, tanto por código quanto por descrição, os produtos que irão contemplar o arquivo eletrônico (Requisito VII, Item 8);
  7. "DAV EMITIDOS", alteração na impressão e no leiaute (Requisito VII, Item 11);
  8. “ENCERRANTES”, alteração no leiaute (Requisito VII, Item 12);
  9. "Parâmetros de Configuração", Impressão em relatório gerencial contendo todas as configurações do PAF-ECF. Exemplo: "Porta Pinpad = 02". Não existe leiaute para essa impressão (Requisito VII, Item 21);