Pular para o conteúdo principal

MCO008 — COMPRA DE ITENS (enriquecimento)

Menu: Cotações > Movimentações > COMPRA DE ITENS

Objetivo​

O módulo MCO008 (Compra de Itens) gerencia o processo completo de cotação de compra de peças/produtos no ERP Junsoft: o comprador cria uma cotação, adiciona os itens desejados, associa fornecedores, envia a cotação por e-mail em planilha (Excel/OpenOffice), reimporta os preços e prazos recebidos, compara os fornecedores lado a lado numa grade e marca o vencedor de cada item. Ao final, o comprador gera um ou mais Pedidos de Compra automaticamente a partir dos fornecedores vencedores, encerrando a cotação. A tela também permite duplicar, cancelar ou excluir cotações, sempre respeitando o status atual (Aberta, Enviada, Fechada, Bloqueada ou Cancelada).

Fluxo principal​

  1. Sistema valida se o usuário logado é um comprador cadastrado; caso contrário bloqueia o acesso à tela. (Abertura do programa) — source/MCO008/UMCO008.pas:199-238 (iniciar)
  2. Usuário informa Empresa, Descrição e Data da Cotação (aba Envio). (pageEnvio) — source/MCO008/UdmMCO008.pas:2036-2040 (TdmMCO008.tabCotacaoItemAfterInsert)
  3. Usuário clica em 'Adicionar' para abrir a tela de Busca de Itens, filtra e marca (barra de espaço/clique) os produtos desejados, informando a quantidade. (Busca de Itens (UformBuscarItens)) — source/MCO008/UMCO008.pas:768-784 (TfrmMCO008.BitBtn1Click)
  4. Usuário associa fornecedores a cada item na grade de Fornecedores (F9 busca fornecedor, barra de espaço marca). (pageEnvio / gridFornecedores) — source/MCO008/UMCO008.pas:743-765 (TfrmMCO008.gridFornecedoresKeyDown)
  5. Fornecedor preenche a planilha recebida; o comprador reimporta o arquivo pelo botão Importar. (actionImportarCotacao) — source/MCO008/UMCO008.pas:1709-1719 (TfrmMCO008.actionImportarCotacaoExecute)
  6. Na aba Grade de Fornecedor (Preço/Data), usuário compara valores e prazos lado a lado e marca o fornecedor vencedor de cada item. (pageGradeFornec) — source/MCO008/UMCO008.pas:1054-1104 (TfrmMCO008.actionVencedorExecute)
  7. Usuário clica em 'Gerar Pedido'; sistema confirma a ação (irreversível), salva a cotação e chama a procedure de geração de pedidos. (actionPedido) — source/MCO008/UMCO008.pas:1165-1241 (TfrmMCO008.actionPedidoExecute)
  8. Sistema fecha a cotação (status Fechada) e, conforme parâmetro, envia o(s) pedido(s) por e-mail ao fornecedor ou encaminha para a tela de Emissão de Pedidos. (actionPedido) — Scripts/GERA_PEDIDOCOTACAOPECA.sql:376-378 (GERA_PEDIDOCOTACAOPECA)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Empresa (IDEMPRESA)sempre, ao salvar a cotaçãosource/MCO008/UdmMCO008.dfm:95-101
Descrição da Cotação (DSCOTACAO)sempre, ao salvar a cotaçãosource/MCO008/UdmMCO008.dfm:122-127
Data da Cotação (DTCOTACAO)sempre, ao salvar a cotaçãosource/MCO008/UdmMCO008.dfm:129-135
Item (IDITEM) em cada linha da grade de Produtossempre, por linha de item da cotaçãosource/MCO008/UdmMCO008.dfm:305-310
Quantidade Desejada (QTDESEJADA) em cada itemsempre, por linha; se deixado em branco o sistema assume 1 automaticamentesource/MCO008/UdmMCO008.dfm:324-329

Mensagens: causa e ação​

C-0048​

Causa: Usuário está fechando a tela com uma cotação, item ou fornecedor em edição/inclusão não salvos.

Ação: Confirmar para salvar as alterações antes de sair, ou cancelar a confirmação para descartá-las.

Fonte: source/MCO008/UMCO008.pas:356-369 (TfrmMCO008.FormClose)

C-1482​

Causa: Usuário pressionou F2 ou F5 fora da grade de itens, pedindo para começar uma nova cotação.

Ação: Confirmar para iniciar uma nova cotação em branco.

Fonte: source/MCO008/UMCO008.pas:374-387 (TfrmMCO008.FormKeyDown)

C-1483​

Causa: Usuário clicou em 'Gerar Pedido' para transformar a cotação em pedido(s) de compra.

Ação: Confirmar apenas se tiver certeza, pois após gerar o pedido a cotação não pode mais ser alterada.

Fonte: source/MCO008/UMCO008.pas:1194-1197 (TfrmMCO008.actionPedidoExecute)

C-1484​

Causa: Pedido foi gerado sem envio automático por e-mail (parâmetro de fornecedor 'N') e a caixa 'Visualizar' está marcada.

Ação: Confirmar se deseja realmente enviar os e-mails dos pedidos aos fornecedores.

Fonte: source/MCO008/UMCO008.pas:1340-1343 (TfrmMCO008.actionPedidoExecute)

C-1486​

Causa: Usuário pediu para excluir um item da grade de produtos da cotação (ainda Aberta).

Ação: Confirmar a exclusão do item.

Fonte: source/MCO008/UMCO008.pas:1453-1458 (TfrmMCO008.actionExcluirExecute)

C-1487​

Causa: Usuário pediu para excluir um fornecedor da grade de fornecedores da cotação.

Ação: Confirmar a exclusão do fornecedor informado; isso remove suas cotações de preço lançadas.

Fonte: source/MCO008/UMCO008.pas:1463-1483 (TfrmMCO008.actionExcluirExecute)

C-1489​

Causa: Usuário pediu para excluir a cotação inteira (status Aberta).

Ação: Confirmar a exclusão; se a cotação veio de uma Solicitação de Compra, os itens dessa solicitação ficam disponíveis novamente.

Fonte: source/MCO008/UMCO008.pas:1496-1531 (TfrmMCO008.actionExcluirExecute)

C-1491​

Causa: Usuário clicou em 'Duplicar' para criar uma cópia da cotação atual.

Ação: Confirmar a duplicação; será exigida autorização (login/senha de Autorizador) em seguida.

Fonte: source/MCO008/UMCO008.pas:2186-2199 (TfrmMCO008.buttonDuplicarClick)

C-1493​

Causa: Usuário clicou em 'Cancelar' para cancelar a cotação atual.

Ação: Confirmar o cancelamento; se houver pedido gerado com nota fiscal vinculada, o cancelamento será recusado em seguida.

Fonte: source/MCO008/UMCO008.pas:2213-2231 (TfrmMCO008.buttonCancelarClick)

I-0047​

Causa: Cotação foi salva com sucesso pelo botão Salvar.

Ação: Nenhuma ação necessária, apenas confirma que os dados foram gravados.

Fonte: source/MCO008/UMCO008.pas:622-626 (TfrmMCO008.actionSalvarExecute)

I-0374​

Causa: Pedido de compra foi gerado com sucesso a partir da cotação.

Ação: Nenhuma ação necessária; o número do pedido gerado é informado na mensagem.

Fonte: source/MCO008/UMCO008.pas:1249-1254 (TfrmMCO008.actionPedidoExecute)

I-1481​

Causa: Planilha de cotação foi importada e os preços/prazos foram gravados com sucesso.

Ação: Nenhuma ação necessária.

Fonte: source/MCO008/UdmMCO008.pas:1548-1553 (TdmMCO008.AtualizaItensCotacao)

I-1490​

Causa: Planilhas de cotação foram enviadas por e-mail a todos os fornecedores selecionados.

Ação: Nenhuma ação necessária; aguardar retorno dos fornecedores para reimportar os preços.

Fonte: source/MCO008/UMCO008.pas:1671-1673 (TfrmMCO008.buttonEmailClick)

I-1492​

Causa: Cotação foi duplicada com sucesso.

Ação: Nenhuma ação necessária; a nova cotação gerada pode ser localizada pelo número informado na mensagem.

Fonte: source/MCO008/UMCO008.pas:2204-2208 (TfrmMCO008.buttonDuplicarClick)

I-1494​

Causa: Cotação foi cancelada com sucesso.

Ação: Nenhuma ação necessária.

Fonte: source/MCO008/UMCO008.pas:2264-2265 (TfrmMCO008.buttonCancelarClick)

W-1485​

Causa: O parâmetro de compras está configurado para não enviar pedido por e-mail (ST_ENVIAPEDIDOEMAIL='N') e o usuário não tem o menu de Emissão de Pedidos de Compra (MPD001) liberado.

Ação: Solicitar ao administrador a liberação do menu MPD001 para o usuário, ou ajustar o parâmetro de envio de pedido por e-mail em Parâmetros de Compra.

Fonte: source/MCO008/UMCO008.pas:1392-1397 (TfrmMCO008.actionPedidoExecute)

W-1488​

Causa: Usuário tentou excluir uma cotação que não está mais com status Aberta (já enviada, fechada, bloqueada ou cancelada).

Ação: Não é possível excluir; se necessário, cancelar a cotação em vez de excluí-la.

Fonte: source/MCO008/UMCO008.pas:1496-1499 (TfrmMCO008.actionExcluirExecute)

W-1495​

Causa: Usuário tentou cancelar uma cotação que já está cancelada.

Ação: Nenhuma ação necessária, a cotação já está cancelada.

Fonte: source/MCO008/UMCO008.pas:2267-2269 (TfrmMCO008.buttonCancelarClick)

A "Empresa" deve ser informada primeiro!​

Causa: Usuário tentou localizar uma cotação pelo número (campo Id Cotação) sem antes preencher o campo Empresa.

Ação: Preencher o campo Empresa antes de informar o número da cotação.

Fonte: source/MCO008/UMCO008.pas:699-702 (TfrmMCO008.editIdCotacaoExit)

A Cotação está cancelada. Não é possivel adicionar itens!​

Causa: Usuário tentou abrir a busca de itens numa cotação com status Cancelada.

Ação: Não é possível adicionar itens; duplicar a cotação para criar uma nova, se necessário.

Fonte: source/MCO008/UMCO008.pas:772-773 (TfrmMCO008.BitBtn1Click)

A Cotação está Fechada ou já foi Gerado o pedido. Não é possivel adicionar itens!​

Causa: Usuário tentou abrir a busca de itens numa cotação já fechada (pedido já gerado).

Ação: Não é possível adicionar itens a uma cotação fechada; usar Duplicar para criar uma nova cotação.

Fonte: source/MCO008/UMCO008.pas:775-776 (TfrmMCO008.BitBtn1Click)

O Valor Vencedor deve ser maior que o Valor de Desconto!​

Causa: Usuário lançou, na grade de fornecedores, um valor de preço menor que o desconto já aplicado no item.

Ação: Reduzir o desconto do item ou aumentar o valor lançado para o fornecedor.

Fonte: source/MCO008/UMCO008.pas:959-964 (TfrmMCO008.validateValorFornec)

O valor do Desconto deve ser menor que o valor vencedor!​

Causa: Usuário lançou um desconto no item maior que o valor do fornecedor já marcado como vencedor.

Ação: Reduzir o valor do desconto para um valor menor que o preço vencedor.

Fonte: source/MCO008/UdmMCO008.pas:2261-2279 (TdmMCO008.tabGradeFornecvlDesconto)

A Data Vencedora deve ser maior que a Data da Cotação!​

Causa: Usuário lançou, na grade de datas de entrega dos fornecedores, uma data igual ou anterior à data da cotação.

Ação: Informar uma data de entrega posterior à data da cotação.

Fonte: source/MCO008/UMCO008.pas:980-985 (TfrmMCO008.validateValorFornec)

Não é possivel salvar a Cotação está cancelada!​

Causa: Usuário tentou salvar alterações numa cotação com status Cancelada.

Ação: Cotações canceladas não podem mais ser alteradas; duplicar a cotação se precisar refazer a compra.

Fonte: source/MCO008/UMCO008.pas:553-555 (salvar)

É Obrigatório informar o Item da Cotação!​

Causa: Usuário tentou salvar a cotação sem ter incluído nenhum produto na grade de itens.

Ação: Adicionar ao menos um item na cotação antes de salvar.

Fonte: source/MCO008/UMCO008.pas:567-571 (salvar)

Cotação cancelada não é possivel Enviar Cotações​

Causa: Usuário clicou em Enviar numa cotação com status Cancelada.

Ação: Não é possível enviar; a cotação precisa estar Aberta ou Retornada/Enviada anteriormente.

Fonte: source/MCO008/UMCO008.pas:1546-1547 (TfrmMCO008.buttonEmailClick)

O Usuário Autorizador não está Ativo! [TFA008].​

Causa: O usuário logado não está cadastrado como Autorizador ativo (tabela AUTORIZADOR).

Ação: Solicitar ao administrador o cadastro/ativação do usuário como Autorizador para poder enviar cotações.

Fonte: source/MCO008/UMCO008.pas:1549-1557 (TfrmMCO008.buttonEmailClick)

Deve haver ao menos um Produto na Cotação para ser Enviada!​

Causa: Usuário clicou em Enviar sem nenhum item cadastrado na cotação.

Ação: Adicionar ao menos um produto antes de enviar a cotação.

Fonte: source/MCO008/UMCO008.pas:1563-1564 (TfrmMCO008.buttonEmailClick)

Email da Pessoa [...] Não Cadastrado. Verifique! [TFA001/TFA029]​

Causa: O fornecedor (ou o destinatário do pedido) não possui e-mail cadastrado nem contato do tipo usado para compras.

Ação: Cadastrar o e-mail do fornecedor/pessoa em Contatos (TFA029) ou no cadastro da pessoa (TFA001).

Fonte: source/MCO008/UMCO008.pas:1323-1324 (TfrmMCO008.actionPedidoExecute)

Não foi possível Gerar Pedido. A Cotação está Cancelada! Verifique.​

Causa: Usuário clicou em Gerar Pedido numa cotação com status Cancelada.

Ação: Não é possível gerar pedido de uma cotação cancelada; duplicar a cotação se precisar refazer a compra.

Fonte: source/MCO008/UMCO008.pas:1189-1192 (TfrmMCO008.actionPedidoExecute)

O Tipo de Contato para compras utilizado na localização dos emails não foi informado nos parâmetros de compra. [MFA004]​

Causa: O parâmetro IDTIPOCONTATO não está preenchido em Parâmetros de Compra (PARMCOMPRA).

Ação: Preencher o 'Tipo de Contato' usado para localizar e-mails na tela de Parâmetros de Compra [MFA004].

Fonte: source/MCO008/UMCO008.pas:1256-1266 (TfrmMCO008.actionPedidoExecute)

Não possivel excluir o Item da Cotação, pois a Cotação não está Aberta!​

Causa: Usuário tentou excluir um item de uma cotação que não está mais com status Aberta.

Ação: Itens só podem ser excluídos enquanto a cotação estiver Aberta; se necessário, cancelar a cotação inteira.

Fonte: source/MCO008/UMCO008.pas:1455-1461 (TfrmMCO008.actionExcluirExecute)

Não é possivel excluir fornecedores de cotações fechadas!​

Causa: Usuário tentou excluir um fornecedor de uma cotação já Fechada.

Ação: Não é possível remover fornecedores de cotações fechadas.

Fonte: source/MCO008/UMCO008.pas:1493-1494 (TfrmMCO008.actionExcluirExecute)

Cotação cancelada não é possivel importar informações​

Causa: Usuário tentou importar uma planilha de cotação numa cotação já Cancelada.

Ação: Não é possível importar dados numa cotação cancelada.

Fonte: source/MCO008/UMCO008.pas:1711-1712 (TfrmMCO008.actionImportarCotacaoExecute)

Item não cadastrado! [TPO001] / Item desativado! [TPO001] / Item informado não pode ser um serviço! [TPO001]​

Causa: O código do item digitado não existe, está desativado, ou é um serviço (não pode ser cotado nesta tela).

Ação: Informar um item de estoque ativo e que não seja do tipo Serviço (TPO001).

Fonte: source/MCO008/UdmMCO008.pas:1889-1895 (TdmMCO008.tabItemCotacaoItemIDITEMValidate)

Forncededor Já Informado Para esta Cotação / {Verifica Fornecedor} Fornecedor Já Informado Para Esta Cotação!​

Causa: Usuário tentou adicionar um fornecedor que já consta na cotação.

Ação: Escolher outro fornecedor; cada fornecedor só pode ser informado uma vez por cotação.

Fonte: source/MCO008/UdmMCO008.pas:2126-2135 (TdmMCO008.tabFornecFinalCD_PESSOAValidate), source/MCO008/UdmMCO008.pas:2158-2178 (TdmMCO008.VerificaFornecedor)

Fornecedor Não Cadastrado! [TFA001] / O Fornecedor Não Está Ativo! [TFA001]​

Causa: O código de fornecedor informado não existe ou está inativo no cadastro de pessoas.

Ação: Informar um fornecedor válido e ativo, ou reativar o cadastro em TFA001.

Fonte: source/MCO008/UdmMCO008.pas:2136-2142 (TdmMCO008.tabFornecFinalCD_PESSOAValidate)

A Operação de estoque do tipo acerto não está cadastrada nos parâmetros de estoque [MEQ001]!​

Causa: Rotina presente no código-fonte do módulo, mas não é chamada em nenhum evento acessível pela tela.

Ação: Se essa mensagem for reportada nesta tela, verificar se o usuário não confundiu com outro módulo, pois a rotina que a dispara (buscaParametrosEstoque) está sem chamador.

Fonte: source/MCO008/UdmMCO008.pas:1588-1602 (TdmMCO008.buscaParametrosEstoque)

Regras de negócio​

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

Perguntas frequentes​

P: O usuário não consegue nem abrir a tela Compra de Itens, aparece 'O usuario ... não é comprador'. R: O sistema só libera a tela para usuários cadastrados como Comprador (tabela COMPRADOR vinculada à pessoa do usuário). É preciso cadastrar o usuário como comprador em TFA011/TFA001. Fonte: source/MCO008/UMCO008.pas:223-235 (iniciar)

P: Por que dá erro 'Empresa não liberada para o usuário' [ADM002] ao trocar de empresa? R: A empresa selecionada não está associada ao usuário logado na tabela UsuarioEmpresa. É preciso liberar a empresa para o usuário no cadastro de usuários (ADM002). Fonte: source/MCO008/UdmMCO008.pas:1823-1843 (TdmMCO008.tabCotacaoItemIDEMPRESAValidate)

P: Não consigo adicionar mais itens numa cotação antiga. R: A cotação está Cancelada ou já está Fechada (pedido já gerado); nesses status a tela bloqueia a inclusão de novos itens. Se for engano, é preciso duplicar a cotação para criar uma nova. Fonte: source/MCO008/UMCO008.pas:768-784 (TfrmMCO008.BitBtn1Click)

P: Cliquei em 'Gerar Pedido' e apareceu 'não possui Fornecedor Vencedor'. R: É preciso marcar, na grade de Fornecedores/Preços, qual fornecedor venceu cada item (clique com botão direito > Marcar como Vencedor) antes de gerar o pedido. Fonte: Scripts/GERA_PEDIDOCOTACAOPECA.sql:76-95 (GERA_PEDIDOCOTACAOPECA)

P: A cotação ficou com status Bloqueada sozinha depois de tentar gerar o pedido. R: O valor total da cotação (ou o acumulado do mês do comprador) ultrapassou o limite de crédito de compra cadastrado para o comprador [TFA044]. É preciso revisar/ajustar o limite de crédito do comprador ou o valor da cotação. Fonte: Scripts/GERA_PEDIDOCOTACAOPECA.sql:99-164 (GERA_PEDIDOCOTACAOPECA)

P: Não consigo enviar a cotação por e-mail, dá erro de Autorizador. R: O envio de cotações por e-mail exige que exista um registro ativo do usuário logado na tabela AUTORIZADOR [TFA008]. É preciso cadastrar/ativar o usuário como autorizador. Fonte: source/MCO008/UMCO008.pas:1549-1557 (TfrmMCO008.buttonEmailClick)

P: Não consigo cancelar uma cotação, o sistema diz que o pedido tem nota fiscal. R: Se algum pedido de compra gerado a partir dessa cotação já tiver nota fiscal de entrada vinculada (PEDIDONOTA), o cancelamento é bloqueado. É preciso resolver/cancelar a nota fiscal antes. Fonte: Scripts/CANCELA_PEDIDOCOTACAO.sql:33-60 (CANCELA_PEDIDOCOTACAO)

P: Importei a planilha de cotação e deu erro sobre o campo Frete. R: A célula de Frete da planilha (linha 15, coluna B na aba Cotação) precisa conter exatamente 1 (CIF) ou 2 (FOB); qualquer outro valor cancela a importação e desfaz o que já tinha sido lido. Fonte: source/MCO008/UdmMCO008.pas:1279-1284 (FileName2URL), source/MCO008/UdmMCO008.pas:1337-1344 (FileName2URL)

P: Apareceu a mensagem 'A Operação de estoque do tipo acerto não está cadastrada [MEQ001]' nesta tela, é normal? R: Essa mensagem existe no código-fonte do módulo, mas a rotina que a dispara não é chamada em nenhum ponto acessível da tela de Compra de Itens; é provável que a mensagem tenha vindo de outro programa/tela. Vale confirmar em qual módulo o usuário estava. Fonte: source/MCO008/UdmMCO008.pas:1588-1602 (TdmMCO008.buscaParametrosEstoque)

P: Não consigo excluir um fornecedor da grade de fornecedores da cotação. R: Fornecedores só podem ser excluídos enquanto a cotação não estiver Fechada. Se a cotação já foi fechada (pedido gerado), não é mais possível remover fornecedores. Fonte: source/MCO008/UMCO008.pas:1463-1494 (TfrmMCO008.actionExcluirExecute)

P: Cancelei uma cotação vinda de uma Solicitação de Compra, mas a solicitação continua indisponível para nova cotação. R: Isso depende do parâmetro 'Reabre Solicitação' (PARMCOMPRA.ST_REABRESOLICITACAO). Se ele não estiver configurado como 'S' nos parâmetros de compras da empresa, o sistema não reabre automaticamente a solicitação/itens ao cancelar a cotação. Fonte: source/MCO008/UMCO008.pas:2241-2262 (TfrmMCO008.buttonCancelarClick)

P: O sistema não deixa lançar o valor do fornecedor na grade. R: O valor lançado para o fornecedor vencedor precisa ser maior que o valor de desconto já aplicado no item (e vice-versa, o desconto não pode ultrapassar o valor vencedor); ajuste um dos dois valores. Fonte: source/MCO008/UMCO008.pas:959-967 (TfrmMCO008.validateValorFornec), source/MCO008/UdmMCO008.pas:2261-2279 (TdmMCO008.tabGradeFornecvlDesconto)

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

  • Qual o nome/significado oficial de cada letra do status da cotação (STCOTACAO: A, B, C, E, F, R)? — Os significados foram inferidos das mensagens de erro e das atualizações de status no código (A=Aberta, C=Cancelada, F=Fechada/pedido gerado, B=Bloqueada por limite de crédito, E=Enviada por e-mail, R=Retornada de importação de planilha), mas não há enum/comentário no módulo que os declare oficialmente. Ver UMCO008.pas:772-776, UdmMCO008.pas:1496-1511, UMCO008.pas:1666-1668, UdmMCO008.pas:1541, Scripts/GERA_PEDIDOCOTACAOPECA.sql:155-158.
  • A rotina TdmMCO008.buscaParametrosEstoque (mensagem MEQ001) é código morto ou falta algum gatilho que a chame? — Não encontrei nenhuma chamada a essa procedure em UdmMCO008.pas ou UMCO008.pas; a mensagem 'A Operação de estoque do tipo acerto não está cadastrada [MEQ001]' listada no briefing parece inalcançável nesta tela hoje.
  • Qual o efeito de negócio completo do parâmetro PARMCOMPRA.ST_BLOQUEIOPED e do papel do CD_MODULO='MCO008' na regra de bloqueio automático do pedido? — GERA_PEDIDOCOTACAOPECA.sql:382-393 só bloqueia o pedido se ST_BLOQUEIOPED='S' E a sessão que chamou a procedure tiver CD_MODULO='MCO008'; não está claro por que esse bloqueio não vale quando a mesma procedure é chamada por outro módulo.
  • As procedures RETORNA_ESTOQUECOMPROMETIDO, RETORNA_ESTATISTICAITEM e RETORNA_SALDOESTOQUE alteram alguma regra de negócio (bloqueio/validação) ou servem só para exibir saldo/estatística? — Essas procedures são usadas apenas dentro de SELECTs (montaSQL, tabItemCotacaoItemIDITEMValidate, montaSQLGrade) para trazer saldo/estatística de estoque; não abri o código-fonte delas, então não confirmo se contêm alguma regra adicional.