RRC001 — Relatório de Produção de Pneus (enriquecimento)
Menu: Recapadora > Relatórios > Relatório de Produção de Pneus
Objetivo
Gerar o relatório de Produção de Pneus da recapadora em oito modelos diferentes (Produção, Pedido, Vulcanizações, Produção com valor de custo, Sintético por Seção, Estatística por Sulco, Estatística por Tipo de Picotamento e Estatística por Diagnóstico), permitindo ao usuário filtrar por empresa, cliente, períodos de data, situação da ordem de produção/exame/faturamento e diversos cadastros (vendedor, executor, marca, medida, garantia, etc.), além de escolher quebras de agrupamento e ordenação. A tela consolida dados de pedidos, ordens de produção recap, exame inicial/final, vulcanização, raspagem, desenho e carregamento/faturamento para controle gerencial e análise de produtividade. O filtro usado é salvo por usuário e reaplicado na próxima abertura da tela.
Fluxo principal
- Abrir a tela pelo menu Recapadora > Relatórios > Relatório de Produção de Pneus. O sistema inicia um novo filtro automaticamente, preenchendo a Empresa com a da sessão do usuário e recuperando o último filtro salvo por esse usuário para o programa RRC001. (pgFILTRO1) —
source/RRC001/URRC001.pas:314-357 (iniciar) - Selecionar o Modelo de Relatório desejado (Produção, Pedido, Vulcanizações, Produção com valor de custo, Sintético/Produção por Seção, Estatística por Sulco, Estatística por Tipo de Picotamento ou Estatística por Diagnóstico). (pgFILTRO1) —
source/RRC001/URRC001.dfm:899-907 - Preencher os filtros desejados: Empresa, Cliente, período(s) de data, situação da ordem de produção, situação de faturamento/carregamento, quebras de agrupamento e, se necessário, restringir por grids (Executor, Marca, Medida, Grupo, Vendedor, etc.). (pgFILTRO1 / pgFILTRO2 / tsPNEU / tsVulcanizacao) —
source/RRC001/UdmRRC001.pas:525-569 (TdmRRC001.tabFILTROAfterInsert) - Clicar em Imprimir (ou F8). O sistema valida a obrigatoriedade da Empresa e a coerência dos seis intervalos de data, depois monta a consulta conforme os filtros marcados e executa o relatório no layout do modelo selecionado. (pgFILTRO1) —
source/RRC001/URRC001.pas:1255-1330 (TfrmRRC001.btnImprimirClick) - Opcional: usar Salvar para gravar o filtro atual como padrão do usuário para a próxima abertura da tela, Limpar para remover o item selecionado do grid ativo, ou Novo para reiniciar o filtro do zero. (pgFILTRO1) —
source/RRC001/URRC001.pas:367-372 (TfrmRRC001.FormClose)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| Empresa (edtIDEMPRESA / tabFILTROID_EMPRESA) | Sempre, ao clicar em Imprimir (ou F8). É preenchido automaticamente com a empresa da sessão ao abrir/Novo, mas pode ser apagado pelo usuário. | O código da Empresa é um campo obrigatório! | source/RRC001/URRC001.pas:1277-1281 (TfrmRRC001.btnImprimirClick) |
| Código de qualquer grid de filtro por código (Executor, Marca, Medida, Grupo, SubGrupo, Seção, Garantia, Município, Serviço, Perfil, Desenho, Tipo de Pedido, Região/Área Comercial, Autoclave, Modelo, Matriz, Etapa de Produção, Tipo de Serviço, Diagnóstico) | Não é obrigatório preencher, mas se um código for digitado ele precisa existir no cadastro correspondente; a validação dispara ao sair do campo, não apenas ao imprimir. | Mensagem específica por cadastro, ex.: 'A Marca não está Cadastrada [TRC003]!' | source/RRC001/UdmRRC001.pas:283-304 (TdmRRC001.tabEXECUTORIDValidate) |
Mensagens: causa e ação
O código da Empresa é um campo obrigatório!
Causa: O usuário apagou ou não preencheu o campo Empresa antes de clicar em Imprimir.
Ação: Informar um código de empresa válido no campo Empresa do filtro.
Fonte: source/RRC001/URRC001.pas:1277-1281 (TfrmRRC001.btnImprimirClick)
A Data de Inicio do Periodo de Entrada da Ordem Recap. não pode ser maior que a Data Final. Verifique!
Causa: A data inicial do período 'Entrada da Ordem Recapadora' é posterior à data final informada.
Ação: Corrigir as datas de início e fim desse período antes de imprimir.
Fonte: source/RRC001/URRC001.pas:1283-1285 (TfrmRRC001.btnImprimirClick)
A Data de Inicio do Periodo de Fechamento da Ordem Recap. não pode ser maior que a Data Final. Verifique!
Causa: A data inicial do período de Fechamento da Ordem é posterior à data final.
Ação: Corrigir o intervalo de datas de Fechamento antes de imprimir.
Fonte: source/RRC001/URRC001.pas:1287-1289 (TfrmRRC001.btnImprimirClick)
A Data de Inicio do Periodo de Entrega não pode ser maior que a Data Final. Verifique!
Causa: A data inicial do período de Entrega é posterior à data final.
Ação: Corrigir o intervalo de datas de Entrega antes de imprimir.
Fonte: source/RRC001/URRC001.pas:1291-1293 (TfrmRRC001.btnImprimirClick)
A Data de Inicio do Periodo de Emissão Nota não pode ser maior que a Data Final. Verifique!
Causa: A data inicial do período de Emissão da Nota é posterior à data final.
Ação: Corrigir o intervalo de datas de Emissão de Nota antes de imprimir.
Fonte: source/RRC001/URRC001.pas:1295-1297 (TfrmRRC001.btnImprimirClick)
A Data de Inicio do Periodo de Lançamento da Coleta não pode ser maior que a Data Final. Verifique!
Causa: A data inicial do período de Lançamento da Coleta é posterior à data final.
Ação: Corrigir o intervalo de datas de Coleta antes de imprimir.
Fonte: source/RRC001/URRC001.pas:1299-1301 (TfrmRRC001.btnImprimirClick)
A Data de Inicio do Periodo de Pedido do Smart não pode ser maior que a Data Final. Verifique!
Causa: A data inicial do período de Pedido do Smart (coleta móvel) é posterior à data final.
Ação: Corrigir o intervalo de datas do Pedido do Smart antes de imprimir.
Fonte: source/RRC001/URRC001.pas:1303-1305 (TfrmRRC001.btnImprimirClick)
A Empresa não está Cadastrada [ADM002]!
Causa: O código digitado no campo Empresa não existe na tabela EMPRESA.
Ação: Conferir/corrigir o código digitado ou cadastrar a empresa na tela ADM002.
Fonte: source/RRC001/UdmRRC001.pas:306-321 (TdmRRC001.tabFILTROID_EMPRESAValidate)
A garantia não está Cadastrada [TRC008]!
Causa: O código digitado no grid de Garantias não existe em GARANTIAPNEU.
Ação: Corrigir o código ou cadastrar a garantia na tela TRC008.
Fonte: source/RRC001/UdmRRC001.pas:469-482 (TdmRRC001.tabGARANTIAIDValidate)
A Marca não está Cadastrada[TRC003]!
Causa: O código digitado no grid de Marcas não existe em MARCAPNEU.
Ação: Corrigir o código ou cadastrar a marca na tela TRC003.
Fonte: source/RRC001/UdmRRC001.pas:368-383 (TdmRRC001.tabMARCAIDValidate)
A Medida não está Cadastrada[TRC004]!
Causa: O código digitado no grid de Medidas não existe em MEDIDAPNEU.
Ação: Corrigir o código ou cadastrar a medida na tela TRC004.
Fonte: source/RRC001/UdmRRC001.pas:389-404 (TdmRRC001.tabMEDIDAIDValidate)
A Região Comercial não está cadastrada. Verifique! [TFA014]
Causa: O código digitado no grid de Região Comercial não existe em REGIAOCOMERCIAL.
Ação: Corrigir o código ou cadastrar a região na tela TFA014.
Fonte: source/RRC001/UdmRRC001.pas:645-660 (TdmRRC001.tabREGIAOCOMERCIALCD_REGIAOCOMERCIALValidate)
A Área Comercial não está cadastrada. Verifique! [TFA080]
Causa: O código digitado no grid de Área Comercial não existe em AREACOMERCIAL.
Ação: Corrigir o código ou cadastrar a área na tela TFA080.
Fonte: source/RRC001/UdmRRC001.pas:766-781 (TdmRRC001.tabAREACOMERCIALCD_AREACOMERCIALValidate)
Autoclave não Cadastrado! Verifique! [TRC017]
Causa: O código digitado no grid de Autoclave (aba Vulcanização) não existe em AUTOCLAVE.
Ação: Corrigir o código ou cadastrar o autoclave na tela TRC017.
Fonte: source/RRC001/UdmRRC001.pas:668-680 (TdmRRC001.tabAUTOCLAVEIDValidate)
Desenho %s não cadastrado! Verifique [TRC001]
Causa: O código digitado no grid de Desenhos não existe em DESENHOPNEU.
Ação: Corrigir o código ou cadastrar o desenho na tela TRC001.
Fonte: source/RRC001/UdmRRC001.pas:591-604 (TdmRRC001.tabDESENHOCD_DESENHOValidate)
Etapa de Produção não cadastrada. Verifique! [TRC016]
Causa: O código digitado no grid de Etapa de Produção não existe vinculado à empresa da sessão em ETAPAPNEUEMPRESA/ETAPASPRODUCAOPNEU.
Ação: Corrigir o código ou cadastrar/vincular a etapa à empresa na tela TRC016.
Fonte: source/RRC001/UdmRRC001.pas:737-759 (TdmRRC001.tabETAPAPRODUCAOIDValidate)
Matriz não Cadastrada. Verifique! [TRC032]
Causa: O código digitado no grid de Matriz não existe em MATRIZPNEU.
Ação: Corrigir o código ou cadastrar a matriz na tela TRC032.
Fonte: source/RRC001/UdmRRC001.pas:711-730 (TdmRRC001.tabMATRIZIDValidate)
Modelo de Pneu não cadastrado! Verifique! [TRC005]
Causa: O código digitado no grid de Modelo de Pneu não existe em MODELOPNEU.
Ação: Corrigir o código ou cadastrar o modelo na tela TRC005.
Fonte: source/RRC001/UdmRRC001.pas:685-704 (TdmRRC001.tabMODELOPNEUIDValidate)
O Diagnóstico não está Cadastrado! Verifique [TRC039]
Causa: O código digitado no grid de Diagnóstico não existe em DIAGNOSTICOPNEU.
Ação: Corrigir o código ou cadastrar o diagnóstico na tela TRC039.
Fonte: source/RRC001/UdmRRC001.pas:807-819 (TdmRRC001.tabDIAGNOSTICOIDValidate)
O executor não está Cadastrado [TRC015]!
Causa: O código digitado no grid de Executor não existe (ou não está ativo) em EXECUTORETAPA.
Ação: Corrigir o código ou cadastrar/ativar o executor na tela TRC015.
Fonte: source/RRC001/UdmRRC001.pas:283-300 (TdmRRC001.tabEXECUTORIDValidate)
O Grupo não está Cadastrado [TPO006]!
Causa: O código digitado no grid de Grupo não existe em GRUPO.
Ação: Corrigir o código ou cadastrar o grupo na tela TPO006.
Fonte: source/RRC001/UdmRRC001.pas:409-423 (TdmRRC001.tabGRUPOIDValidate)
o Municipio não está Cadastrado[TFA003]!
Causa: O código digitado no grid de Município não existe em MUNICIPIO.
Ação: Corrigir o código ou cadastrar o município na tela TFA003.
Fonte: source/RRC001/UdmRRC001.pas:488-501 (TdmRRC001.tabMUNICIPIOIDValidate)
O serviço de pneu não está Cadastrado [TRC007]!
Causa: O código digitado no grid de Serviço não existe em SERVICOPNEU.
Ação: Corrigir o código ou cadastrar o serviço na tela TRC007.
Fonte: source/RRC001/UdmRRC001.pas:506-519 (TdmRRC001.tabSERVICOIDValidate)
O SubGrupo não está Cadastrado [TPO007]!
Causa: O código digitado no grid de SubGrupo não existe em SUBGRUPO.
Ação: Corrigir o código ou cadastrar o subgrupo na tela TPO007.
Fonte: source/RRC001/UdmRRC001.pas:429-443 (TdmRRC001.tabSUBGRUPOIDValidate)
O subgrupo não está Cadastrado [TPO008]!
Causa: O código digitado no grid de Seção não existe em SECAO; o texto da mensagem está incorreto (fala 'subgrupo' em vez de 'seção') por reaproveitamento indevido do texto do validador de SubGrupo.
Ação: Tratar como 'Seção não cadastrada': corrigir o código ou cadastrar a seção na tela TPO008.
Fonte: source/RRC001/UdmRRC001.pas:450-463 (TdmRRC001.tabSECAOIDValidate)
O Tipo de Pedido de Pneu não está Cadastrado! Verifique [TRC018]
Causa: O código digitado no grid de Tipo de Pedido não existe em TIPOPEDIDOPNEU.
Ação: Corrigir o código ou cadastrar o tipo de pedido na tela TRC018.
Fonte: source/RRC001/UdmRRC001.pas:611-623 (TdmRRC001.tabTIPOPEDIDOIDValidate)
O Tipo de Serviço Recap não está Cadastrado! Verifique [TRC024]
Causa: O código digitado no grid de Tipo de Serviço não existe em TIPOSERVICORECAP.
Ação: Corrigir o código ou cadastrar o tipo de serviço na tela TRC024.
Fonte: source/RRC001/UdmRRC001.pas:789-801 (TdmRRC001.tabTIPOSERVICOIDValidate)
Perfil não Cadastrado! Verifique[TPO033]!
Causa: O código digitado no grid de Perfil de Serviços não existe em PERFIL.
Ação: Corrigir o código ou cadastrar o perfil na tela TPO033.
Fonte: source/RRC001/UdmRRC001.pas:571-584 (TdmRRC001.tabPERFILCD_PERFILValidate)
Regras de negócio
RRC001.R001(verregras/RRC001/RRC001.R001.md)RRC001.R002(verregras/RRC001/RRC001.R002.md)RRC001.R003(verregras/RRC001/RRC001.R003.md)RRC001.R004(verregras/RRC001/RRC001.R004.md)RRC001.R005(verregras/RRC001/RRC001.R005.md)RRC001.R006(verregras/RRC001/RRC001.R006.md)RRC001.R007(verregras/RRC001/RRC001.R007.md)RRC001.R008(verregras/RRC001/RRC001.R008.md)RRC001.R009(verregras/RRC001/RRC001.R009.md)RRC001.R010(verregras/RRC001/RRC001.R010.md)RRC001.R011(verregras/RRC001/RRC001.R011.md)RRC001.R012(verregras/RRC001/RRC001.R012.md)RRC001.R013(verregras/RRC001/RRC001.R013.md)RRC001.R014(verregras/RRC001/RRC001.R014.md)RRC001.R015(verregras/RRC001/RRC001.R015.md)RRC001.R016(verregras/RRC001/RRC001.R016.md)RRC001.R017(verregras/RRC001/RRC001.R017.md)RRC001.R018(verregras/RRC001/RRC001.R018.md)RRC001.R019(verregras/RRC001/RRC001.R019.md)RRC001.R020(verregras/RRC001/RRC001.R020.md)RRC001.R021(verregras/RRC001/RRC001.R021.md)RRC001.R022(verregras/RRC001/RRC001.R022.md)RRC001.R023(verregras/RRC001/RRC001.R023.md)
Perguntas frequentes
P: Por que o sistema recusa imprimir o relatório dizendo que a Empresa é obrigatória?
R: O campo Empresa do filtro está vazio. Digite ou selecione um código de empresa cadastrado antes de clicar em Imprimir.
Fonte: source/RRC001/URRC001.pas:1277-1281 (TfrmRRC001.btnImprimirClick)
P: Apareceu a mensagem 'A Data de Início do Período de ... não pode ser maior que a Data Final'. O que fazer?
R: Um dos seis pares de data do filtro (Entrada da Ordem, Fechamento, Entrega, Emissão de Nota, Lançamento da Coleta ou Pedido do Smart) está com a data inicial depois da data final. Corrija o intervalo antes de imprimir.
Fonte: source/RRC001/URRC001.pas:1283-1305 (TfrmRRC001.btnImprimirClick)
P: Por que o filtro de 'Vendedor' e 'Tipo Vendedor' não aparece na tela para alguns clientes?
R: Esses filtros só ficam visíveis quando o parâmetro PARMFATUR.ST_VARIOSVENDEDORES da empresa logada está marcado como 'S' (múltiplos vendedores por item). Se estiver 'N', o grupo fica oculto.
Fonte: source/RRC001/UdmRRC001.pas:257-281 (Busca_Parametros), source/RRC001/URRC001.pas:695-704 (TfrmRRC001.btnNovoClick)
P: Por que não consigo marcar 'Vendedor da Coleta' e 'Vendedor da Nota' ao mesmo tempo?
R: As duas quebras são mutuamente exclusivas: marcar uma desmarca automaticamente a outra, pois representam origens diferentes do vendedor (o da coleta do pedido x o lançado na nota fiscal).
Fonte: source/RRC001/URRC001.pas:3952-3969 (TfrmRRC001.chkQVendedorClick)
P: Por que o checkbox 'Vendedor da Nota' só aparece às vezes?
R: Ele só fica visível quando o filtro 'Situação de Faturamento e Ordem de Carregamento' está definido como 'Faturado', pois só nesse caso existe uma nota fiscal vinculada para buscar o vendedor.
Fonte: source/RRC001/URRC001.pas:3942-3950 (TfrmRRC001.cmbST_FATORDEMCARREGChange)
P: Como faço para listar todos os pedidos exceto os de determinados executores?
R: Informe os executores no grid da aba de Executor e marque a opção 'Não listar os executores informados'. Sem marcar, o relatório mostra somente os executores selecionados.
Fonte: source/RRC001/URRC001.pas:1905-1931 (TfrmRRC001.btnImprimirClick)
P: Como faço para excluir marcas/modelos/medidas/desenhos específicos do relatório, em vez de filtrar só por eles?
R: Informe os códigos no grid correspondente e marque o checkbox de exceção ao lado da respectiva lista (ex.: 'chkMarcas', 'chkExcluiModelos', 'chkMedidas'). Marcado, o sistema usa NOT IN; desmarcado, usa IN.
Fonte: source/RRC001/URRC001.pas:2156-2180 (TfrmRRC001.btnImprimirClick)
P: Marquei 'Análise sobre Medida Padrão' e a quantidade do relatório mudou. Isso é esperado?
R: Sim. Com essa opção marcada, a quantidade considerada por item passa a usar o fator de medida padrão do serviço (SP.VL_MEDIDAPADRAO) em vez de contar 1 unidade por item.
Fonte: source/RRC001/URRC001.pas:3077-3077 (TfrmRRC001.btnImprimirClick)
P: O relatório de Produção não mostra os valores de conserto/valores financeiros. Por quê?
R: Esses valores só aparecem quando o checkbox 'Mostrar Valor de Conserto' está marcado (ele só existe no modelo 'Produção'); ele controla o parâmetro repassado à procedure que calcula os valores agregados por ordem.
Fonte: source/RRC001/URRC001.pas:1270-1273 (TfrmRRC001.btnImprimirClick)
P: Por que o filtro de Região Comercial/Área Comercial não afeta o relatório 'Vulcanizações' ou 'Sintético'?
R: Esses dois filtros só são aplicados quando o modelo de relatório selecionado é 'Produção' (P); nos demais modelos eles são ignorados mesmo que preenchidos.
Fonte: source/RRC001/URRC001.pas:2115-2132 (TfrmRRC001.btnImprimirClick)
P: Recebi 'O subgrupo não está Cadastrado [TPO008]!' ao informar um código de Seção. Isso é normal?
R: É um defeito de texto conhecido: essa mensagem é disparada pela validação do campo Seção, mas o texto foi copiado do validador de SubGrupo e ficou incorreto. Trate normalmente como 'Seção não cadastrada' e confira o código no cadastro de Seção (TPO008).
Fonte: source/RRC001/UdmRRC001.pas:450-463 (TdmRRC001.tabSECAOIDValidate)
P: O que muda ao trocar o 'Modelo de Relatório' (Produção, Pedido, Vulcanizações, etc.)?
R: Cada modelo usa um layout de impressão diferente e mostra/oculta grupos de filtro específicos (ex.: Autoclave e Ciclo Master só aparecem em 'Vulcanizações'; Etapa/Matriz/Modelo só em 'Sintético'). Selecione o modelo antes de ajustar os demais filtros.
Fonte: source/RRC001/URRC001.dfm:899-907, source/RRC001/URRC001.pas:1040-1076 (TfrmRRC001.cmbTPRELATORIOChange)
Dúvidas em aberto (o código não responde)
- O que representa exatamente a flag GP.ST_GARANTIARQG = 'S' e por que ela zera QT_REFORMAS no relatório? — URRC001.pas linhas 1685-1689 e 3069 usam essa condição, mas a tela de garantia (TRC008) e o significado de 'RQG' não foram lidos nesta sessão.
- Qual o efeito exato dos parâmetros PARAMRECAP.STSERVICONOPEDIDO e PARAMRECAP.STGERAPEDIDORECUSADO sobre o item de pedido considerado no relatório de Produção? — URRC001.pas linhas 2782-2812 ramifica a junção conforme esses dois parâmetros, mas o cadastro/tela de PARAMRECAP está fora do escopo lido.
- Onde é aplicada a checagem da licença erpProdVulcano informada no briefing? — Não há nenhuma verificação de licença no código de URRC001.pas/UdmRRC001.pas; provavelmente é feita no carregamento do menu/programa, fora deste módulo.
- Qual o texto exibido ao usuário para os códigos de catálogo E-0033, E-0259, W-0132, E-0032 e E-0258 usados pelos validadores de Cliente, Vendedor e Tipo de Vendedor? — jValidate.pas levanta JException com esses códigos (linhas 1221, 1267, 2686, 2703, 4948), mas o catálogo de mensagens (texto final) não foi lido nesta sessão.
- Por que 'Recusados E.F.' (chkRecusadoEF) força a exclusão de itens com Exame Inicial Recusado quando 'Recusados E.I.' não está marcado, em vez de apenas filtrar pelo Exame Final? — URRC001.pas linhas 2657-2672; o comportamento é observável no código mas não há comentário explicando a regra de negócio por trás da combinação.