Pular para o conteúdo principal

MOF005 — Orçamento de Peças/Serviços (enriquecimento)

Menu: Ordem de Serviço > Movimentações > Orçamento de Peças/Serviços

Objetivo​

A tela MOF005 permite montar um orçamento de peças e serviços para um cliente (com veículo associado, quando aplicável), calculando preços, tabelas de preço, benefícios de fidelidade e totais antes de qualquer compromisso comercial. Depois de aprovado pelo cliente, o orçamento pode ser convertido diretamente em Ordem de Serviço (MOF001) ou em Pedido de Venda (MPD002), preservando os dados já levantados. A tela também trata o encerramento/cancelamento do orçamento, inclusive com motivo obrigatório quando parametrizado.

Fluxo principal​

  1. Clicar em 'Novo' para iniciar um orçamento; a tela limpa os grids e sugere o Tipo de Pedido padrão e a validade do orçamento (se parametrizada). (Barra de ferramentas / Grupo Orçamento) — source/MOF005/UMOF005.pas:942-988 (TfrmMOF005.btnNovoClick)
  2. Informar o Cliente (Pessoa); o sistema busca dados cadastrais, condição/forma de pagamento padrão e verifica situação SCPC, ativo e origem do cliente. (Grupo Orçamento) — source/MOF005/UdmMOF005.pas:1075-1134 (TdmMOF005.tabORCAMENTOCD_PESSOAValidate)
  3. Informar o veículo (placa) ou, em oficina por plataforma, a Marca e o Modelo, conforme o tipo de oficina configurado. (Grupo Orçamento (dados do veículo)) — source/MOF005/UdmMOF005.pas:1295-1324 (TdmMOF005.tabORCAMENTONR_PLACAValidate)
  4. Com o orçamento aprovado pelo cliente, gerar a Ordem de Serviço ('Gerar OS') ou o Pedido de Venda ('Gerar Pedido'), conforme o fluxo comercial da empresa. (Barra de ferramentas) — source/MOF005/UMOF005.pas:1438-1544 (TfrmMOF005.btnGerarPedidoClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Data de Emissão do OrçamentoSempre, ao salvar o orçamentoÉ Obrigatório informar a Data de Emissão do Orçamento!source/MOF005/UdmMOF005.pas:518-522 (TdmMOF005.tabORCAMENTOBeforePost)
Pessoa (Cliente)Sempre, ao salvar o orçamentoÉ Obrigatório informar a Pessoa!source/MOF005/UdmMOF005.pas:523-527 (TdmMOF005.tabORCAMENTOBeforePost)
VendedorQuando PARMOFICINA.ST_OBRIGAVENDEDOR = 'S'O vendedor deve ser informado.Verifique!source/MOF005/UdmMOF005.pas:528-536 (TdmMOF005.tabORCAMENTOBeforePost)
Placa do VeículoQuando o tipo de oficina é veicular (TP_ORDEMSERVICO='V') e PARMOFICINA.ST_OBRIGAPLACAORCAMENTO='S'É obrigatório informar o Veículo!source/MOF005/UdmMOF005.pas:1985-1994 (TdmMOF005.tabSERVICOBeforeInsert)
Marca e Modelo do VeículoQuando o tipo de oficina é por plataforma (TP_ORDEMSERVICO='P')É obrigatório informar a Marca do Veículo! / É obrigatório informar o Modelo do Veículo!source/MOF005/UdmMOF005.pas:1996-2009 (TdmMOF005.tabSERVICOBeforeInsert)
Origem do ClienteQuando PARMOFICINA.ST_OBRIGAORIGEMCLIENTE = 'S' e a pessoa não possui origem cadastradaW-1799 É Obrigatorio Informar a Origem do Cliente!source/MOF005/UdmMOF005.pas:1559-1597 (TdmMOF005.validaOrigemCliente)
Código do Produto (item)Ao incluir uma linha de produto na grade de itensÉ obrigatório informar o Produto da Requisição!source/MOF005/UdmMOF005.pas:576-578 (TdmMOF005.tabITEMBeforePost)
Peso ou Quantidade do ProdutoConforme unidade de cálculo do item (P=peso, Q=quantidade)É Obrigatório informar o Peso do Produto! / É Obrigatório informar a Quantidade do Produto!source/MOF005/UdmMOF005.pas:592-602 (TdmMOF005.tabITEMBeforePost)
Valor Unitário e Valor Total do ProdutoSempre, ao gravar o itemÉ Obrigatório informar o valor do Produto! / É Obrigatório informar o Valor Total do Produto!source/MOF005/UdmMOF005.pas:664-674 (TdmMOF005.tabITEMBeforePost)
Quantidade do ServiçoSempre, ao gravar o serviçoÉ Obrigatório informar a Quantidade do Serviço!source/MOF005/UdmMOF005.pas:1421-1425 (TdmMOF005.tabSERVICOBeforePost)
Valor Unitário e Valor Total do ServiçoSempre, ao gravar o serviçoÉ Obrigatório informar o valor do Serviço! / É Obrigatório informar o valor total do Serviço!source/MOF005/UdmMOF005.pas:1460-1470 (TdmMOF005.tabSERVICOBeforePost)
Motivo de CancelamentoAo cancelar (Excluir) ou Encerrar o orçamento, quando PARMOFICINA.ST_MOTIVOCANCELAMENTOORC = 'S'Motivo de Cancelamento deve ser informado!source/MOF005/UfrmMotivoCancelamento.pas:276-283 (TfrmMotivoCancelamento.tabMOTIVOCANCELAMENTOORCBeforePost)

Mensagens: causa e ação​

O Orçamento está %s. Não é permitido Alteração.​

Causa: O usuário tentou salvar alterações em um orçamento cujo status não é mais 'Novo' (foi Encerrado, Atendido ou Cancelado).

Ação: Não é possível editar; se necessário, criar um novo orçamento ou verificar o status atual na tela.

Fonte: source/MOF005/UMOF005.pas:800-801 (TfrmMOF005.btnSalvarClick)

Informe ao menos um serviço ou um produto!​

Causa: O usuário tentou salvar o orçamento sem nenhuma linha nas grades de Produtos e Serviços.

Ação: Incluir ao menos um item antes de salvar.

Fonte: source/MOF005/UMOF005.pas:851-852 (TfrmMOF005.btnSalvarClick)

A Quantidade do Produto não pode ser Menor ou Igual a Zero!​

Causa: Um item de produto está com quantidade/peso zerado ou negativo ao salvar, gerar Pedido ou gerar OS.

Ação: Corrigir a quantidade ou peso do item na grade de Produtos.

Fonte: source/MOF005/UMOF005.pas:806-818 (TfrmMOF005.btnSalvarClick)

A Quantidade do Serviço não pode ser Menor ou Igual a Zero!​

Causa: Um item de serviço está com quantidade zerada ou negativa ao salvar, gerar Pedido ou gerar OS.

Ação: Corrigir a quantidade do serviço na grade de Serviços.

Fonte: source/MOF005/UMOF005.pas:832-833 (TfrmMOF005.btnSalvarClick)

O Orçamento está Atendido. Não é permitido Exclusão.​

Causa: O usuário tentou excluir/cancelar um orçamento que já gerou Pedido de Venda ou Ordem de Serviço (status Atendido).

Ação: Não é possível excluir; se for o caso, cancelar o Pedido/OS gerado antes, seguindo as regras daquele módulo.

Fonte: source/MOF005/UMOF005.pas:673-675 (TfrmMOF005.btnExcluirClick)

O Orçamento Nº %s está vinculado à Ordem de Serviço Nº %s e não pode ser cancelado.​

Causa: O orçamento gerou uma Ordem de Serviço que ainda não foi cancelada.

Ação: Cancelar primeiro a Ordem de Serviço vinculada (módulo de Ordem de Serviço) para depois cancelar o orçamento.

Fonte: source/MOF005/UMOF005.pas:681-691 (TfrmMOF005.btnExcluirClick)

Operação Cancelada! É obrigatório informar o Motivo de Cancelamento!​

Causa: O usuário fechou a janela de Motivo de Cancelamento sem preencher o campo Motivo, com o parâmetro PARMOFICINA.ST_MOTIVOCANCELAMENTOORC ativo.

Ação: Reabrir a operação e selecionar um Motivo do tipo 'Cancelamento' antes de confirmar.

Fonte: source/MOF005/UMOF005.pas:2590-2606 (TfrmMOF005.obrigaMotivoCancelamento)

Motivo não Cadastrado! Verifique [TFA009]​

Causa: O código de Motivo informado não existe no cadastro de Motivos.

Ação: Cadastrar o motivo em TFA009 ou selecionar um motivo existente pela lista (F9).

Fonte: source/MOF005/UfrmMotivoCancelamento.pas:152-156 (TfrmMotivoCancelamento.tabMOTIVOCANCELAMENTOORCCD_MOTIVOValidate)

Motivo deve ser do Tipo "Cancelamento". Verifique [TFA009]​

Causa: O motivo selecionado existe, mas seu tipo cadastrado não é 'Cancelamento'.

Ação: Selecionar em TFA009 um motivo cujo tipo esteja marcado como Cancelamento.

Fonte: source/MOF005/UfrmMotivoCancelamento.pas:158-162 (TfrmMotivoCancelamento.tabMOTIVOCANCELAMENTOORCCD_MOTIVOValidate)

Não é possivel a alteração da data de emissão para usuários não autorizadores. Verifique![OFI001]​

Causa: PARMOFICINA.TP_BLOQUEIO='V' e o usuário logado não é Autorizador ativo, mas tentou mudar a data de emissão já gravada.

Ação: Solicitar a um usuário Autorizador (cadastro AUTORIZADOR) a alteração, ou verificar o parâmetro TP_BLOQUEIO em OFI001.

Fonte: source/MOF005/UdmMOF005.pas:2024-2046 (TdmMOF005.tabORCAMENTODT_ORCAMENTOValidate)

Não foi possivel diminuir o valor do item. Verifique![OFI001]​

Causa: PARMOFICINA.TP_BLOQUEIO='V' e o usuário não é Autorizador, mas tentou reduzir o valor unitário já informado do produto/serviço.

Ação: Solicitar a um usuário Autorizador a redução do valor, ou revisar o parâmetro TP_BLOQUEIO.

Fonte: source/MOF005/UdmMOF005.pas:1156-1164 (TdmMOF005.tabITEMVL_UNITARIOValidate), source/MOF005/UdmMOF005.pas:1539-1547 (TdmMOF005.tabSERVICOVL_UNITARIOValidate)

A Pessoa está com situação SCPC igual a bloqueado![TFA001]​

Causa: O cliente selecionado está marcado como bloqueado por SCPC no cadastro de Pessoa.

Ação: Verificar/regularizar a situação do cliente no cadastro TFA001 antes de vinculá-lo ao orçamento.

Fonte: source/MOF005/UdmMOF005.pas:1096-1097 (TdmMOF005.tabORCAMENTOCD_PESSOAValidate)

Origem de Cliente não Cadastrada! Verifique [TFA085]​

Causa: O código de Origem do Cliente informado não existe no cadastro TFA085.

Ação: Cadastrar a origem em TFA085 ou selecionar uma existente pela lista (F9).

Fonte: source/MOF005/UdmMOF005.pas:1273-1286 (TdmMOF005.tabORCAMENTOCD_ORIGEMCLIENTEValidate)

W-1799 É Obrigatorio Informar a Origem do Cliente! Verifique.​

Causa: PARMOFICINA.ST_OBRIGAORIGEMCLIENTE='S' e a pessoa selecionada não tem Origem do Cliente definida.

Ação: Selecionar uma Origem do Cliente na lista que é aberta automaticamente, ou preencher o campo Origem antes de salvar.

Fonte: source/MOF005/UdmMOF005.pas:1564-1584 (TdmMOF005.validaOrigemCliente)

A Kilometragem informada não pode ser memor que a anterior!​

Causa: O usuário informou uma quilometragem do veículo menor que a última registrada no cadastro do veículo.

Ação: Confirmar a quilometragem atual do veículo com o cliente e corrigir o valor informado.

Fonte: source/MOF005/UdmMOF005.pas:1936-1944 (TdmMOF005.tabORCAMENTOKM_ATUALValidate)

Informe o veiculo!​

Causa: O usuário tentou informar a quilometragem antes de selecionar o veículo (placa) do orçamento.

Ação: Informar a placa do veículo antes de preencher a quilometragem.

Fonte: source/MOF005/UdmMOF005.pas:1946-1949 (TdmMOF005.tabORCAMENTOKM_ATUALValidate)

É obrigatório informar o Veículo!​

Causa: Tipo de oficina veicular (TP_ORDEMSERVICO='V') com PARMOFICINA.ST_OBRIGAPLACAORCAMENTO='S'; o usuário tentou incluir um serviço sem informar a placa.

Ação: Informar a placa do veículo no cabeçalho do orçamento antes de lançar serviços.

Fonte: source/MOF005/UdmMOF005.pas:1989-1994 (TdmMOF005.tabSERVICOBeforeInsert)

É obrigatório informar a Marca do Veículo! / É obrigatório informar o Modelo do Veículo!​

Causa: Tipo de oficina por plataforma (TP_ORDEMSERVICO='P'); o usuário tentou incluir um serviço sem informar marca/modelo do veículo.

Ação: Preencher Marca e Modelo do veículo no cabeçalho antes de lançar serviços.

Fonte: source/MOF005/UdmMOF005.pas:1996-2009 (TdmMOF005.tabSERVICOBeforeInsert)

A Marca do Veículo não está Cadastrado [TTR003]! / O Modelo do Veículo não está Cadastrado [TTR003]!​

Causa: O código de marca ou modelo informado não existe no cadastro de veículos.

Ação: Cadastrar a marca/modelo em TTR003 ou corrigir o código informado.

Fonte: source/MOF005/UdmMOF005.pas:1220-1230 (TdmMOF005.tabORCAMENTOCD_MARCAVEICULOValidate), source/MOF005/UdmMOF005.pas:1238-1262 (TdmMOF005.tabORCAMENTOCD_MODELOVEICULOValidate)

O Produto não está Ativo! / O Serviço não está Ativo!​

Causa: O item informado está com o campo Ativo desmarcado no cadastro de Produto.

Ação: Reativar o produto/serviço no cadastro (TPO001) ou selecionar outro item.

Fonte: source/MOF005/UdmMOF005.pas:709-710 (TdmMOF005.tabITEMCD_ITEMValidate), source/MOF005/UdmMOF005.pas:1636-1637 (TdmMOF005.tabSERVICOCD_ITEMValidate)

O Produto %s já foi Informado no Orçamento! / O Serviço %s já foi Informado no Orçamento!​

Causa: O usuário tentou incluir o mesmo código de produto ou serviço mais de uma vez no mesmo orçamento.

Ação: Alterar a quantidade da linha já existente em vez de duplicar o item.

Fonte: source/MOF005/UdmMOF005.pas:714-724 (TdmMOF005.tabITEMCD_ITEMValidate), source/MOF005/UdmMOF005.pas:1645-1653 (TdmMOF005.tabSERVICOCD_ITEMValidate)

A Movimentação Gera Estoque e o Produto não possui Local de Armazenagem Associado![TPO001, TOF007]​

Causa: O produto controla estoque, mas não tem nenhum local de armazenagem vinculado.

Ação: Cadastrar um local de armazenagem para o produto em TOF007/TPO001.

Fonte: source/MOF005/UdmMOF005.pas:787-805 (TdmMOF005.tabITEMCD_ITEMValidate)

Condição de pagamento não cadastrada! [TFC002] / Condição de pagamento não está Ativa! [TFC002]​

Causa: O código de condição de pagamento informado não existe ou está inativo.

Ação: Cadastrar/ativar a condição em TFC002 ou selecionar outra condição existente.

Fonte: source/MOF005/UdmMOF005.pas:2072-2076 (TdmMOF005.tabORCAMENTOCD_CONDPAGTOValidate)

A Forma de Pagamento não está Cadastrada. Verifque [TFC001]!​

Causa: O código de forma de pagamento informado não existe no cadastro.

Ação: Cadastrar a forma de pagamento em TFC001 ou selecionar outra existente.

Fonte: source/MOF005/UdmMOF005.pas:2423-2436 (TdmMOF005.tabORCAMENTOCD_FORMAPAGTOValidate)

O Vendedor não está Cadastrado ou está Inativo[TFA001]! / [TFA007]!​

Causa: O código de vendedor informado não existe como Pessoa ativa (TFA001) ou não está ativo como Vendedor (TFA007).

Ação: Verificar/ativar o cadastro do vendedor em TFA001/TFA007 ou informar outro vendedor.

Fonte: source/MOF005/UdmMOF005.pas:1900-1921 (TdmMOF005.tabORCAMENTOCD_VENDEDORValidate)

É Obrigatório informar a Tabela de Preço do Produto na Ordem de Serviço!​

Causa: A configuração de tabela de preço da empresa exige tabela por item ('T') ou por item padrão ('S') e o produto/serviço não tem tabela de preço vinculada.

Ação: Selecionar uma tabela de preço válida para o item (campo Tabela de Preço da grade).

Fonte: source/MOF005/UdmMOF005.pas:641-661 (TdmMOF005.tabITEMBeforePost), source/MOF005/UdmMOF005.pas:1438-1456 (TdmMOF005.tabSERVICOBeforePost)

O Valor unitário não deve ser menor que o valor da tabela de Preço(%s)!​

Causa: O usuário reduziu o valor unitário do produto/serviço abaixo do preço da tabela vigente, sem ser autorizador em configuração que bloqueia essa redução.

Ação: Ajustar o valor para não ficar abaixo do preço de tabela, ou solicitar liberação de um Autorizador.

Fonte: source/MOF005/UdmMOF005.pas:630-639 (TdmMOF005.tabITEMBeforePost)

É Obrigatório informar o Código do Cliente para Gerar o Pedido. / É Obrigatório informar o Código do Cliente.​

Causa: O usuário tentou Gerar Pedido/Gerar OS sem ter informado o cliente no orçamento.

Ação: Informar o cliente no cabeçalho do orçamento antes de gerar o Pedido/Ordem de Serviço.

Fonte: source/MOF005/UMOF005.pas:1455-1456 (TfrmMOF005.btnGerarPedidoClick), source/MOF005/UMOF005.pas:2066-2067 (TfrmMOF005.btnGerarOSClick)

É Obrigatório informar o Condição de Pagamento / a Forma de Pagamento / a Movimentação de Venda / a Movimentação de Serviço no Parâmetro de Faturamento [MFA001].​

Causa: O orçamento não tem esses dados definidos e o Parâmetro de Faturamento (MFA001) da empresa também está sem valor padrão configurado.

Ação: Configurar os campos correspondentes em MFA001, ou informar Condição/Forma de Pagamento diretamente no orçamento.

Fonte: source/MOF005/UMOF005.pas:1480-1487 (TfrmMOF005.btnGerarPedidoClick)

O Valor da Parcela do Pedido Está Abaixo do Permitido (R$%s).​

Causa: O valor da parcela calculada (valor total dividido pela quantidade de parcelas da condição de pagamento) ficou menor que PARMFATUR.VL_MINPARCELAPEDIDO.

Ação: Reduzir a quantidade de parcelas, aumentar o valor do orçamento, ou revisar o parâmetro de valor mínimo de parcela.

Fonte: source/MOF005/UMOF005.pas:1489-1503 (TfrmMOF005.btnGerarPedidoClick)

W-0339 O Endereço da Pessoa Física / Jurídica não está Cadastrado.​

Causa: A pessoa/cliente do orçamento não possui nenhum endereço cadastrado, necessário para gerar Pedido ou Ordem de Serviço.

Ação: Cadastrar um endereço para a pessoa em TFA001 antes de gerar o Pedido/OS.

Fonte: source/MOF005/UMOF005.pas:1516-1523 (TfrmMOF005.btnGerarPedidoClick), source/MOF005/UMOF005.pas:2134-2141 (TfrmMOF005.btnGerarOSClick)

O Produto de Terceiro %s deve possuir uma Requisição[MOF004]! Verifique.​

Causa: Existe item marcado como 'Terceiro' no orçamento sem requisição de peça de terceiro lançada em MOF004.

Ação: Gerar/associar a requisição do produto de terceiro em MOF004 antes de gerar a Ordem de Serviço.

Fonte: source/MOF005/UMOF005.pas:2033-2049 (TfrmMOF005.btnGerarOSClick)

O Orçamento Deve ter Valor Maior do que Zero Para Gerar Ordem de Serviço!​

Causa: O total do orçamento calculado é zero ou negativo (nenhum item com valor) ao tentar gerar a Ordem de Serviço.

Ação: Lançar itens com valor no orçamento antes de gerar a Ordem de Serviço.

Fonte: source/MOF005/UMOF005.pas:2015-2020 (TfrmMOF005.btnGerarOSClick)

Não é Possível Gerar um Pedido Sem um Veículo Cadastrado!​

Causa: A placa informada não corresponde a um veículo cadastrado no sistema.

Ação: Cadastrar o veículo (via botão Cadastrar Veículo/TTR001) antes de gerar a Ordem de Serviço.

Fonte: source/MOF005/UMOF005.pas:2022-2030 (TfrmMOF005.btnGerarOSClick)

O Usuário não possui acesso a tela de Pedido [MPD002]! / a tela de Requisiões [MOF004]!​

Causa: O usuário logado não tem permissão de acesso ao módulo de destino (Pedido de Venda ou Requisição) no cadastro de acesso.

Ação: Solicitar ao administrador a liberação de acesso ao módulo MPD002/MOF004 para o usuário.

Fonte: source/MOF005/UMOF005.pas:1749-1751 (TfrmMOF005.btnGerarPedidoClick), source/MOF005/UMOF005.pas:1998-2000 (TfrmMOF005.btnGeraRequisicaoClick)

Ordem de Serviço Nº %s será Bloqueada. Verifique MOF007!​

Causa: A verificação automática de bloqueio (crédito/estoque/pendências) encontrou uma restrição para o cliente ou item ao gerar a Ordem de Serviço.

Ação: Consultar o motivo do bloqueio na tela de liberação (MOF007) e regularizar a pendência apontada.

Fonte: source/MOF005/UMOF005.pas:2358-2398 (TfrmMOF005.btnGerarOSClick)

Regras de negócio​

  • MOF005.R001 (ver regras/MOF005/MOF005.R001.md)
  • MOF005.R002 (ver regras/MOF005/MOF005.R002.md)
  • MOF005.R003 (ver regras/MOF005/MOF005.R003.md)
  • MOF005.R004 (ver regras/MOF005/MOF005.R004.md)
  • MOF005.R005 (ver regras/MOF005/MOF005.R005.md)
  • MOF005.R006 (ver regras/MOF005/MOF005.R006.md)
  • MOF005.R007 (ver regras/MOF005/MOF005.R007.md)
  • MOF005.R008 (ver regras/MOF005/MOF005.R008.md)
  • MOF005.R009 (ver regras/MOF005/MOF005.R009.md)
  • MOF005.R010 (ver regras/MOF005/MOF005.R010.md)
  • MOF005.R011 (ver regras/MOF005/MOF005.R011.md)
  • MOF005.R012 (ver regras/MOF005/MOF005.R012.md)
  • MOF005.R013 (ver regras/MOF005/MOF005.R013.md)
  • MOF005.R014 (ver regras/MOF005/MOF005.R014.md)
  • MOF005.R015 (ver regras/MOF005/MOF005.R015.md)
  • MOF005.R016 (ver regras/MOF005/MOF005.R016.md)
  • MOF005.R017 (ver regras/MOF005/MOF005.R017.md)
  • MOF005.R018 (ver regras/MOF005/MOF005.R018.md)
  • MOF005.R019 (ver regras/MOF005/MOF005.R019.md)
  • MOF005.R020 (ver regras/MOF005/MOF005.R020.md)
  • MOF005.R021 (ver regras/MOF005/MOF005.R021.md)
  • MOF005.R022 (ver regras/MOF005/MOF005.R022.md)
  • MOF005.R023 (ver regras/MOF005/MOF005.R023.md)
  • MOF005.R024 (ver regras/MOF005/MOF005.R024.md)
  • MOF005.R025 (ver regras/MOF005/MOF005.R025.md)

Perguntas frequentes​

P: Por que o usuário não consegue mais alterar um orçamento já salvo? R: O orçamento só pode ser alterado enquanto está com status 'Novo'. Se já foi Encerrado, Atendido (gerou Pedido/OS) ou Cancelado, a tela bloqueia qualquer alteração. Fonte: source/MOF005/UMOF005.pas:800-801 (TfrmMOF005.btnSalvarClick)

P: Apareceu a mensagem 'Informe ao menos um serviço ou um produto!' ao salvar, o que fazer? R: O orçamento está sendo salvo sem nenhuma linha na grade de Produtos nem na de Serviços; oriente o usuário a incluir ao menos um item antes de salvar. Fonte: source/MOF005/UMOF005.pas:851-852 (TfrmMOF005.btnSalvarClick)

P: Por que não é possível excluir/cancelar um orçamento? R: Orçamentos com status 'Atendido' não podem ser excluídos, e orçamentos vinculados a uma Ordem de Serviço que ainda não foi cancelada também não podem ser cancelados. Fonte: source/MOF005/UMOF005.pas:673-675 (TfrmMOF005.btnExcluirClick), source/MOF005/UMOF005.pas:681-691 (TfrmMOF005.btnExcluirClick)

P: Por que o sistema pede para informar o Motivo antes de cancelar/encerrar o orçamento? R: O parâmetro PARMOFICINA.ST_MOTIVOCANCELAMENTOORC está habilitado para a empresa, exigindo o preenchimento do motivo de cancelamento na janela específica antes de confirmar. Fonte: source/MOF005/UMOF005.pas:646-648 (TfrmMOF005.btnEncerrarClick), source/MOF005/UfrmMotivoCancelamento.pas:279-283 (TfrmMotivoCancelamento.tabMOTIVOCANCELAMENTOORCBeforePost)

P: Por que o usuário não consegue alterar a data de emissão do orçamento? R: O parâmetro PARMOFICINA.TP_BLOQUEIO está como 'V' e o usuário logado não está cadastrado como Autorizador ativo; nesse caso a data de emissão fica travada após o primeiro registro. Fonte: source/MOF005/UdmMOF005.pas:2019-2046 (TdmMOF005.tabORCAMENTODT_ORCAMENTOValidate)

P: Por que não é possível diminuir o valor unitário de um produto/serviço? R: Com PARMOFICINA.TP_BLOQUEIO='V', apenas usuários cadastrados como Autorizador podem reduzir o valor unitário já informado; para outros, a diminuição é bloqueada. Fonte: source/MOF005/UdmMOF005.pas:1156-1164 (TdmMOF005.tabITEMVL_UNITARIOValidate), source/MOF005/UdmMOF005.pas:1539-1547 (TdmMOF005.tabSERVICOVL_UNITARIOValidate)

P: Por que o campo Origem do Cliente é exigido em alguns cadastros e em outros não? R: Isso depende do parâmetro PARMOFICINA.ST_OBRIGAORIGEMCLIENTE; quando ativo e a pessoa não tiver origem cadastrada, o sistema abre a lista de Origem do Cliente para seleção obrigatória. Fonte: source/MOF005/UdmMOF005.pas:1564-1596 (TdmMOF005.validaOrigemCliente)

P: Deu erro sobre Condição de Pagamento/Forma de Pagamento/Movimentação faltando ao Gerar Pedido ou Ordem de Serviço, o que verificar? R: Verifique o cadastro de Parâmetros de Faturamento (MFA001) da empresa: é necessário ter Condição de Pagamento, Forma de Pagamento, Movimentação de Venda e Movimentação de Serviço padrão configurados. Fonte: source/MOF005/UMOF005.pas:1480-1487 (TfrmMOF005.btnGerarPedidoClick), source/MOF005/UMOF005.pas:2083-2093 (TfrmMOF005.btnGerarOSClick)

P: Deu a mensagem de Endereço não cadastrado (W-0339) ao gerar Pedido/OS, como resolver? R: A Pessoa selecionada não possui nenhum endereço cadastrado em ENDERECOPESSOA; oriente o usuário a completar o cadastro de endereço da pessoa em TFA001 antes de gerar o documento. Fonte: source/MOF005/UMOF005.pas:1516-1523 (TfrmMOF005.btnGerarPedidoClick), source/MOF005/UMOF005.pas:2134-2141 (TfrmMOF005.btnGerarOSClick)

P: Por que aparece erro de 'Produto de Terceiro deve possuir uma Requisição' ao gerar a Ordem de Serviço? R: Existe item marcado como Terceiro no orçamento sem requisição correspondente lançada em MOF004; é necessário gerar/associar a requisição desse produto antes de converter o orçamento em Ordem de Serviço. Fonte: source/MOF005/UMOF005.pas:2033-2049 (TfrmMOF005.btnGerarOSClick)

P: Por que o valor unitário de um produto aparece travado para edição, mesmo sem bloqueio de autorizador? R: O item possui uma tabela de preço promocional vigente para a data atual (ITEMTABPRECODATA) e o parâmetro PARMOFICINA.ST_DESCONTOPRODUCAO está como 'N', o que trava a edição do valor durante a promoção. Fonte: source/MOF005/UdmMOF005.pas:823-851 (TdmMOF005.tabITEMCD_ITEMValidate)

P: O sistema perguntou se deseja reprocessar os preços dos serviços/produtos, por quê? R: O parâmetro PARMOFICINA.ST_REPROCESSATABPRECO está como 'S' (pergunta) ou 'A' (automático) e o usuário trocou a Condição de Pagamento do orçamento, o que pode mudar a tabela de preço aplicável aos itens já lançados. Fonte: source/MOF005/UdmMOF005.pas:2090-2115 (TdmMOF005.tabORCAMENTOCD_CONDPAGTOValidate)

Dúvidas em aberto (o código não responde)​

  • A rotina validaItemTerceiroReq (UMOF005.pas:2853-2906), que compara item a item a quantidade requisitada de produtos de terceiro, é chamada em algum ponto do sistema? — Foi encontrada declarada e implementada, mas nenhuma chamada a ela foi localizada no módulo; a validação realmente usada ao gerar OS (btnGerarOSClick, linhas 2033-2049) só lê a primeira linha do resultado (Resultado[2]/Resultado[3]), o que pode deixar de avisar sobre outros produtos de terceiro sem requisição quando há mais de um na mesma nota.
  • Qual o significado de cada valor da configuração de tabela de preço (variável interna iST_TABELA, lida de PARMFATUR.ST_TABPRECO) e de iTP_PRECOSERVICO (PARMOFICINA.TP_PRECOSERVICO)? — O código usa os valores 'B','L','V','N','T','S','A' para iST_TABELA e 'P','T' para iTP_PRECOSERVICO para decidir se a tabela de preço/valor fica bloqueada para edição (Busca_Parametros, UdmMOF005.pas:294-321), mas nenhum comentário ou tela de parâmetro foi lido nesta sessão para confirmar o rótulo exibido ao usuário em MFA001/OFI001.
  • O texto da mensagem em UdmMOF005.pas:578 ('É obrigatório informar o Produto da Requisição!') é intencional ou um erro de cópia de outra tela? — A rotina é TdmMOF005.tabITEMBeforePost, que valida o item de produto do próprio Orçamento (MOF005), não de uma Requisição (MOF004); o texto pode ter sido copiado de outra tela e não corrigido.