Pular para o conteúdo principal

MNF009 — Movimentação MNF009

Fonte​

  • Source: source/MNF009/

Objetivo​

Registrar a troca de produtos entre a empresa e um cliente, gravando simultaneamente:

  • produtos devolvidos pelo cliente (entrada — ITEMTROCA.TP_TROCA = 'E');
  • produtos entregues ao cliente em substituicao (saida — ITEMTROCA.TP_TROCA = 'S');
  • o cabecalho da troca (TROCA) com cliente, vendedor, condicao de pagamento, desconto e observacao;
  • movimento de estoque via GERA_ESTOQUE com origem 'TC' (Troca);
  • lancamento financeiro (a receber ou a pagar) quando ha diferenca de valor entre entrada e saida, usando GRAVA_CONTAS, GRAVA_PROCESSO, GRAVA_MOVTOPROCESSO, EXECUTA_PROCESSO e opcionalmente GRAVA_MOVTOCAIXA / AbreCaixa.

Apos confirmar, a rotina imprime o comprovante de troca via layout LTC001 (ou o parametrizado em PARMFATUR.CD_LAYTROCA).

Funcionalidades​

  • Entrada de cabecalho da troca: Data, Cliente, Vendedor, Condicao de Pagamento, Vencimento, Valor de Desconto, % Desconto, Observacao.
  • Grid de Produtos Devolvidos (Entrada) com Código, Descricao, Peso, Qtde, Vl Unitario, Vl Total.
  • Grid de Produtos p/ Troca (Saida) com a mesma estrutura.
  • Totalizadores em tempo real: Total Devolvido, Total p/ Troca, Diferenca.
  • Leitura de codigo de barras (ativa quando PARMFATUR.ST_CODIGOBARRA in ('S','A')), com acumulo de quantidade para o mesmo produto.
  • Pesquisa F9 de Cliente, Vendedor, Condicao de Pagamento e Produto.
  • Abertura de grade (F10) via jGradeProduto.RateioGrade para produtos com CD_GRADE, gravando em ITEMTROCAGRADE.
  • Calculo automatico de valor total/unitario via procedure CALCULA_VALOR.
  • Busca automatica de tabela de preco via RETORNA_TABPRECO + RETORNA_PRECOITEM.
  • Calculo de comissao do vendedor via CALCULA_COMISSAO.
  • Validacao de estoque ao confirmar, com rollback ao savepoint ESTOQUE_TROCA em caso de erro.
  • Geracao de parcelas via dialog MostraParcelaDuplicata (shared jParcelamento) quando condicao de pagamento for parcelada.
  • Abertura automatica do caixa (AbreCaixa) quando condicao for a vista e PARMFATUR.CD_HISTORICO nao estiver configurado.
  • Confirmacao de transacoes TEF pendentes (sessao.TEF.ACBrTEFAPI1.ConfirmarTransacoesPendentes) antes do commit, quando ha lancamentos TEF associados ao processo.
  • Impressao do comprovante ao final via CarregaLayout (layout LTC001 padrao).

Estrutura da Tela​

Form MDI child, tamanho fixo (bsSingle), com barra de ferramentas lateral e tres grupos principais empilhados verticalmente.

Barra de Ferramentas (lateral esquerda)​

BotaoAtalhoHintAcao
Novo RegistroF5Novo Registro <F5>Inicia nova troca (btnNovoClick)
Salvar AlteracoesF6Salvar Alteracoes <F6>Confirma a troca (btnSalvarClick)
Excluir RegistroF7Excluir Registro <F7>Remove produto do grid ativo (btnExcluirClick)
Cancelar RegistroF4Cancelar Registro <F4>Cancela edicao em andamento (btnLimparClick)
ConsultarF3Consultar <F3>(oculto — Visible := False no iniciar)
Atualizar RegistrosF2Atualizar Registros <F2>(oculto — Visible := False no iniciar)
ImprimirF8Imprimir <F8>(oculto — Visible := False no iniciar)
SairF12Sair <F12>Fecha o form (btnSairClick)

Grupo "Troca de Produtos" (cabecalho)​

LabelDataFieldTipoOrigemObservacao
DataDT_TROCATwwDBDateTimePickerTROCA.DT_TROCADefault = Date; foco inicial do form
ClienteCD_PESSOA + NM_PESSOATDBEditTROCA.CD_PESSOA / PESSOA.NM_PESSOAF9 pesquisa PESSOA (ST_ATIVA = 'S')
VendedorCD_VENDEDOR + NM_VENDEDORTDBEditTROCA.CD_VENDEDOR / PESSOA.NM_PESSOAF9 pesquisa VENDEDOR
Condicao de PagamentoCD_CONDPAGTO + DS_CONDPAGTOTDBEditTROCA.CD_CONDPAGTO / CONDPAGTO.DS_CONDPAGTOF9 pesquisa CONDPAGTO
VencimentoDT_VENCTOTwwDBDateTimePickercalculadoReadOnly — calculado a partir de Data + NR_DIAS da CONDPARCELA
ObservacaoDS_OBSERVACAOTDBEditTROCA.DS_OBSERVACAOTexto livre ate 240 caracteres

Grupo "Produtos Devolvidos (Entrada)"​

Dataset: dsITEMTROCA (TP_TROCA = 'E').

Campos acima do grid (identificacao do produto corrente):

LabelDataFieldObservacao
Código de BarrasCD_CODIGOBARRAVisivel apenas se PARMFATUR.ST_CODIGOBARRA in ('S','A')
SubGrupoCD_SUBGRUPOReadOnly, preenchido via CD_ITEM
MovimentaçãoCD_MOVIMENTACAOReadOnly, vem de PARMFATUR.CD_TROCAENT
Tab. PrecoCD_TABPRECOReadOnly, via RETORNA_TABPRECO/PARMFATUR.CD_TABPRECO

Grid gridENTRADA (colunas): Produto (CD_ITEM), descricao (DS_ITEM), Peso (PS_ITEMTROCA), Qtde (QT_ITEMTROCA), Vl Unitario (VL_UNITARIO), Vl Total (VL_TOTAL). F9 abre Busca('ITEM', ...).

Campos abaixo do grid:

LabelDataFieldObservacao
Tipo do LocalDS_TIPOLOCALReadOnly, preenchido via RETORNA_LOCAISARMAZENAGEM ou Lista_TipoLocal
LocalDS_LOCALReadOnly
UNDSG_UNIDMEDReadOnly, vem de ITEM.SG_UNIDMED
TotalT_VL_TOTALCalculado (SUM(VL_TOTAL) dos itens com TP_TROCA='E')
Grade Produto <F10>—TLabel informativo, visivel apenas quando item possui CD_GRADE

Grupo "Produtos p/ Troca (Saida)"​

Estrutura identica ao grupo de Entrada, mas vinculado a dsITEMSAIDA (TP_TROCA = 'S'). Total acumulado em T_VL_TOTAL do dataset de saida.

Rodape (totalizadores e acao)​

LabelDataFieldDatasetObservacao
Total DevolvidoT_VL_TOTALdsITEMTROCASoma das linhas de entrada
Total p/ TrocaT_VL_TOTALdsITEMSAIDASoma das linhas de saida
DiferencaT_VL_TROCAdsTROCATotal Saida - Total Entrada - VL_DESCONTO (campo calculado)
Vl DescontoVL_DESCONTOdsTROCAEditavel
% DescontoPC_DESCONTOdsTROCAEditavel, recalcula VL_DESCONTO
Confirmar Troca <F6>——btnOK (BitBtn) dispara btnSalvar.Click

Parametros que Influenciam​

Parametros lidos de PARMFATUR em Busca_Parametros (executada no iniciar):

TabelaCampoEfeito
PARMFATURCD_TROCAENTCódigo de MOVIMENTACAO padrao aplicado aos itens de entrada (iCD_MOVENTRADA). Se nao cadastrado, o form bloqueia Novo/Salvar/Excluir e levanta W-0000 "Os Parametros de Faturamento [Movimentação de Troca Entrada] para a Empresa X nao estao Cadastrados [MFA001]!"
PARMFATURCD_TROCASAICódigo de MOVIMENTACAO padrao aplicado aos itens de saida (iCD_MOVSAIDA)
PARMFATURST_CODIGOBARRAQuando vale 'S' ou 'A', exibe os campos Código de Barras em ambos os grupos e habilita a leitura por codigo de barras com acumulo de quantidade
PARMFATURST_CODBARRASAPENASEm conjunto com ST_CODIGOBARRA, controla CdItemRO — se ST_CODIGOBARRA &lt;&gt; 'P' e ST_CODBARRASAPENAS = 'S', o campo CD_ITEM fica ReadOnly (entrada somente por barras)
PARMFATURCD_TABPRECOTabela de preco padrao quando RETORNA_TABPRECO nao encontra uma especifica
PARMFATURCD_FORMAPAGTOForma de pagamento default (iCD_FORMAPAGTO) usada na geracao de parcelas / GRAVA_CONTAS
PARMFATURCD_HISTORICOHistorico de caixa (iCD_HISTCAIXA). Se vazio, a rotina a vista chama AbreCaixa (dialog interativo); se preenchido, grava direto via GRAVA_MOVTOCAIXA
PARMFATURCD_LAYTROCALayout de impressão do comprovante (iCD_LAYTROCA). Se vazio, usa 'LTC001' por default
PARMFATURST_VALIDAITEMEMPRESAQuando '1' e o item nao e serviço (ITEM.TP_ITEM &lt;&gt; 'S'), exige registro em ITEMEMPRESA — caso contrario levanta W-0000 "Produto nao Associado a esta Empresa [TOF007]!"

Regras de Negocio​

Inicializacao (iniciar)​

  1. Cria DataModule e Form; compartilha conexao via SharedCliHandle.
  2. programa.tpAcesso = 2 (somente consulta) oculta btnNovo, btnSalvar, btnExcluir, Separador1.
  3. Oculta btnProcurar, btnImprimir, btnAtualizar, Separador2 (tela nao tem consulta/atualizacao).
  4. Inicia transaction.StartTransaction.
  5. Busca_Parametros le PARMFATUR — se nao encontrar linha para a empresa, desabilita botoes e lanca W-0000.
  6. Carrega PARMFATUR.ST_CODIGOBARRA e ST_CODBARRASAPENAS para definir CdItemRO (ReadOnly do CD_ITEM).
  7. BuscaParametros(..., 'PARMFATUR', ...) popula ParmFatur: TStrings com todos os campos para acesso via Values['ST_VALIDAITEMEMPRESA'].
  8. Dispara btnNovo.Click — ja abre o form pronto para insercao.

Cabecalho tabTROCA​

  • AfterInsert: DT_TROCA := Date; CD_EMPRESA := sessao.empresa.cd_Empresa.
  • OnValidate CD_PESSOA: carrega NM_PESSOA e CD_CONDFISCAL (via RETORNA_ENDERECO). Bloqueia se ST_ATIVA = 'N' ou pessoa inexistente.
  • OnValidate CD_VENDEDOR: carrega NM_VENDEDOR e verifica ativacao.
  • OnValidate CD_CONDPAGTO: carrega DS_CONDPAGTO e recalcula DT_VENCTO somando NR_DIAS da primeira parcela.
  • OnValidate VL_DESCONTO / PC_DESCONTO: recalculam o outro campo e o total da diferenca.
  • BeforePost:
    • Exige DT_TROCA, CD_PESSOA e CD_CONDPAGTO.
    • Se NR_TROCA vazio, chama GERA_SEQUENCIA('SEQ_TROCA') por empresa.
  • OnCalcFields: T_VL_TROCA := T_VL_TOTAL_SAIDA - T_VL_TOTAL_ENTRADA - VL_DESCONTO.

Itens tabITEMTROCA / tabITEMSAIDA​

  • BeforeInsert: cancela item anterior se aberto e prepara novo.
  • AfterInsert: seta CD_EMPRESA, NR_TROCA, TP_TROCA ('E' ou 'S').
  • OnValidate CD_ITEM:
    • Le ITEM (descricao, unidades, ativo, grade, condicao fiscal, tipo de calculo via HABILITA_PESOQTDE).
    • Bloqueia se inativo (W-0000 ... [TPO001]).
    • Se PARMFATUR.ST_VALIDAITEMEMPRESA = '1' e TP_ITEM &lt;&gt; 'S', verifica ITEMEMPRESA.
    • RETORNA_LOCAISARMAZENAGEM: se > 1 local, abre Lista_TipoLocal (dialog F9 via Busca('TIPOLOCAL', ...)); se exatamente 1, auto-preenche CD_TIPOLOCAL/CD_LOCAL; se 0, lanca W-0000 citando TPO001/ADM001.
    • Seta CD_MOVIMENTACAO := iCD_MOVENTRADA (ou iCD_MOVSAIDA na saida).
    • Determina CD_TABPRECO via RETORNA_TABPRECO (com tipo de pessoa, regiao, estado, condicao); fallback para PARMFATUR.CD_TABPRECO.
    • Preenche VL_UNITARIO via RETORNA_PRECOITEM.
    • Chama Habilita_PesoQtde para decidir se o usuario informa Peso, Qtde ou ambos (baseado em HABILITA_PESOQTDE.V_TIPO).
    • Se produto tem grade, abre RateioGrade (ou assinala uma linha via leitura de codigo de barras).
  • OnValidate PS_ITEMTROCA / QT_ITEMTROCA:
    • Exige valor > 0.
    • Se ha unidade alternativa, converte entre peso e quantidade via PS_LIQUIDO.
    • Dispara Calcula_Valor (procedure CALCULA_VALOR) para recalcular VL_TOTAL.
  • OnValidate VL_UNITARIO / VL_TOTAL: exige > 0 e chama CALCULA_VALOR em modo 'T' (recalcula total) ou 'U' (recalcula unitario).
  • OnValidate CD_MOVIMENTACAO: verifica ST_ATIVO em MOVIMENTACAO, carrega CD_OPERACAO, CD_TIPOCONTA, CD_HISTORICO; em seguida chama CALCULA_COMISSAO (se vendedor informado).
  • OnValidate CD_LOCAL: valida em ITEMLOCAL com ST_FATURAMENTO = 'S'.
  • BeforePost: exige CD_ITEM, PS_ITEMTROCA ou QT_ITEMTROCA, e VL_TOTAL > 0.
  • OnCalcFields: atualiza T_VL_TOTAL com SUM(VL_TOTAL) do respectivo TP_TROCA.

Leitura por codigo de barras​

edtCD_CODIGOBARRAExit / edtCD_CODIGOBARRASAIExit:

  • Chama VALIDA_CODIGOBARRA para identificar CD_ITEM, unitario, total, NR_LINHA/NR_COLUNA (grade).
  • Se produto ja existe na troca, cancela o novo registro, localiza o existente e incrementa Peso/Qtde/grade.
  • Erro W-0000 ... [TPO001] se codigo nao cadastrado.

Confirmacao da troca (btnSalvarClick)​

  1. Post em tabTROCA, tabITEMTROCA, tabITEMSAIDA.
  2. Validacoes:
    • W-0000 se ambos os grids vazios.
    • W-0000 se entrada vazia.
    • W-0000 se saida vazia.
  3. SAVEPOINT ESTOQUE_TROCA.
  4. Para cada item de entrada (TP_TROCA = 'E'):
    • Com grade: itera ITEMTROCAGRADE e chama GERA_ESTOQUE passando CD_GRADE, NR_LINHA, NR_COLUNA, QT_GRADE e origem 'TC'.
    • Sem grade: GERA_ESTOQUE com peso OU quantidade, origem 'TC', com CD_OPERACAO da movimentação (10 = rateio).
    • Qualquer mensagem retornada faz ROLLBACK TO ESTOQUE_TROCA + JException.
  5. Mesmo tratamento para saida (TP_TROCA = 'S').
  6. Geracao do financeiro (somente quando T_VL_TROCA &lt;&gt; 0):
    • T_VL_TROCA < 0 (sobra do cliente): natureza 'R' (receber), origem entrada.
    • T_VL_TROCA > 0 (falta do cliente): natureza 'P' (pagar), origem saida.
    • Consulta CONDPAGTO.ST_CONDPAGTO + quantidade de parcelas de CONDPARCELA.
    • ST_CONDPAGTO = 'P' (parcelado):
      • Dialog MostraParcelaDuplicata (shared jParcelamento) — cancelar faz rollback.
      • Para cada parcela: GRAVA_CONTAS('D', ...), origem 'TC'.
      • Se a parcela esta vencida/hoje, cria processo: GRAVA_PROCESSO + GRAVA_MOVTOPROCESSO + EXECUTA_PROCESSO e, se iCD_HISTCAIXA vazio abre AbreCaixa, senao GRAVA_MOVTOCAIXA com origem 'AV'.
    • ST_CONDPAGTO = 'D' (vencimento digitado): GRAVA_CONTAS com DT_VENCTO informado no cabecalho.
    • ST_CONDPAGTO = 'V' (a vista): GRAVA_CONTAS com vencto = DT_TROCA + fluxo de processo/caixa identico ao parcelado vencido.
  7. Consulta se ha lancamentos TEF associados ao processo (JOIN PROCESSO -> MOVTOPROCESSO -> MOVTOCAIXA -> TEF). Se houver, chama sessao.TEF.ACBrTEFAPI1.ConfirmarTransacoesPendentes antes do commit — falha aqui lanca W-0000 pedindo para reter o cupom.
  8. Application.ProcessMessages.
  9. transaction.Commit + MessageBox "Troca Efetuada com Sucesso!".
  10. Imprime_Troca(NR_TROCA, 'V') — imprime layout iCD_LAYTROCA (default LTC001) via CarregaLayout.
  11. Volta para btnNovo.Click para novo registro.

Exclusao​

  • btnExcluirClick so exclui item do grid ativo (entrada ou saida), nunca o cabecalho — confirmacao via MessageBox "Deseja Excluir o Produto?" ($00000124 = YESNO + iconQuestion).

Fechamento​

  • FormClose: Rollback da transacao se ainda ativa, dmMNF009.Free, sessao.descarregarPrograma(programa).

Datasets e SQL​

tabTROCA (master)​

SELECT T.CD_EMPRESA, T.NR_TROCA,
T.CD_PESSOA, P.NM_PESSOA,
T.CD_VENDEDOR, V.NM_PESSOA NM_VENDEDOR,
T.DT_TROCA, T.VL_ENTRADA,
T.VL_SAIDA, T.DT_REGISTRO,
CAST(NULL AS INTEGER) CD_CONDFISCAL,
T.DT_TROCA DT_VENCTO,
T.CD_CONDPAGTO, T.VL_DESCONTO,
CAST(NULL AS VARCHAR(60)) DS_CONDPAGTO,
CAST(NULL AS NUMERIC(3,2)) PC_DESCONTO,
T.DS_OBSERVACAO
FROM TROCA T
INNER JOIN PESSOA P ON (P.CD_PESSOA = T.CD_PESSOA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = T.CD_VENDEDOR)
WHERE T.CD_EMPRESA = -1
AND T.NR_TROCA = -1
  • Abre vazio (filtro -1, -1) porque a tela e somente de insercao. updTROCA (TFDUpdateSQL) fornece o INSERT/UPDATE/DELETE real.
  • AfterInsert popula DT_TROCA := Date e CD_EMPRESA.

tabITEMTROCA (detail — entradas)​

SELECT T.CD_EMPRESA, T.NR_TROCA, T.TP_TROCA,
T.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT,
I.PS_LIQUIDO, I.CD_GRUPO, I.CD_CONDFISCAL, I.CD_GRADE,
I.CD_CODIGOBARRA, T.PS_ITEMTROCA, T.QT_ITEMTROCA,
T.VL_UNITARIO, T.VL_TOTAL, T.DT_REGISTRO, I.CD_SUBGRUPO, T.PC_COMISSAO,
CAST(NULL AS INTEGER) CD_TIPOLOCAL,
CAST(NULL AS VARCHAR(60)) DS_TIPOLOCAL,
CAST(NULL AS INTEGER) CD_LOCAL,
CAST(NULL AS VARCHAR(60)) DS_LOCAL,
CAST(NULL AS VARCHAR(1)) TIPO,
CAST(NULL AS INTEGER) CD_MOVIMENTACAO,
CAST(NULL AS INTEGER) CD_OPERACAO,
CAST(NULL AS INTEGER) CD_TIPOCONTA,
CAST(NULL AS INTEGER) CD_HISTORICO,
CAST(NULL AS INTEGER) CD_TABPRECO
FROM ITEMTROCA T
INNER JOIN ITEM I ON (I.CD_ITEM = T.CD_ITEM)
WHERE T.CD_EMPRESA = :CD_EMPRESA
AND T.NR_TROCA = :NR_TROCA
AND T.TP_TROCA = 'E'
  • Recarregado em tabTROCAAfterScroll com CD_EMPRESA da sessao e NR_TROCA do master.
  • updITEMTROCA grava ITEMTROCA com DT_REGISTRO = 'NOW' (CURRENT_TIMESTAMP).

tabITEMSAIDA (detail — saidas)​

Identica a tabITEMTROCA, filtrando TP_TROCA = 'S'. Mesmo target ITEMTROCA — a distincao de entrada/saida e feita apenas pela coluna TP_TROCA.

Consultas auxiliares relevantes​

  • CALCULA_VALOR(CD_ITEM, PS, QT, VL, 'T' | 'U') — recalcula total ou unitario.
  • HABILITA_PESOQTDE(CD_ITEM).V_TIPO — retorna 'P' (peso), 'Q' (quantidade) ou 'T' (ambos) para definir campos ReadOnly.
  • RETORNA_LOCAISARMAZENAGEM(CD_EMPRESA, CD_ITEM, 'S') — locais de armazenagem disponiveis ao usuario.
  • RETORNA_TABPRECO(CD_EMPRESA, CD_CONDPAGTO, CD_TIPOPESSOA, CD_VENDEDOR, CD_REGIAOCOM, SG_ESTADO, CD_PESSOA, CD_ITEM, QT_ITEM).
  • RETORNA_PRECOITEM(CD_EMPRESA, CD_TABPRECO, CD_ITEM, DT_TROCA, CD_CONDPAGTO, DT_VENCTO).
  • VALIDA_CODIGOBARRA(CD_EMPRESA, CD_CODIGOBARRA, NULL).
  • CALCULA_COMISSAO(CD_EMPRESA, CD_VENDEDOR, CD_PESSOA, CD_ITEM, CD_MOVIMENTACAO, NULL, NULL, DT_TROCA, VL_TOTAL, 0, VL_UNITARIO).
  • GERA_SEQUENCIA(CD_EMPRESA, 'SEQ_TROCA').
  • GERA_ESTOQUE(..., 'TC', NR_TROCA, QT, 10, ...) — origem 'TC' (Troca), tipo movto 10 (rateio).
  • GRAVA_CONTAS('D', CD_EMPRESA, CD_PESSOA, CD_TIPOCONTA, NULL, NR_PARCELA, CD_FORMAPAGTO, ..., 'TC', NR_TROCA, DT_TROCA, DT_VENCTO, VL_PARCELA, CD_VENDEDOR).
  • GRAVA_PROCESSO(CD_EMPRESA, VL_PROCESSO, DT_PROCESSO, TP_NATUREZA).
  • GRAVA_MOVTOPROCESSO(...) e EXECUTA_PROCESSO(...).
  • GRAVA_MOVTOCAIXA(..., 'AV', 'S') quando PARMFATUR.CD_HISTORICO preenchido; caso contrario AbreCaixa (shared jCaixa).

Tabelas de Escrita (INSERT/UPDATE/DELETE)​

TabelaOperacoes
ITEMTROCADELETE, INSERT, SELECT, UPDATE
ITEMTROCAGRADEDELETE, INSERT, SELECT
PARCELANOTADELETE, INSERT, SELECT, UPDATE
TROCADELETE, INSERT, SELECT, UPDATE

Tabelas de Leitura (SELECT)​

TabelaOperacoes
CONDPAGTOSELECT
CONDPARCELASELECT
ENDERECOPESSOASELECT
FORMAPAGTOSELECT
ITEMSELECT
ITEMEMPRESASELECT
ITEMLOCALSELECT
ITEMTROCAGRADESELECT
LOCALESTOQUESELECT
MOVIMENTACAOSELECT
MOVTOCAIXASELECT
MOVTOPROCESSOSELECT
MUNICIPIOSELECT
PARMFATURSELECT
PESSOASELECT
PROCESSOSELECT
TEFSELECT
TIPOLOCALSELECT
VENDEDORSELECT

Procedures Chamadas​

ProcedureTabelas Acessadas
CALCULA_COMISSAOCOMISSAOVENDEDOR (SELECT), CONDPAGTO (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTAVENDEDOR (SELECT), ITEMPERFIL (SELECT) +8
CALCULA_VALORITEM (SELECT), TIPOCALCULO (SELECT)
EXECUTA_PROCESSOAGENCIA (SELECT), AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), AVISOSCPC (INSERT), BANCO (SELECT), CHEQUE (SELECT) +63
GERA_ESTOQUECOLUNAGRADE (SELECT), DEVOLUCAONOTA (SELECT), ESTOQUE (INSERT/SELECT/UPDATE), ESTOQUEDIA (INSERT/SELECT/UPDATE), ESTOQUEDIAPESSOA (INSERT/SELECT/UPDATE), ESTOQUEGRADE (INSERT/SELECT/UPDATE) +28
GERA_SEQUENCIASEQUENCIA (SELECT/UPDATE)
GRAVA_CONTASAJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), BOLETO (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONDPARCELA (SELECT) +64
GRAVA_MOVTOCAIXAAJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONTAS (SELECT), CONTASCTB (DELETE/INSERT/SELECT) +56
GRAVA_MOVTOPROCESSOCONTAS (SELECT), CONTASHISTORICO (SELECT), HISTORICO (SELECT), MOVTOPROCESSO (INSERT/SELECT), PARMFINANC (SELECT), PROCESSO (SELECT/UPDATE)
GRAVA_PROCESSOPROCESSO (INSERT), SEQUENCIA (SELECT/UPDATE), SESSAO (SELECT)
HABILITA_PESOQTDEITEM (SELECT), TIPOCALCULO (SELECT), UNIDMED (SELECT)
RETORNA_ENDERECOENDERECOPESSOA (SELECT), PESSOA (SELECT)
RETORNA_LOCAISARMAZENAGEMITEMEMPRESA (SELECT), ITEMLOCAL (SELECT), LOCALESTOQUE (SELECT), LOCALUSUARIO (SELECT), PARMFATUR (SELECT), SESSAO (SELECT) +1
RETORNA_MOVIMENTACAOCAMPOSTEMPORARIOS (SELECT), CONDPAGTO (SELECT), ENDERECOPESSOA (SELECT), GRUPOMOVIMENTACAO (SELECT), ITEM (SELECT), ITEMPERFIL (SELECT) +2
RETORNA_PRECOITEMCONDPAGTO (SELECT), ITEM (SELECT), ITEMTABPRECO (SELECT), ITEMTABPRECODATA (SELECT), PARAMRECAP (SELECT), PARMFATUR (SELECT) +6
RETORNA_TABPRECOITEM (SELECT), ITEMPERFIL (SELECT), ITEMTABPRECO (SELECT), PARAMRECAP (SELECT), PARMTABPRECO (SELECT), SESSAO (SELECT) +1
VALIDA_CODIGOBARRABALANCA (SELECT), ITEM (SELECT), ITEMCODIGOBARRA (SELECT), ITEMEMPRESA (SELECT), ITEMGRADE (SELECT), LOTESEMENTE (SELECT) +4

Tabelas via Procedures (acesso indireto)​

TabelaOperacoes
AGENCIASELECT
AJUSTEFISCALITEMNOTADELETE, INSERT, SELECT
ALIQUOTASELECT
AVISOSCPCINSERT
BALANCASELECT
BANCOSELECT
BOLETOSELECT
CAMPOSTEMPORARIOSSELECT
CHEQUESELECT
CODRECEITASELECT
COLUNAGRADESELECT
COMISSAOCONTASINSERT
COMISSAOVENDEDORSELECT
CONDPAGTOSELECT
CONDPARCELASELECT
CONTASINSERT, SELECT, UPDATE
CONTASBLOQFINANCSELECT
CONTASCTBDELETE, INSERT, SELECT
CONTASHISTORICOINSERT, SELECT
CONTASHISTORICOCCSELECT
...+101 tabelas

Dependencias Aferentes (quem alimenta esta tela)​

Telas que escrevem em tabelas lidas por esta tela.

TelaTítuloTabelas em Comum
jCaixaCONTAS
MFC028CONTAS
CFC006Consulta Fatura (Agrupamento de Notas)CONTAS
MFC033Gerenciamento Boleto Rápido JunsoftCONTAS
TRC037CONTAS
JunsoftAPIBoletosCONTAS
MPD094CONTAS
MNF019Gerenciamento de Notas Geral/MestraCONTAS
MFC021CONTAS
MFC003Lançamento de Caixa Avulso / ChequeCONTAS
JunsoftServiceFatAppCONTAS
MNF032Importação de XML TransmitidoCONTAS
CFC008Controle de CobrançaCONTAS
MFC019Reparcelamento de ContasCONTAS
MNF027Cancelamento de Notas FiscaisCONTAS
MRC030CONTAS
MCA007Condenação de LeiteCONTAS
MFC016Fatura ( Agrupamento de Notas Fiscais )CONTAS
MRC021Cancelamento de Ordem de carregamento RecapadoraCONTAS
CFC009Consulta/Cancelamento de ReparcelamentoCONTAS
MNF029CONTAS
TFA067Contratos e Licenças de SoftwareCONTAS
MFC009Alteração de DuplicatasCONTAS
MFC036Liberação de Contas a PagarCONTAS
CPD008CONTAS
MNF005Cancelamento de Notas FiscaisCONTAS
MFC023Duplicata / Adiantamento por ObraCONTAS
CFC012CONTAS
MFC030CONTAS
MFC012Agrupamento de ContasCONTAS
...+74 telas