MOF001 — Abertura / Fechamento de Ordem de Serviço
Fonte
- Source:
source/MOF001/ - Form:
source/MOF001/UMOF001.pas - DataModule:
source/MOF001/UdmMOF001.pas - Form auxiliar (aplicação):
source/MOF001/UAPLICMOF001.pas - Form auxiliar (obs cliente):
source/MOF001/UMOF001OBSCLIENTE.pas - Package:
source/MOF001/MOF001.dpk
Objetivo
Tela transacional principal do módulo Oficina: abre, mantém e fecha Ordens de Serviço (OS), controlando peças (ORDEMSERVITEM), serviços (SERVICOITEM) e consumo de materiais em serviços (SERVICOITEMCONSUMO) com cálculo de preços, comissão, imposto e desconto/benefício. Ao fechar, converte a OS em PEDIDO+ITEMPEDIDO (e opcionalmente TELEVENDAS), reserva/gera estoque via procedures (GERA_ESTOQUE/CANCELA_ESTOQUE), registra rateio de vendedores (ITEMPEDIDOVENDEDOR, ORDEMSERVICOVENDEDOR) e apontamento de horas (ORDEMSERVHORA). Comportamento é inteiramente parametrizado por OFI001 (PARMOFICINA, PARMUSUARIO).
Funcionalidades
- Abertura de Ordem de Serviço
- Inclusão de Serviços (Aba Serviços)
- Inclusão de Peças/Produtos (Aba Peças)
- Itens de Consumo (Aba Consumo)
- Fechamento da Ordem de Serviço (Aba Pedido/Fechamento)
- Reabertura de Ordem de Serviço
- Geração de Nota Fiscal
- Bloqueio/Liberação de Ordem de Serviço
- Gestão de Documentos/Imagens (Aba Anexos)
- Consulta SCPC
Painel "Resumos"
GroupBox grpResumo (Caption Resumos) no canto superior direito da tela. Consolida os totais da OS e o controle de Valor Limite. Exceto o Valor Limite, os campos são somente-leitura e alimentados pelo dataset de totais (dmMOF001.dsTOTAL), recalculado a cada alteração de peças/serviços/descontos.
| Campo (label) | Origem | Descrição |
|---|---|---|
| Status da Ordem | DS_STATUS (derivado de ST_ORDEMSERVICO) | Aberta / Fechada / Gerado Pedido / Bloqueada / Cancelada. |
| Valor Limite | ORDEMSERVICO.VL_LIMITE (edtVL_LIMITEORDEM) | Teto de valor autorizado para a OS — ver detalhe abaixo. |
| Total Bruto | VL_TOTORDEM (dsTOTAL) | Soma de serviços + peças antes de descontos. |
| Total de Descontos | dsTOTAL | Descontos de itens + serviços. |
| Líquido Serviços | dsTOTAL | Total líquido da mão-de-obra (serviços). |
| Líquido Peças | VL_LIQUIDOITEM (dsTOTAL) | Total líquido das peças/produtos. |
| Total Líquido | VL_TOTLIQUIDO | Total líquido da OS (bruto − descontos). |
| Líquido + Imposto | VL_TOTORDEMIMPOSTO | Total líquido acrescido de impostos. |
| % Desconto Geral | PC_DESCONTO | Percentual de desconto geral aplicado. |
| Valor Desconto Geral | VL_DESCONTO | Valor do desconto geral. |
Campo "Valor Limite" (VL_LIMITE)
Para que serve: é o valor-teto autorizado para a Ordem de Serviço. Funciona como um limite de valor definido manualmente na OS (ex.: valor aprovado pelo cliente/autorizador). O sistema compara o total da OS (ORDEMSERVICO.VL_ORDEMSERVICO, total líquido = bruto − descontos) contra esse teto e avisa quando o total ultrapassa o limite. É um controle de alçada/autorização de valor — não bloqueia a digitação dos itens, apenas emite aviso.
- Tabela/campo:
ORDEMSERVICO.VL_LIMITE(exibido peloTDBEditedtVL_LIMITEORDEM, labelValor Limite, no topo do painel Resumos). - Edição: habilitada somente com a OS Aberta (
ST_ORDEMSERVICO = 'A'). Em qualquer outro status o campo fica somente-leitura (tabORDEMSERVICOCalcFields). - Validações do próprio campo (
tabORDEMSERVICOVL_LIMITEValidate):- Se ficar em branco → mensagem
W-1710(aviso informativo, não bloqueia — significa "sem controle de teto"). - Se o limite informado for menor que o total atual da OS (
VL_LIMITE < VL_ORDEMSERVICO) → exceçãoW-1711(não permite definir um teto abaixo do valor já lançado).
- Se ficar em branco → mensagem
- Aviso "Valor limite Excedido!" (
W-0000): disparado quando o total da OS ultrapassa o limite e o campo está preenchido. Ocorre em dois momentos:- No recálculo dos totais da OS (ao incluir/alterar peças, serviços ou descontos).
- Na gravação/confirmação da OS (validação do BeforePost).
- Limite em branco: nenhum aviso de "excedido" é emitido — o controle de teto fica desativado para aquela OS.
Referências no fonte:
source/MOF001/UMOF001.dfm(grpResumo/edtVL_LIMITEORDEM) esource/MOF001/UdmMOF001.pas(tabORDEMSERVICOVL_LIMITEValidate,tabORDEMSERVICOCalcFieldse os dois pontos que disparam "Valor limite Excedido!").
Mensagens exibidas
Levantadas de source/MOF001/ pela camada 0 (commit 96fc51e236).
| Código | Tipo | Mensagem |
|---|---|---|
| C-1349 | Confirmação | Deseja Imprimir o Pedido? |
| C-1679 | Confirmação | Deseja Reprocessar os Preços dos Serviços/Produtos? |
| C-1698 | Confirmação | Deseja imprimir a Ordem de Serviço? |
| C-1699 | Confirmação | Deseja imprimir a autorização de execução do serviço? |
| C-1702 | Confirmação | Deseja Fechar todos os Serviços da Ordem? |
| C-1703 | Confirmação | Deseja Reabrir a Ordem de Serviço? |
| C-1706 | Confirmação | Deseja Liberar a Ordem de Serviço? |
| C-1707 | Confirmação | Deseja Bloquear a Ordem de Serviço? |
| C-1708 | Confirmação | A Peça %s não possui saldo em estoque suficiente para venda. Saldo em Estoque.: %s Deseja Continuar? |
| C-1709 | Confirmação | Deseja substituir o Km informado pelo Km atual do veículo? |
| C-1712 | Confirmação | Deseja reprocessar as movimentações dos serviços/peças/produtos? |
| E-1713 | Erro | Beneficio do Cliente não Gerado! |
| I-0047 | Informação | Alterações Efetuadas com Sucesso. |
| I-1705 | Informação | Arquivo Exportado Com Sucesso %s |
| W-0153 | Aviso | A Forma de Pagamento %s não está Liberada para a Pessoa %s . Verifique! [TFA001] |
| W-0202 | Aviso | Operação Cancelada! |
| W-1700 | Aviso | A Ordem de Serviço está Bloqueada, devido a isso não será possivel realizar alterações. Verifique[MOF007]! |
| W-1701 | Aviso | O Cartão ID: %s - %s foi cancelado! [MFA022] |
| W-1704 | Aviso | Não é possível realizar o desconto geral pois não existem itens lançados na ordem de serviço. Verifique[MOF001] |
| W-1710 | Aviso | Valor limite removido. |
| W-1711 | Aviso | Valor informado menor que o valor da Ordem. Verifique! |
| W-1800 | Aviso | Ordem de serviço deve ser iniciada a partir de um Orçamento. [MOF005] |
Mais 287 mensagens com texto literal no código: MOF001.
Parâmetros lidos
Campos PARM* lidos via values[] em source/MOF001/ (commit 96fc51e236).
Tabelas de Escrita (INSERT/UPDATE/DELETE)
| Tabela | Operacoes |
|---|---|
| ORDEMSERVICO | DELETE, INSERT, SELECT, UPDATE |
| ORDEMSERVITEM | DELETE, INSERT, SELECT, UPDATE |
| ORDEMSERVICOVENDEDOR | DELETE, INSERT, SELECT |
| ORDEMSERVICODOC | DELETE, INSERT, SELECT, UPDATE |
| ORDEMSERVHORA | DELETE, INSERT, SELECT, UPDATE |
| SERVICOITEM | DELETE, INSERT, SELECT, UPDATE |
| SERVICOITEMCONSUMO | DELETE, INSERT, SELECT, UPDATE |
| PEDIDO | INSERT, SELECT, UPDATE |
| ITEMPEDIDO | INSERT, SELECT, UPDATE |
| ITEMPEDIDOVENDEDOR | INSERT |
| VEICULO | SELECT, UPDATE |
| PESSOA | SELECT, UPDATE |
| TELEVENDAS | INSERT |
| ORCAMENTOPECA | UPDATE |
Tabelas de Leitura (SELECT)
| Tabela | Operacoes |
|---|---|
| ACESSO | SELECT |
| AUTORIZADOR | SELECT |
| BENEFICIOCLIENTE | SELECT |
| CONDPAGTO | SELECT |
| CONDPARCELA | SELECT |
| CONTAS | SELECT |
| CORVEICULO | SELECT |
| EMPRESA | SELECT |
| ENDERECOPESSOA | SELECT |
| EQUIPEOFICINA | SELECT |
| FORMAPAGTO | SELECT |
| GRUPOMOVIMENTACAO | SELECT |
| ITEM | SELECT |
| ITEMEMPRESA | SELECT |
| ITEMLOCAL | SELECT |
| ITEMNOTA | SELECT |
| ITEMREQUISICAOOFICINA | SELECT |
| ITEMTABCOMPRA | SELECT |
| ITEMTABPRECO | SELECT |
| ITEMTABPRECODATA | SELECT |
| JUNCAOVEICULO | SELECT |
| LOCALESTOQUE | SELECT |
| MAQUINA | SELECT |
| MARCAVEICULO | SELECT |
| MECANICO | SELECT |
| MODELOPLATAFORMA | SELECT |
| MODELOVEICULO | SELECT |
| MOVESTOQUE | SELECT |
| MOVIMENTACAO | SELECT |
| MUNICIPIO | SELECT |
| NOTA | SELECT |
| ORIGEMCLIENTE | SELECT |
| ORIGEMDOCUMENTO | SELECT |
| PARCELAPEDIDO | SELECT |
| PARMESTOQUE | SELECT |
| PARMFATUR | SELECT |
| PARMNOTA | SELECT |
| PARMOFICINA | SELECT |
| PARMUSUARIO | SELECT |
| PEDIDONOTA | SELECT |
| PESSOACONDPAGTO | SELECT |
| PESSOAFISICA | SELECT |
| PESSOAFORMAPAGTO | SELECT |
| PESSOAVENDEDOR | SELECT |
| PLATAFORMAVEICULO | SELECT |
| PRODUCAO | SELECT |
| REQUISICAOOFICINA | SELECT |
| SERVICOPLATAFORMA | SELECT |
| TABPRECO | SELECT |
| TIPOBENEFICIO | SELECT |
| TIPOCALCULO | SELECT |
| TIPOLOCAL | SELECT |
| TIPOPEDIDOPNEU | SELECT |
| TIPOVENDEDOR | SELECT |
| USUARIO | SELECT |
| VENDEDOR | SELECT |
Procedures Chamadas
| Procedure | Função |
|---|---|
| ATUALIZA_BENEFICIOCLIENTE | Atualiza saldo/uso de benefício do cliente |
| CALCULA_COMISSAO / CALCULA_COMISSAO_V2 | Calcula comissão do vendedor/mecânico |
| CALCULA_IMPOSTOPEDIDO | Recalcula impostos do pedido gerado |
| CALCULA_VALOR | Recalcula totais do item |
| CANCELA_ESTOQUE / GERA_ESTOQUE | Reserva/estorno de estoque da OS |
| CANCELA_PEDIDOOS | Cancela pedido vinculado ao cancelar OS |
| GERA_SEQUENCIA | Obtém próximo NR_ORDEMSERVICO/NR_PEDIDO |
| HABILITA_PESOQTDE / VERIFICA_PESOQTDE | Controla peso/quantidade de item |
| PARCELA_FINANCIAMENTO | Gera parcelas do pedido |
| RETORNA_CHAVENOTA | Chave fiscal da nota vinculada |
| RETORNA_ESTOQUECOMPROMETIDO / RETORNA_SALDOESTOQUE | Consulta saldos para validar reserva |
| RETORNA_IMPOSTOMOF001 | Impostos específicos de MOF001 |
| RETORNA_ITEMMP | Itens de matéria-prima |
| RETORNA_LOCAISARMAZENAGEM | Locais candidatos para saída |
| RETORNA_MOVIMENTACAO | Movimentação fiscal aplicável |
| RETORNA_PRECOITEM / RETORNA_TABPRECO | Preço e tabela do item |
| RETORNA_VALORORDEMSERVICO | Totaliza valor da OS |
| VALIDA_UNIDADEFECHADA | Trava por unidade fechada (competência) |
| VERIFICA_BLOQUEIO | Bloqueio de cliente (SCPC/financeiro) |
| VIEW_DESCONTOBENEFICIO | View de desconto por benefício |
Tabelas via Procedures (acesso indireto)
| Tabela | Operacoes |
|---|---|
| BENEFICIOCLIENTE | SELECT, UPDATE |
| COMISSAOVENDEDOR | SELECT |
| CONTAS | SELECT |
| ESTOQUE | INSERT, SELECT, UPDATE |
| ESTOQUEDIA | INSERT, SELECT, UPDATE |
| ESTOQUEDIAPESSOA | INSERT, SELECT, UPDATE |
| ESTOQUEGRADE | INSERT, SELECT, UPDATE |
| IMPOSTO / IMPOSTOITEM / IMPOSTOMOV | SELECT |
| ITEMTABPRECO | INSERT, SELECT, UPDATE |
| LOGBENEFICIOCLIENTE | INSERT, SELECT |
| LOTESEMENTE | SELECT, UPDATE |
| MOVESTOQUE | INSERT, SELECT, UPDATE |
| MOVTOCONTABIL | DELETE, INSERT, SELECT, UPDATE |
| MOVTOCONTABILCC | INSERT |
| MOVTOEQUIPAMENTO | SELECT, UPDATE |
| ORDEMSERVICO / ORDEMSERVITEM | SELECT, UPDATE |
| PEDIDO / PEDIDOPNEU | SELECT, UPDATE |
| SEQUENCIA | SELECT, UPDATE |
| VOLUMEPRODUCAO | SELECT, UPDATE |
+80 tabelas acessadas via procedures (PARM*, CONDPAGTO, CREDITO*, DEVOLUCAONOTA, HISTORICO, JURO, MANUTENCAOORDEMLEIRA, METAVENDEDOR, NCM, OPERACAO, ORCAMENTOPECA, PARCELA*, PARTICIPANTELIMITECREDITO, TIPO*, UNIDMED, etc.).
Dependencias Aferentes (quem alimenta esta tela)
Telas que escrevem em tabelas lidas por MOF001 (640 no total). Top por volume de tabelas compartilhadas:
| Tela | Título | Tabelas em Comum |
|---|---|---|
| MNF001 | Recebimento de Notas Fiscais de Compra | PESSOA, MOVESTOQUE, PEDIDO, ITEM, ITEMPEDIDO +8 |
| MNF011 | Alteração de Comissões | PESSOA, MOVIMENTACAO, PEDIDO, ITEM, ITEMPEDIDO +6 |
| CNF001 | Consulta de Notas Fiscais | PESSOA, MOVIMENTACAO, MOVESTOQUE, ITEM, CONDPAGTO +4 |
| CNF012 | Consulta de CTRC | PESSOA, MOVIMENTACAO, MOVESTOQUE, ITEM, CONDPAGTO +4 |
| MOF006 | Fechamento Ordem de Serviço - Oficina | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA, SERVICOITEMCONSUMO +4 |
| TFA006 | Tabelas de Preço | PESSOA, FORMAPAGTO, ITEM, CONDPAGTO, PARMFATUR +4 |
| MNF030 | Cancelamento/Complemento de NF | PESSOA, PEDIDO, ITEM, NOTA, PEDIDONOTA +3 |
| MOF005 | Orçamento de Peças/Serviços | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO +3 |
| MPD011 | Confirmação Ordem Carregamento | PESSOA, PEDIDO, ITEMPEDIDO, NOTA, CONTAS +3 |
| MPD084 | Emissão de OS (variante) | ORDEMSERVICO, SERVICOITEM, PESSOA, MOVIMENTACAO, PEDIDO +3 |
| MRC020 | Confirmação de Ordem de Carregamento Recapadora | PESSOA, PEDIDO, ITEMPEDIDO, NOTA, CONTAS +3 |
| RNF004 | Relação de Notas Fiscais | JUNCAOVEICULO, PESSOA, ITEM, CONDPAGTO, USUARIO +3 |
| CPD013 | Consulta Pedidos/OS | ORDEMSERVICO, SERVICOITEM, PESSOA, PEDIDO, ITEM +2 |
| MNF002 | Emissão de Nota Fiscal de Venda | PEDIDO, ITEMPEDIDO, PARCELAPEDIDO, NOTA, PEDIDONOTA +2 |
| MNF024 | Manutenção de NF (variante) | MOVIMENTACAO, PEDIDO, ITEM, ITEMPEDIDO, NOTA +2 |
| MPD005 | Ordem de Serviço (balcão) | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PEDIDO +2 |
| TFA001 | Pessoas Físicas / Jurídicas | PESSOA, PESSOAFORMAPAGTO, VENDEDOR, ENDERECOPESSOA, PESSOAFISICA +2 |
| TOF007 | Cadastro de Peças | MOVESTOQUE, ITEM, ITEMEMPRESA, ITEMTABPRECO, ITEMTABCOMPRA +2 |
| CPD001 | Consulta de Pedidos | PESSOA, MOVIMENTACAO, PEDIDO, ITEM, ITEMPEDIDO +1 |
| CNF017 | Consulta Notas (complementar) | PESSOA, ITEM, NOTA, ITEMTABPRECO, ITEMTABCOMPRA +1 |
| MCB015 | Envio de Email | PESSOA, FORMAPAGTO, CONDPAGTO, VENDEDOR, MUNICIPIO +1 |
| MNF016 | Controle de Entrega | PESSOA, PEDIDO, ITEM, ITEMPEDIDO, ITEMNOTA +1 |
| MNF036 | Transferência por Estoque Mínimo | PEDIDO, ITEMPEDIDO, NOTA, PEDIDONOTA, ITEMNOTA +1 |
| MOF004 | Requisição de Peças de Terceiros | ORDEMSERVITEM, SERVICOITEM, PEDIDO, ITEMPEDIDO, REQUISICAOOFICINA +1 |
| MOF008 | Desbloqueio de Ordens de Serviço - Financeiro | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, SERVICOITEMCONSUMO, PEDIDO +1 |
| MRC018 | Emissão de Remessa Recapagem | PEDIDO, ITEMPEDIDO, NOTA, PEDIDONOTA, ITEMNOTA +1 |
| TPO001 | Produtos | ITEM, PRODUCAO, ITEMEMPRESA, ITEMTABPRECO, ITEMTABCOMPRA +1 |
| OFI001 | Parâmetros de Oficina | PARMOFICINA, PARMUSUARIO |
| CPD002 | Consulta de Orçamentos / OS | PESSOA, MOVIMENTACAO, PEDIDO, ITEM, EMPRESA |
JunsoftIntegracao | Integrador | PESSOA, PEDIDO, ITEM, PARCELAPEDIDO, TABPRECO +1 |
+610 telas com linkage (EMPRESA/USUARIO/ITEM/PESSOA e demais lookups).
Dependencias Eferentes (quem consome dados desta tela)
Telas que leem ORDEMSERVICO/ORDEMSERVITEM/SERVICOITEM/SERVICOITEMCONSUMO/PEDIDO/ITEMPEDIDO etc. (1.154 no total). Top 30 por volume:
| Tela | Título | Tabelas em Comum |
|---|---|---|
| CPD003 | Consulta de Ordens de Serviço | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO +5 |
| MPD005 | Ordem de Serviço (balcão) | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO +4 |
| RPD010 | Demonstrativo de Ordens de Serviço | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +4 |
| MFA022 | Faturamento (variante) | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +3 |
| MOF006 | Fechamento Ordem de Serviço - Oficina | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO +3 |
| MOF008 | Desbloqueio de Ordens de Serviço - Financeiro | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +3 |
ROF003 | Comissão de Mecânico | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA +3 |
ROF004 | Comissão Sobre OS por Vendedor/Mecânico | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA +3 |
ROF010 | Faturamento por Ordem de Serviço | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA +3 |
| RPD007 | Demonstrativo de Pedidos | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +3 |
jBeneficioCliente | Shared unit benefícios | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +3 |
| CPD013 | Consulta Pedidos/OS | ORDEMSERVICO, SERVICOITEM, VEICULO, PESSOA, PEDIDO +2 |
LOF000 | Layout Ordem de Serviço | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +2 |
| MOF004 | Requisição de Peças de Terceiros | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA, PEDIDO +2 |
| MOF007 | Desbloqueio de Ordens de Serviço | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA, SERVICOITEMCONSUMO +2 |
| MPD026 | Controle de Obras | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +2 |
| MPD084 | Emissão de OS (variante) | ORDEMSERVICO, SERVICOITEM, VEICULO, PESSOA, PEDIDO +2 |
ROF009 | Relatório OS (complementar) | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +2 |
| CNF001 | Consulta de Notas Fiscais | ORDEMSERVICO, ORDEMSERVITEM, VEICULO, PESSOA, PEDIDO +1 |
| CPD001 | Consulta de Pedidos | ORDEMSERVICO, ORDEMSERVITEM, PESSOA, PEDIDO, ITEMPEDIDO +1 |
LOS003 | Layout OS | ORDEMSERVICOVENDEDOR, ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA +1 |
LOS012 | Layout OS | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +1 |
LOS029 | Layout OS | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +1 |
LOS037 | Layout OS | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +1 |
LOS038 | Layout OS | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA, PEDIDO +1 |
| MOF002 | Venda de Peças - Ordem de Serviço | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +1 |
| MPD045 | Produção por Ordem de Serviço | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA, PEDIDO +1 |
| MPD097 | Emissão OS (variante) | ORDEMSERVICO, SERVICOITEM, VEICULO, PESSOA, PEDIDO +1 |
| RPD017 | Relação de Ordens de Serviço | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, VEICULO, PESSOA +1 |
LNF107 | Layout NF-e (oficina) | ORDEMSERVICO, ORDEMSERVITEM, SERVICOITEM, PESSOA, PEDIDO |
+1.124 telas consomem dados escritos por MOF001.
Regras de Negocio
- Origem da abertura: MOF001 pode ser chamado independentemente ou via MPD005/MOF005 (orçamento aprovado vira OS). O fluxo checa
programa.paramspara saber se está vinculado a pedido/orçamento pré-existente. - Numeração:
NR_ORDEMSERVICOvem deGERA_SEQUENCIAcom chave'ORDEMSERVICO'+CD_EMPRESA. - Status da OS (
ST_ORDEMSERVICOemORDEMSERVICO):A=Aberta,B=Bloqueada financeiramente,F=Fechada,C=Cancelada. Fechamento disparaGERA_ESTOQUEe criaPEDIDOcorrespondente. - Parametrização por OFI001 (PARMOFICINA): controla obrigatoriedade de placa, marca/modelo, vendedor, mecânico, KM; tipo de cálculo de preço de serviço (
TP_PRECOSERVICO); habilita rateio de vendedores e comissão de mecânico; bloqueia desconto em itens; exige motivo de liberação. - PARMUSUARIO.TP_ABASMOF001 controla quais abas (peças/serviços/consumos/horas/docs) cada usuário visualiza.
- Consumo em serviço (
SERVICOITEMCONSUMO): cadaSERVICOITEMpode ter consumo de peças que reduz estoque ao fechar — não gera linha de cobrança adicional no pedido (é custo interno). - Rateio de vendedores (
ORDEMSERVICOVENDEDOR/ITEMPEDIDOVENDEDOR): sePARMOFICINA.ST_MODULOVARIOSVENDEDORES='S', cada item pode ter múltiplos vendedores com % viajVendedor/jRateioVendedor. - Benefício do cliente (
BENEFICIOCLIENTE/TIPOBENEFICIO): aplicação de desconto/crédito viajBeneficioCliente; chamaATUALIZA_BENEFICIOCLIENTEeVIEW_DESCONTOBENEFICIO. - Bloqueio financeiro / SCPC (
jSCPC+VERIFICA_BLOQUEIO): cliente com pendências bloqueia fechamento;MOF008pode liberar. - Horas trabalhadas (
ORDEMSERVHORA): apontamento de hora por mecânico usado emROF003/ROF004para comissão. - Documentos anexos (
ORDEMSERVICODOC): imagens/arquivos vinculados à OS. - Cancelamento: ao setar
ST_ORDEMSERVICO='C'chamaCANCELA_PEDIDOOS+CANCELA_ESTOQUEpara reverter reservas. - Validação de unidade fechada (
VALIDA_UNIDADEFECHADA): impede alteração em competência já encerrada. programa.tpAcesso = 2ocultabtnNovo/btnSalvar/btnExcluir(uso somente consulta).- Valor Limite (
VL_LIMITE): teto de valor autorizado da OS, editável só com a OS Aberta. Avisa "Valor limite Excedido!" quando o total da OS supera o teto; recusa teto menor que o total já lançado (W-1711). Detalhe em Painel "Resumos". (Sem efeito se ficar em branco.)
Datasets e SQL
| Dataset | Tabela | Descrição |
|---|---|---|
tabORDEMSERVICO | ORDEMSERVICO | Master da OS (veículo, pessoa, status, totais). |
tabORDEMSERVITEM | ORDEMSERVITEM | Peças vinculadas à OS. |
tabSERVICOITEM | SERVICOITEM | Serviços executados (mão-de-obra). |
tabSERVICOITEMCONSUMO | SERVICOITEMCONSUMO | Consumo de peças pelo serviço. |
tabORDEMSERVHORA | ORDEMSERVHORA | Apontamento de horas por mecânico. |
tabORDEMSERVICODOC | ORDEMSERVICODOC | Documentos/anexos da OS. |
tabORDEMSERVICOVENDEDOR | ORDEMSERVICOVENDEDOR | Rateio de vendedores por OS. |
tabPEDIDO / tabITEMPEDIDO | PEDIDO / ITEMPEDIDO | Pedido gerado no fechamento. |
tabVEICULO | VEICULO (JOIN MARCAVEICULO/MODELOVEICULO/CORVEICULO/PLATAFORMAVEICULO) | Veículo da OS — pode criar/atualizar no BeforePost. |
tabPESSOA | PESSOA (JOIN PESSOAFISICA/ENDERECOPESSOA/MUNICIPIO) | Cliente da OS; suporta pequenas edições. |
Forms auxiliares
frmAPLICMOF001(UAPLICMOF001) — diálogo de aplicação de benefício/desconto sobre item.frmUMOF001OBSCLIENTE(UMOF001OBSCLIENTE) — edição de observação específica do cliente na OS.