Skip to content

Tag-icone-mini.png Totali CheckOut‏‎, Funcionalidades

Referenciado por: Postos de Combustíveis |

Apresentação ​

Segundo o DEPARTAMENTO NACIONAL DE COMBUSTÍVEIS PORTARIA Nº 26, DE 13 DE NOVEMBRO DE 1992 RESOLVE: Instituir o livro de movimentação de combustíveis (LMC) para registro diário, pelos Postos Revendedores (PR's) dos estoques e movimentação de compra e venda de produtos e dá outras providências:

CONSIDERANDO a necessidade de proteção do consumidor contra a adulteração dos combustíveis;

CONSIDERANDO a necessidade de controle mais eficazes para detectar vazamentos de produtos derivados de Petróleo, de álcool etílico carburante e mistura óleo diesel/biodiesel especificada pela ANP comercializados pelos Postos Revendedores, que possam ocasionar dano ao meio ambiente e/ou à integridade física ou patrimonial da população;

CONSIDERANDO a necessidade de facilitar a atividade de fiscalização da arrecadação do ICMS e do IVVC pelas Fazendas Estaduais e municipais, respectivamente; CONSIDERANDO a necessidade de coibir operações irregulares de aquisição e revenda de combustíveis.

Permissão ​

Permissão 206 - Operações com combustíveis

Livro de Movimentacao de Combustivel.jpg

Utilização ​

Livro de Movimentacao de Combustivel2.jpg

Para se criar uma medição de tanque, deve-se clicar no botão Livro de Movimentacao de Combustivel5.jpg ou Livro de Movimentacao de Combustivel6.jpg

Então será habilitado o grid superior para a identificação da filial, número do tanque, quantidade de litros, data da medição e usuário que efetuou a medição.

Livro de Movimentacao de Combustivel3.jpg

Em seguida, será habilitado o grid abaixo para a entrada de dados sobre o fechamento de pista.

Livro de Movimentacao de Combustivel4.jpg

A esquerda da tela, existem filtros para efetuar as buscas.

Principais instruções efetuadas nesta tela:

SELECT * FROM TT_MDT insert into TT_MDT (CODFIL, NUMTAN, DATMED, FILLEI, CODLEI, DATLEI, FILREG, CODREG,
DATREG, ATU_EM, QTDLTS) insert into TT_FCP (CODFIL, SEQUEN, FILMED, TANMED, DATMED, CODBIC, FILLEI, CODLEI, FILREG, CODREG, DATREG, DATFEC, ATU_EM, VLRENC)

Para se iniciar aferições nos tanques, deve-se clicar no botão Livro de Movimentacao de Combustivel5.jpg ou Livro de Movimentacao de Combustivel6.jpg

Em seguida, o grid é habilitado para se inserir, alterar ou deletar os registros referentes as aferições. A tela a seguir demonstra a inserção de dados sobre as aferições efetuadas. A esquerda possuem filtros para efetuar uma pesquisa mais rápida.

Livro de Movimentacao de Combustivel7.jpg

Principais instruções efetuadas nesta tela:

SELECT * FROM TT_AFE insert into TT_AFE (CODFIL, CODBIC ,FILAFE, CODAFE, DATAFE, FILREG, CODREG, DATREG, ATU_EM, ENCINI, ENCFIM)

Para se efetuar uma emissão de movimentação de combustível, deve-se primeiro selecionar o período que se deseja emitir, a filial e o produto, em seguida clicar no botão Livro de Movimentacao de Combustivel8.jpg para a criação do formulário inicial, caso não exista. Existindo, basta efetuar a pesquisa do produto, filial e período necessários.

Livro de Movimentacao de Combustivel9.jpg

Livro de Movimentacao de Combustivel10.jpg

select case when ilm.filial is null then 'T'
else 'F' end novo, ilm.filemi, ilm.codemi, ilm.observ,
dat.datope as datemi, 0 as numfor, ilm.codfil, ilm.sequen,
ilm.filusu, ilm.codusu, ilm.apeusu from tt_dat dat left join ( select lmc.codfil, lmc.sequen, lmc.filmat, lmc.codmat, lmc.codcor,
lmc.codtam,
ilm.filemi, ilm.codemi, ilm.observ, ilm.datemi,
usu.filusu, usu.codusu, usu.apeusu, ilm.codfil as filial
from tt_lmc lmc inner join tt_ilm ilm on lmc.codfil = ilm.codfil and lmc.sequen = ilm.sequen left join tt_usu usu on ilm.filemi = usu.filusu and ilm.codemi = usu.codusu where lmc.codfil = '003'
and lmc.filmat = '003'
and lmc.codmat = '114'
and lmc.codcor = 0
and lmc.codtam = 0
) ilm on dat.datope = ilm.datemi and codfil = '003'
WHERE 1 = 1
AND dat.datope >= TO_DATE('01/03/2005 00:00:00','DD/MM/YYYY HH24:MI:SS')
AND dat.datope <= TO_DATE('05/03/2005 23:59:59','DD/MM/YYYY HH24:MI:SS')
order by dat.datope

Livro de Movimentacao de Combustivel11.jpg

Para efetuar a descarga de combustíveis, deve-se entrar com os dados da nota da compra do produto. Após efetuar uma compra esta tela abrirá automaticamente, caso desejar efetuar o registro mais tarde, basta clicar no botão ?OK?, então a tela fechará sem efetuar nenhuma gravação.

Livro de Movimentacao de Combustivel12.jpg

SELECT PRO.DESMAT, DES.FILICO, DES.SEQICO, TAN.TANQUE , DES.CODTAN, DES.NUMICO, DES.QTDLTS, USU.APEUSU, TRUNC(DES.ATU_EM) AS ATU_EM, TO_NUMBER() AS PERCENT FROM TT_DES DES INNER JOIN TD_TAN TAN ON TAN.CODTAB = DES.CODTAN INNER JOIN TT_GRA GRA ON GRA.FILMAT = TAN.GRAFIL AND GRA.CODMAT = TAN.GRACOD AND GRA.CODCOR = TAN.GRACOR AND GRA.CODTAM = TAN.GRATAM INNER JOIN TT_PRO PRO ON PRO.FILMAT = GRA.FILMAT AND PRO.CODMAT = GRA.CODMAT INNER JOIN TT_USU USU ON USU.FILUSU = DES.FILUSU AND USU.CODUSU = DES.CODUSU WHERE DES.FILICO = ? AND DES.SEQICO = ?

SELECT TAN.TANQUE, PRO.DESMAT, TAN.CODTAB, TAN.FILTAN, TAN.GRAFIL, TAN.GRACOD, TAN.GRACOR, TAN.GRATAM, TAN.TANATV
FROM TD_TAN TAN INNER JOIN TT_GRA GRA ON GRA.FILMAT = TAN.GRAFIL AND GRA.CODMAT = TAN.GRACOD AND GRA.CODCOR = TAN.GRACOR AND GRA.CODTAM = TAN.GRATAM INNER JOIN TT_PRO PRO ON PRO.FILMAT = GRA.FILMAT AND PRO.CODMAT = GRA.CODMAT ORDER BY TAN.FILTAN, TAN.TANQUE

Para a impressão da emissão de LMC:

select sum(case mdt.tanque when 1 then qtdlts end) as tanque1, sum(case mdt.tanque when 2 then qtdlts end) as tanque2, sum(case mdt.tanque when 3 then qtdlts end) as tanque3, sum(case mdt.tanque when 4 then qtdlts end) as tanque4, sum(case mdt.tanque when 5 then qtdlts end) as tanque5, sum(case mdt.tanque when 6 then qtdlts end) as tanque6, sum(qtdlts) as tanques from TV_LMC_MDT MDT where MDT.DATMED=ADD_DAY(?,-1) and mdt.codfil=?

          SELECT VEN.CODFIL,
   VEN.FILMAT,
   VEN.CODMAT,
   VEN.CODCOR,
   VEN.CODTAM,
   VEN.DATMED AS datope,
   VEN.qtdmov,
   VEN.VLRMOV,
   VEN.TANQUE,
   VEN.CODBIC,
   VEN.BOMBA,
   VEN.BICO,
   VEN.ENCABE,
   VEN.ENCFEC,
   (SELECT SUM(AFE.ENCFIM-AFE.ENCINI)
      FROM TT\_AFE AFE
     WHERE AFE.CODBIC=VEN.CODBIC
       AND AFE.ENCINI>VEN.ENCABE
       AND AFE.ENCFIM<VEN.ENCFEC
    ) AS QTDAFE

from tt_lmc lmc inner join tt_ilm ilm on lmc.codfil = ilm.codfil and lmc.sequen = ilm.sequen INNER JOIN tv_lmc_ven ven ON ven.codfil=lmc.codfil and ven.filmat=lmc.filmat and ven.codmat=lmc.codmat and ven.codcor=lmc.codcor and ven.codtam=lmc.codtam AND ven.datmed=ilm.datemi where ilm.codfil=? and ilm.sequen=? and ilm.DATEMI=?

Descarga dos combustíveis - TT_DES

  • FILICO CHAR(3) - Filial Item de Compra
  • SEQICO CHAR(10) - Seqüência Item de Compra
  • NUMICO NUMBER(5) - Número Item de Compra
  • CODTAN NUMBER(5) - Código do Tanque
  • QTDLTS NUMBER(9,4) - Quantidade de Litros - Not Null

PK_DES primary key (FILICO,SEQICO,NUMICO,CODTAN)

FK_DES_ICO (FILICO,SEQICO,NUMICO) references TT_ICO (CODFIL,SEQUEN,NUMITE)

FK_DES_TAN (CODTAN) references TD_TAN (CODTAB)

I_FK_DES_ICO on TT_DES (FILICO,SEQICO,NUMICO)

-- Grant/Revoke object privileges

grant select on TT_DES to TOTALI_BASICO;

grant insert, update, delete on TT_DES to TOTALI_CADASTRA_COMPRAS;

grant insert, update, delete on TT_DES to TOTALI_COMBUSTIVEIS;

Medição de tanque - TT_MDT

  • CODFIL CHAR(3) - Filial
  • NUMTAN NUMBER(5) - Número Tanque
  • DATMED DATE - Data Medição
  • FILLEI CHAR(3) - Filial Usuário da Leitura
  • CODLEI CHAR(3) - Código Usuário da Leitura
  • DATLEI DATE - Data Leitura
  • FILREG CHAR(3) - Filial Usuário do Registro
  • CODREG CHAR(3) - Código Usuário do Registro
  • DATREG DATE - Data Registro
  • ATU_EM DATE - ÿltima Atualização
  • QTDLTS NUMBER(10,4) - Quantidade Litros

PK_MDT primary key (CODFIL,NUMTAN,DATMED)

FK_MDT_USU_LEI (FILLEI,CODLEI) references TT_USU (FILUSU,CODUSU)

FK_MDT_USU_REG (FILREG,CODREG) references TT_USU (FILUSU,CODUSU)

CK_MDT_DATMED check (DATMED = TRUNC(DATMED))

I_FK_MDT_DTAN on TT_MDT (CODFIL,NUMTAN)

I_FK_MDT_USU_LEI on TT_MDT (FILLEI,CODLEI)

I_FK_MDT_USU_REG on TT_MDT (FILREG,CODREG)

-- Grant/Revoke object privileges grant select on TT_MDT to TOTALI_BASICO;

grant insert, update, delete on TT_MDT to TOTALI_COMBUSTIVEIS;

Controle de emissões do LMC - TT_LMC ? Livro_de_Movimentacao_de_Combustivel

  • CODFIL CHAR(3) - Filial
  • SEQUEN CHAR(10) - Sequenciador
  • FILMAT CHAR(3) - Produto
  • CODMAT CHAR(5)
  • CODCOR NUMBER(5)
  • CODTAM NUMBER(5)
  • FILREG CHAR(3) - Filial Usuário Registro
  • CODREG CHAR(3) - Código Usuário Registro
  • DATINI DATE - Data Início
  • NUMFOR NUMBER(9) - Numero Inicial
  • ATU_EM DATE - Data Atualização

PK_LMC primary key (CODFIL,SEQUEN)

AK_LMC_GRA unique (CODFIL,FILMAT,CODMAT,CODCOR,CODTAM)

FK_LMC_GRA (FILMAT,CODMAT,CODCOR,CODTAM) references TT_GRA (FILMAT,CODMAT,CODCOR,CODTAM)

FK_LMC_USU (FILREG,CODREG) references TT_USU (FILUSU,CODUSU)

I_FK_LMC_GRA on TT_LMC (FILMAT,CODMAT,CODCOR,CODTAM)

I_FK_LMC_USU on TT_LMC (FILREG,CODREG)

-- Grant/Revoke object privileges

grant select on TT_LMC to TOTALI_BASICO;

grant insert, update, delete on TT_LMC to TOTALI_COMBUSTIVEIS;

Itens do LMC - TT_ILM ? Livro_de_Movimentacao_de_Combustivel

  • CODFIL CHAR(3) - Filial
  • SEQUEN CHAR(10) - Sequencia
  • DATEMI DATE - Data Emissão
  • FILEMI CHAR(3) - Usuário que emitiu
  • CODEMI CHAR(3)
  • OBSERV VARCHAR2(4000) - Observação

PK_ILM primary key (CODFIL,SEQUEN,DATEMI)

FK_ILM_LMC foreign key (CODFIL,SEQUEN)

FK_ILM_USU foreign key (FILEMI,CODEMI)

I_FK_ILM_ILM on TT_ILM (CODFIL,SEQUEN)

I_FK_ILM_USU on TT_ILM (FILEMI,CODEMI)

-- Grant/Revoke object privileges

grant select on TT_ILM to TOTALI_BASICO;

grant insert, update, delete on TT_ILM to TOTALI_COMBUSTIVEIS;

Fechamento de Pista - TT_FCP

  • CODFIL CHAR(3) - Filial
  • SEQUEN CHAR(10) - Seqüência
  • FILMED CHAR(3) - Filial Medição
  • TANMED NUMBER(5) - Tanque Medição
  • DATMED DATE - Data Medição
  • CODBIC NUMBER(5) - Código do Bico
  • FILLEI CHAR(3) - Filial Usuário Leitura
  • CODLEI CHAR(3) - Código Usuário Leitura
  • FILREG CHAR(3) - Filial Usuário Registro
  • CODREG CHAR(3) - Código Usuário Registro
  • DATREG DATE - Data Registro
  • DATFEC DATE - Data Fechamento
  • ATU_EM DATE - Atualizado Em
  • VLRENC NUMBER(10 2) - Valor Encerrante

PK_FCP primary key (CODFIL,SEQUEN)

FK_FCP_BIC (CODBIC) references TD_BIC (CODTAB)

FK_FCP_MDT (FILMED,TANMED,DATMED) references TT_MDT (CODFIL,NUMTAN,DATMED)

FK_FCP_USU_FEC (FILLEI,CODLEI) references TT_USU (FILUSU,CODUSU)

FK_FCP_USU_REG (FILREG,CODREG) references TT_USU (FILUSU,CODUSU)

I_FK_FCP_MED on TT_FCP (FILMED,TANMED,DATMED)

I_FK_FCP_USU_LEI on TT_FCP (FILLEI,CODLEI)

I_FK_FCP_USU_REG on TT_FCP (FILREG,CODREG)

-- Grant/Revoke object privileges

grant select on TT_FCP to TOTALI_BASICO;

grant insert, update, delete on TT_FCP to TOTALI_COMBUSTIVEIS;

Tabela de Aferições - TT_AFE

  • CODFIL CHAR(3) - Filial
  • SEQUEN CHAR(10) - Seqüência
  • CODBIC NUMBER(5) - Código Bico
  • FILAFE CHAR(3) - Filial Usuário Aferição
  • CODAFE CHAR(3) - Código Usuário Aferição
  • DATAFE DATE - Data Aferição
  • FILREG CHAR(3) - Filial Usuário Registro
  • CODREG CHAR(3) - Código Usuário Registro
  • DATREG DATE - Data Registro
  • ATU_EM DATE - Data Atualização
  • ENCINI NUMBER(10 2) - Encerrante Inicial
  • ENCFIM NUMBER(10 2) - Encerrante Final

PK_AFE primary key (CODFIL,SEQUEN)

FK_AFE_BIC (CODBIC) references TD_BIC (CODTAB)

FK_AFE_USU_AFE (FILAFE,CODAFE) references TT_USU (FILUSU,CODUSU)

FK_AFE_USU_REG (FILREG,CODREG) references TT_USU (FILUSU,CODUSU)

I_FK_AFE_USU_AFE on TT_AFE (FILAFE,CODAFE)

I_FK_AFE_USU_REG on TT_AFE (FILREG,CODREG)

-- Grant/Revoke object privileges

grant select on TT_AFE to TOTALI_BASICO;

grant insert, update, delete on TT_AFE to TOTALI_COMBUSTIVEIS;

Tabela de Tanque ? TD_TAN

  • CODTAB NUMBER(5) - Código da tabela
  • FILTAN CHAR(3) - Filial
  • TANQUE NUMBER(2) - Número do tanque
  • GRAFIL CHAR(3) - Filial Grade
  • GRACOD CHAR(5) - Código Grade
  • GRACOR NUMBER(5) - Divisão
  • GRATAM NUMBER(5) - Sub-Divisão
  • TANATV VARCHAR2(1) - Ativo?

PK_DTAN primary key (CODTAB)

AK_DTAN unique (FILTAN,CODTAB)

AK_DTAN_TANQUE unique (FILTAN,TANQUE)

FK_DTAN_DFIL foreign key (FILTAN)

FK_DTAN_GRA foreign key (GRAFIL,GRACOD,GRACOR,GRATAM)

CK_DTAN_TANATV check (TANATV IN ('T','F'));

I_FK_DTAN_DFIL on TD_TAN (FILTAN)

I_FK_DTAN_GRA on TD_TAN (GRAFIL,GRACOD,GRACOR,GRATAM)

-- Grant/Revoke object privileges

grant select on TD_TAN to TOTALI_BASICO;

grant insert, update, delete on TD_TAN to TOTALI_USUARIO_CONFIG;

Tabela de Bico  ? TD_BIC

  • CODTAB NUMBER(5) - Código da tabela
  • FILBIC CHAR(3) - Filial
  • CODTAN NUMBER(5) - Código do Tanque
  • SEQFIL NUMBER(2) - Seq. Filial
  • NUMBOM NUMBER(2) - Número da Bomba
  • SEQBOM NUMBER(2) - Seq. Bomba
  • QTDENC NUMBER(2) - Qtde Dígitos
  • NIVPRE CHAR(1) default '3' - Nível Preço
  • MAXCHE NUMBER(3), - Prazo Máx.Cheque
  • BICATV VARCHAR2(1) default 'T' - Ativo?

PK_DBIC primary key (CODTAB)

AK_DBIC_BICO unique (FILBIC,SEQFIL)

AK_DBIC_BOMBA unique (FILBIC,NUMBOM,SEQBOM)

FK_DBIC_DFIL foreign key (FILBIC) references TD_FIL (CODFIL)

FK_DBIC_DTAN foreign key (FILBIC,CODTAN) references TD_TAN (FILTAN,CODTAB)

CK_DBIC_BICATV check (BICATV IN ('T', 'F'))

CK_DBIC_NIVPRE check (NIVPRE IN ('1', '2', '3'))

I_FK_DBIC_DTAN on TD_BIC (FILBIC,CODTAN)

-- Grant/Revoke object privileges

grant select on TD_BIC to TOTALI_BASICO;

grant insert, update, delete on TD_BIC to TOTALI_USUARIO_CONFIG;

Livro de Movimentacao de Combustivel13.jpg