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_ESTOQUEcom 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_PROCESSOe opcionalmenteGRAVA_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.RateioGradepara produtos comCD_GRADE, gravando emITEMTROCAGRADE. - 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_TROCAem caso de erro. - Geracao de parcelas via dialog
MostraParcelaDuplicata(sharedjParcelamento) quando condicao de pagamento for parcelada. - Abertura automatica do caixa (
AbreCaixa) quando condicao for a vista ePARMFATUR.CD_HISTORICOnao 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(layoutLTC001padrao).
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)
| Botao | Atalho | Hint | Acao |
|---|---|---|---|
| Novo Registro | F5 | Novo Registro <F5> | Inicia nova troca (btnNovoClick) |
| Salvar Alteracoes | F6 | Salvar Alteracoes <F6> | Confirma a troca (btnSalvarClick) |
| Excluir Registro | F7 | Excluir Registro <F7> | Remove produto do grid ativo (btnExcluirClick) |
| Cancelar Registro | F4 | Cancelar Registro <F4> | Cancela edicao em andamento (btnLimparClick) |
| Consultar | F3 | Consultar <F3> | (oculto — Visible := False no iniciar) |
| Atualizar Registros | F2 | Atualizar Registros <F2> | (oculto — Visible := False no iniciar) |
| Imprimir | F8 | Imprimir <F8> | (oculto — Visible := False no iniciar) |
| Sair | F12 | Sair <F12> | Fecha o form (btnSairClick) |
Grupo "Troca de Produtos" (cabecalho)
| Label | DataField | Tipo | Origem | Observacao |
|---|---|---|---|---|
| Data | DT_TROCA | TwwDBDateTimePicker | TROCA.DT_TROCA | Default = Date; foco inicial do form |
| Cliente | CD_PESSOA + NM_PESSOA | TDBEdit | TROCA.CD_PESSOA / PESSOA.NM_PESSOA | F9 pesquisa PESSOA (ST_ATIVA = 'S') |
| Vendedor | CD_VENDEDOR + NM_VENDEDOR | TDBEdit | TROCA.CD_VENDEDOR / PESSOA.NM_PESSOA | F9 pesquisa VENDEDOR |
| Condicao de Pagamento | CD_CONDPAGTO + DS_CONDPAGTO | TDBEdit | TROCA.CD_CONDPAGTO / CONDPAGTO.DS_CONDPAGTO | F9 pesquisa CONDPAGTO |
| Vencimento | DT_VENCTO | TwwDBDateTimePicker | calculado | ReadOnly — calculado a partir de Data + NR_DIAS da CONDPARCELA |
| Observacao | DS_OBSERVACAO | TDBEdit | TROCA.DS_OBSERVACAO | Texto livre ate 240 caracteres |
Grupo "Produtos Devolvidos (Entrada)"
Dataset: dsITEMTROCA (TP_TROCA = 'E').
Campos acima do grid (identificacao do produto corrente):
| Label | DataField | Observacao |
|---|---|---|
| Código de Barras | CD_CODIGOBARRA | Visivel apenas se PARMFATUR.ST_CODIGOBARRA in ('S','A') |
| SubGrupo | CD_SUBGRUPO | ReadOnly, preenchido via CD_ITEM |
| Movimentação | CD_MOVIMENTACAO | ReadOnly, vem de PARMFATUR.CD_TROCAENT |
| Tab. Preco | CD_TABPRECO | ReadOnly, 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:
| Label | DataField | Observacao |
|---|---|---|
| Tipo do Local | DS_TIPOLOCAL | ReadOnly, preenchido via RETORNA_LOCAISARMAZENAGEM ou Lista_TipoLocal |
| Local | DS_LOCAL | ReadOnly |
| UND | SG_UNIDMED | ReadOnly, vem de ITEM.SG_UNIDMED |
| Total | T_VL_TOTAL | Calculado (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)
| Label | DataField | Dataset | Observacao |
|---|---|---|---|
| Total Devolvido | T_VL_TOTAL | dsITEMTROCA | Soma das linhas de entrada |
| Total p/ Troca | T_VL_TOTAL | dsITEMSAIDA | Soma das linhas de saida |
| Diferenca | T_VL_TROCA | dsTROCA | Total Saida - Total Entrada - VL_DESCONTO (campo calculado) |
| Vl Desconto | VL_DESCONTO | dsTROCA | Editavel |
| % Desconto | PC_DESCONTO | dsTROCA | Editavel, recalcula VL_DESCONTO |
| Confirmar Troca <F6> | — | — | btnOK (BitBtn) dispara btnSalvar.Click |
Parametros que Influenciam
Parametros lidos de PARMFATUR em Busca_Parametros (executada no iniciar):
| Tabela | Campo | Efeito |
|---|---|---|
| PARMFATUR | CD_TROCAENT | Có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]!" |
| PARMFATUR | CD_TROCASAI | Código de MOVIMENTACAO padrao aplicado aos itens de saida (iCD_MOVSAIDA) |
| PARMFATUR | ST_CODIGOBARRA | Quando 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 |
| PARMFATUR | ST_CODBARRASAPENAS | Em conjunto com ST_CODIGOBARRA, controla CdItemRO — se ST_CODIGOBARRA <> 'P' e ST_CODBARRASAPENAS = 'S', o campo CD_ITEM fica ReadOnly (entrada somente por barras) |
| PARMFATUR | CD_TABPRECO | Tabela de preco padrao quando RETORNA_TABPRECO nao encontra uma especifica |
| PARMFATUR | CD_FORMAPAGTO | Forma de pagamento default (iCD_FORMAPAGTO) usada na geracao de parcelas / GRAVA_CONTAS |
| PARMFATUR | CD_HISTORICO | Historico de caixa (iCD_HISTCAIXA). Se vazio, a rotina a vista chama AbreCaixa (dialog interativo); se preenchido, grava direto via GRAVA_MOVTOCAIXA |
| PARMFATUR | CD_LAYTROCA | Layout de impressão do comprovante (iCD_LAYTROCA). Se vazio, usa 'LTC001' por default |
| PARMFATUR | ST_VALIDAITEMEMPRESA | Quando '1' e o item nao e serviço (ITEM.TP_ITEM <> 'S'), exige registro em ITEMEMPRESA — caso contrario levanta W-0000 "Produto nao Associado a esta Empresa [TOF007]!" |
Regras de Negocio
Inicializacao (iniciar)
- Cria DataModule e Form; compartilha conexao via
SharedCliHandle. programa.tpAcesso = 2(somente consulta) ocultabtnNovo,btnSalvar,btnExcluir,Separador1.- Oculta
btnProcurar,btnImprimir,btnAtualizar,Separador2(tela nao tem consulta/atualizacao). - Inicia
transaction.StartTransaction. Busca_ParametroslePARMFATUR— se nao encontrar linha para a empresa, desabilita botoes e lancaW-0000.- Carrega
PARMFATUR.ST_CODIGOBARRAeST_CODBARRASAPENASpara definirCdItemRO(ReadOnly doCD_ITEM). BuscaParametros(..., 'PARMFATUR', ...)populaParmFatur: TStringscom todos os campos para acesso viaValues['ST_VALIDAITEMEMPRESA'].- 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: carregaNM_PESSOAeCD_CONDFISCAL(viaRETORNA_ENDERECO). Bloqueia seST_ATIVA = 'N'ou pessoa inexistente.OnValidate CD_VENDEDOR: carregaNM_VENDEDORe verifica ativacao.OnValidate CD_CONDPAGTO: carregaDS_CONDPAGTOe recalculaDT_VENCTOsomandoNR_DIASda primeira parcela.OnValidate VL_DESCONTO/PC_DESCONTO: recalculam o outro campo e o total da diferenca.BeforePost:- Exige
DT_TROCA,CD_PESSOAeCD_CONDPAGTO. - Se
NR_TROCAvazio, chamaGERA_SEQUENCIA('SEQ_TROCA')por empresa.
- Exige
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: setaCD_EMPRESA,NR_TROCA,TP_TROCA('E'ou'S').OnValidate CD_ITEM:- Le
ITEM(descricao, unidades, ativo, grade, condicao fiscal, tipo de calculo viaHABILITA_PESOQTDE). - Bloqueia se inativo (
W-0000 ... [TPO001]). - Se
PARMFATUR.ST_VALIDAITEMEMPRESA = '1'eTP_ITEM <> 'S', verificaITEMEMPRESA. RETORNA_LOCAISARMAZENAGEM: se > 1 local, abreLista_TipoLocal(dialog F9 viaBusca('TIPOLOCAL', ...)); se exatamente 1, auto-preencheCD_TIPOLOCAL/CD_LOCAL; se 0, lancaW-0000citando TPO001/ADM001.- Seta
CD_MOVIMENTACAO := iCD_MOVENTRADA(ouiCD_MOVSAIDAna saida). - Determina
CD_TABPRECOviaRETORNA_TABPRECO(com tipo de pessoa, regiao, estado, condicao); fallback paraPARMFATUR.CD_TABPRECO. - Preenche
VL_UNITARIOviaRETORNA_PRECOITEM. - Chama
Habilita_PesoQtdepara decidir se o usuario informa Peso, Qtde ou ambos (baseado emHABILITA_PESOQTDE.V_TIPO). - Se produto tem grade, abre
RateioGrade(ou assinala uma linha via leitura de codigo de barras).
- Le
OnValidate PS_ITEMTROCA/QT_ITEMTROCA:- Exige valor > 0.
- Se ha unidade alternativa, converte entre peso e quantidade via
PS_LIQUIDO. - Dispara
Calcula_Valor(procedureCALCULA_VALOR) para recalcularVL_TOTAL.
OnValidate VL_UNITARIO/VL_TOTAL: exige > 0 e chamaCALCULA_VALORem modo'T'(recalcula total) ou'U'(recalcula unitario).OnValidate CD_MOVIMENTACAO: verificaST_ATIVOemMOVIMENTACAO, carregaCD_OPERACAO,CD_TIPOCONTA,CD_HISTORICO; em seguida chamaCALCULA_COMISSAO(se vendedor informado).OnValidate CD_LOCAL: valida emITEMLOCALcomST_FATURAMENTO = 'S'.BeforePost: exigeCD_ITEM,PS_ITEMTROCAouQT_ITEMTROCA, eVL_TOTAL > 0.OnCalcFields: atualizaT_VL_TOTALcomSUM(VL_TOTAL)do respectivoTP_TROCA.
Leitura por codigo de barras
edtCD_CODIGOBARRAExit / edtCD_CODIGOBARRASAIExit:
- Chama
VALIDA_CODIGOBARRApara identificarCD_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)
- Post em
tabTROCA,tabITEMTROCA,tabITEMSAIDA. - Validacoes:
W-0000se ambos os grids vazios.W-0000se entrada vazia.W-0000se saida vazia.
SAVEPOINT ESTOQUE_TROCA.- Para cada item de entrada (
TP_TROCA = 'E'):- Com grade: itera
ITEMTROCAGRADEe chamaGERA_ESTOQUEpassandoCD_GRADE,NR_LINHA,NR_COLUNA,QT_GRADEe origem'TC'. - Sem grade:
GERA_ESTOQUEcom peso OU quantidade, origem'TC', comCD_OPERACAOda movimentação (10 = rateio). - Qualquer mensagem retornada faz
ROLLBACK TO ESTOQUE_TROCA+JException.
- Com grade: itera
- Mesmo tratamento para saida (
TP_TROCA = 'S'). - Geracao do financeiro (somente quando
T_VL_TROCA <> 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 deCONDPARCELA. ST_CONDPAGTO = 'P'(parcelado):- Dialog
MostraParcelaDuplicata(sharedjParcelamento) — cancelar faz rollback. - Para cada parcela:
GRAVA_CONTAS('D', ...), origem'TC'. - Se a parcela esta vencida/hoje, cria processo:
GRAVA_PROCESSO+GRAVA_MOVTOPROCESSO+EXECUTA_PROCESSOe, seiCD_HISTCAIXAvazio abreAbreCaixa, senaoGRAVA_MOVTOCAIXAcom origem'AV'.
- Dialog
ST_CONDPAGTO = 'D'(vencimento digitado):GRAVA_CONTAScomDT_VENCTOinformado no cabecalho.ST_CONDPAGTO = 'V'(a vista):GRAVA_CONTAScom vencto =DT_TROCA+ fluxo de processo/caixa identico ao parcelado vencido.
- Consulta se ha lancamentos TEF associados ao processo (JOIN
PROCESSO -> MOVTOPROCESSO -> MOVTOCAIXA -> TEF). Se houver, chamasessao.TEF.ACBrTEFAPI1.ConfirmarTransacoesPendentesantes do commit — falha aqui lancaW-0000pedindo para reter o cupom. Application.ProcessMessages.transaction.Commit+MessageBox"Troca Efetuada com Sucesso!".Imprime_Troca(NR_TROCA, 'V')— imprime layoutiCD_LAYTROCA(defaultLTC001) viaCarregaLayout.- Volta para
btnNovo.Clickpara novo registro.
Exclusao
btnExcluirClickso exclui item do grid ativo (entrada ou saida), nunca o cabecalho — confirmacao viaMessageBox"Deseja Excluir o Produto?" ($00000124 = YESNO + iconQuestion).
Fechamento
FormClose:Rollbackda 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. AfterInsertpopulaDT_TROCA := DateeCD_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
tabTROCAAfterScrollcomCD_EMPRESAda sessao eNR_TROCAdo master. updITEMTROCAgravaITEMTROCAcomDT_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 movto10(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(...)eEXECUTA_PROCESSO(...).GRAVA_MOVTOCAIXA(..., 'AV', 'S')quandoPARMFATUR.CD_HISTORICOpreenchido; caso contrarioAbreCaixa(sharedjCaixa).
Tabelas de Escrita (INSERT/UPDATE/DELETE)
| Tabela | Operacoes |
|---|---|
| ITEMTROCA | DELETE, INSERT, SELECT, UPDATE |
| ITEMTROCAGRADE | DELETE, INSERT, SELECT |
| PARCELANOTA | DELETE, INSERT, SELECT, UPDATE |
| TROCA | DELETE, INSERT, SELECT, UPDATE |
Tabelas de Leitura (SELECT)
| Tabela | Operacoes |
|---|---|
| CONDPAGTO | SELECT |
| CONDPARCELA | SELECT |
| ENDERECOPESSOA | SELECT |
| FORMAPAGTO | SELECT |
| ITEM | SELECT |
| ITEMEMPRESA | SELECT |
| ITEMLOCAL | SELECT |
| ITEMTROCAGRADE | SELECT |
| LOCALESTOQUE | SELECT |
| MOVIMENTACAO | SELECT |
| MOVTOCAIXA | SELECT |
| MOVTOPROCESSO | SELECT |
| MUNICIPIO | SELECT |
| PARMFATUR | SELECT |
| PESSOA | SELECT |
| PROCESSO | SELECT |
| TEF | SELECT |
| TIPOLOCAL | SELECT |
| VENDEDOR | SELECT |
Procedures Chamadas
| Procedure | Tabelas Acessadas |
|---|---|
| CALCULA_COMISSAO | COMISSAOVENDEDOR (SELECT), CONDPAGTO (SELECT), ITEM (SELECT), ITEMNOTA (SELECT), ITEMNOTAVENDEDOR (SELECT), ITEMPERFIL (SELECT) +8 |
| CALCULA_VALOR | ITEM (SELECT), TIPOCALCULO (SELECT) |
| EXECUTA_PROCESSO | AGENCIA (SELECT), AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), AVISOSCPC (INSERT), BANCO (SELECT), CHEQUE (SELECT) +63 |
| GERA_ESTOQUE | COLUNAGRADE (SELECT), DEVOLUCAONOTA (SELECT), ESTOQUE (INSERT/SELECT/UPDATE), ESTOQUEDIA (INSERT/SELECT/UPDATE), ESTOQUEDIAPESSOA (INSERT/SELECT/UPDATE), ESTOQUEGRADE (INSERT/SELECT/UPDATE) +28 |
| GERA_SEQUENCIA | SEQUENCIA (SELECT/UPDATE) |
| GRAVA_CONTAS | AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), BOLETO (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONDPARCELA (SELECT) +64 |
| GRAVA_MOVTOCAIXA | AJUSTEFISCALITEMNOTA (DELETE/INSERT/SELECT), ALIQUOTA (SELECT), CODRECEITA (SELECT), CONDPAGTO (SELECT), CONTAS (SELECT), CONTASCTB (DELETE/INSERT/SELECT) +56 |
| GRAVA_MOVTOPROCESSO | CONTAS (SELECT), CONTASHISTORICO (SELECT), HISTORICO (SELECT), MOVTOPROCESSO (INSERT/SELECT), PARMFINANC (SELECT), PROCESSO (SELECT/UPDATE) |
| GRAVA_PROCESSO | PROCESSO (INSERT), SEQUENCIA (SELECT/UPDATE), SESSAO (SELECT) |
| HABILITA_PESOQTDE | ITEM (SELECT), TIPOCALCULO (SELECT), UNIDMED (SELECT) |
| RETORNA_ENDERECO | ENDERECOPESSOA (SELECT), PESSOA (SELECT) |
| RETORNA_LOCAISARMAZENAGEM | ITEMEMPRESA (SELECT), ITEMLOCAL (SELECT), LOCALESTOQUE (SELECT), LOCALUSUARIO (SELECT), PARMFATUR (SELECT), SESSAO (SELECT) +1 |
| RETORNA_MOVIMENTACAO | CAMPOSTEMPORARIOS (SELECT), CONDPAGTO (SELECT), ENDERECOPESSOA (SELECT), GRUPOMOVIMENTACAO (SELECT), ITEM (SELECT), ITEMPERFIL (SELECT) +2 |
| RETORNA_PRECOITEM | CONDPAGTO (SELECT), ITEM (SELECT), ITEMTABPRECO (SELECT), ITEMTABPRECODATA (SELECT), PARAMRECAP (SELECT), PARMFATUR (SELECT) +6 |
| RETORNA_TABPRECO | ITEM (SELECT), ITEMPERFIL (SELECT), ITEMTABPRECO (SELECT), PARAMRECAP (SELECT), PARMTABPRECO (SELECT), SESSAO (SELECT) +1 |
| VALIDA_CODIGOBARRA | BALANCA (SELECT), ITEM (SELECT), ITEMCODIGOBARRA (SELECT), ITEMEMPRESA (SELECT), ITEMGRADE (SELECT), LOTESEMENTE (SELECT) +4 |
Tabelas via Procedures (acesso indireto)
| Tabela | Operacoes |
|---|---|
| AGENCIA | SELECT |
| AJUSTEFISCALITEMNOTA | DELETE, INSERT, SELECT |
| ALIQUOTA | SELECT |
| AVISOSCPC | INSERT |
| BALANCA | SELECT |
| BANCO | SELECT |
| BOLETO | SELECT |
| CAMPOSTEMPORARIOS | SELECT |
| CHEQUE | SELECT |
| CODRECEITA | SELECT |
| COLUNAGRADE | SELECT |
| COMISSAOCONTAS | INSERT |
| COMISSAOVENDEDOR | SELECT |
| CONDPAGTO | SELECT |
| CONDPARCELA | SELECT |
| CONTAS | INSERT, SELECT, UPDATE |
| CONTASBLOQFINANC | SELECT |
| CONTASCTB | DELETE, INSERT, SELECT |
| CONTASHISTORICO | INSERT, SELECT |
| CONTASHISTORICOCC | SELECT |
| ... | +101 tabelas |
Dependencias Aferentes (quem alimenta esta tela)
Telas que escrevem em tabelas lidas por esta tela.
| Tela | Título | Tabelas em Comum |
|---|---|---|
jCaixa | CONTAS | |
| MFC028 | CONTAS | |
| CFC006 | Consulta Fatura (Agrupamento de Notas) | CONTAS |
| MFC033 | Gerenciamento Boleto Rápido Junsoft | CONTAS |
| TRC037 | CONTAS | |
JunsoftAPIBoletos | CONTAS | |
| MPD094 | CONTAS | |
| MNF019 | Gerenciamento de Notas Geral/Mestra | CONTAS |
| MFC021 | CONTAS | |
| MFC003 | Lançamento de Caixa Avulso / Cheque | CONTAS |
JunsoftServiceFatApp | CONTAS | |
| MNF032 | Importação de XML Transmitido | CONTAS |
| CFC008 | Controle de Cobrança | CONTAS |
| MFC019 | Reparcelamento de Contas | CONTAS |
| MNF027 | Cancelamento de Notas Fiscais | CONTAS |
| MRC030 | CONTAS | |
| MCA007 | Condenação de Leite | CONTAS |
| MFC016 | Fatura ( Agrupamento de Notas Fiscais ) | CONTAS |
| MRC021 | Cancelamento de Ordem de carregamento Recapadora | CONTAS |
| CFC009 | Consulta/Cancelamento de Reparcelamento | CONTAS |
| MNF029 | CONTAS | |
| TFA067 | Contratos e Licenças de Software | CONTAS |
| MFC009 | Alteração de Duplicatas | CONTAS |
| MFC036 | Liberação de Contas a Pagar | CONTAS |
| CPD008 | CONTAS | |
| MNF005 | Cancelamento de Notas Fiscais | CONTAS |
| MFC023 | Duplicata / Adiantamento por Obra | CONTAS |
| CFC012 | CONTAS | |
| MFC030 | CONTAS | |
| MFC012 | Agrupamento de Contas | CONTAS |
| ... | +74 telas |