CD_LAYORDSERV - Layout de Ordem de Serviço
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Layouts → campo Ordem Serviço Tabela:
PARMFATUR.CD_LAYORDSERV· tipoDOM_VARCHAR6Valor padrão: nenhum (campo vazio)
Resumo
Define o código do Layout de Impressão utilizado ao imprimir Ordens de Serviço, Ordens de Produção e Ordens de Locação. O valor informado é repassado à função CarregaLayout, que localiza e renderiza o relatório correspondente.
Quando o campo está vazio, a impressão da Ordem de Serviço é bloqueada com mensagem de erro ou simplesmente não é executada (comportamento varia por tela).
Telas impactadas
| Tela | Descrição | Comportamento quando vazio |
|---|---|---|
| MOF002 | Oficina — Ordem de Serviço | Erro: "Layout de Ordem de Serviço não Cadastrado nos Parâmetros de Faturamento! [MFA001]" |
| MPD004 | Produção — Ordem de Produção (máquina) | Impressão silenciosamente ignorada |
| MPD005 | Produção — Ordem de Serviço | Erro: W-2025 |
| MPD006 | Produção — Ordem de Produção (orçamento) | Impressão silenciosamente ignorada |
| MPD007 | Produção — Orçamento (impressão OS) | Impressão silenciosamente ignorada |
| MPD008 | Produção — Ordem de Produção | Impressão silenciosamente ignorada |
| CPD014 | Locação — Ordem de Locação | Layout carregado ao iniciar a tela |
| CPD002 | Impressão de OS (módulo antigo) | Consulta CD_LAYORDSERV da PARMFATUR |
| CPD003 | Impressão de OS (módulo antigo) | Consulta CD_LAYORDSERV da PARMFATUR |
| CPD011 | Impressão de OS (módulo antigo) | Consulta CD_LAYORDSERV da PARMFATUR |
| FER002 | Ferramenta — Manutenção de BD | Campo incluído em scripts de migração/sincronização |
Campos envolvidos
| Campo | Tabela | Tipo | Observação |
|---|---|---|---|
CD_LAYORDSERV | PARMFATUR | DOM_VARCHAR6 | Código do layout de impressão |
NR_ORDEMSERVICO | ORDEMSERVICO | — | Número da OS a ser impressa |
NR_ORCAMENTO | variado | — | Número do orçamento vinculado |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| Campo livre de até 6 caracteres | Informa o código de um layout de relatório cadastrado no sistema. Não há validação de domínio fixo; o código deve corresponder a um layout existente. |
Preenchimento do campo
Simulação passo a passo
- Acesse MFA001 — Parâmetros de Faturamento.
- Clique na aba Layouts.
- No campo Ordem Serviço, digite o código do layout desejado (ex.:
OS001). - Salve os parâmetros.
Resultado esperado: Todas as telas que geram Ordens de Serviço/Produção passarão a utilizar o layout informado na impressão.
Exceção / Importante:
- Se o campo estiver vazio, ao tentar imprimir uma OS na tela MOF002 ou MPD005, o sistema exibe erro e bloqueia a impressão.
- Nas telas MPD004, MPD006, MPD007 e MPD008, a ausência do layout faz a impressão ser ignorada silenciosamente (nenhuma mensagem é exibida).
- O parâmetro é lido por empresa (
CD_EMPRESA), portanto cada empresa pode ter seu próprio layout.
Regra Geral
O valor informado em CD_LAYORDSERV é sempre utilizado como primeiro parâmetro (Parametros[0]) na chamada à função CarregaLayout, que monta e exibe o relatório. O fluxo é:
- O sistema lê
CD_LAYORDSERVdePARMFATURfiltrando porCD_EMPRESAda sessão. - O valor é armazenado em variável local do DataModule (ex.:
iCD_LAYORDSERV). - Na impressão, o valor é passado a
CarregaLayoutjunto com empresa, número do documento e caminho.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
TfrmMOF002.btnImprimirClick | UMOF002.pas | Imprime OS da oficina; bloqueia se vazio |
Imprime_OrdemServico (MPD004) | UMPD004.pas | Imprime ordem de produção; ignora se vazio |
TfrmMPD005.btnImprimirClick | UMPD005.pas | Imprime OS; bloqueia se vazio (W-2025) |
Imprime_OrdemServico (MPD006) | UMPD006.pas | Imprime ordem de produção; ignora se vazio |
Imprime_OrdemServico (MPD007) | UMPD007.pas | Imprime OS a partir de orçamento; ignora se vazio |
Imprime_OrdemProducao (MPD008) | UMPD008.pas | Imprime ordem de produção; ignora se vazio |
iniciar (CPD014) | UCPD014.pas | Carrega layout ao iniciar tela de locação |
TfrmCPD002.btnImprimeOSClick | UCPD002.pas | Consulta layout para impressão de OS |
TfrmCPD003.btnImprimeOSClick | UCPD003.pas | Consulta layout para impressão de OS |
TfrmCPD011.btnImprimeOSClick | UCPD011.pas | Consulta layout para impressão de OS |
Busca_Parametros (MOF001, MOF002, MOF006, MPD004, MPD005, MPD006, MPD007, MPD008) | DataModules | Lê CD_LAYORDSERV de PARMFATUR na abertura da tela |
Referências SQL diretas ao campo
Não foi encontrada referência direta ao campo CD_LAYORDSERV em Scripts/ (procedures/views do banco). O campo é utilizado exclusivamente nas rotinas Delphi listadas acima.
Candidatas por uso da tabela PARMFATUR
As procedures abaixo referenciam a tabela PARMFATUR mas não citam o campo CD_LAYORDSERV diretamente. São listadas para rastreabilidade:
CONFIRMA_ORDEMSERVICO,CONFIRMA_ORDEMSERVICOMETAL— operam sobre Ordens de Serviço e consultamPARMFATUR.CALCULA_MAQUINA,CALCULA_MAQUINAFICHA— produção, leem parâmetros de faturamento.CANCELA_NOTAFISCAL,CANCELA_MESTRA— cancelamento consultaPARMFATUR.- Outras:
CALCULA_COMISSAO,CALCULA_CENTRORESULT,CALCULA_JUROVENDA,CONSOME_LOTEMATERIAPRIMA,EXPORTACAO_ALLABOR,EXPORTACAO_DOMINIOCADASTROS,CREDITOPERIODICO_AI0,CREDITOPERIODICOGRUPO_AI0,ATUALIZA_PESSOA,ATUALIZA_PRECOVENDA,BUSCAPRECORECAP.