MPD001 — Emissão de Pedidos de Compra (enriquecimento)
Menu: Faturamento > Movimentações > Pedidos > Emissão de Pedidos de Compra
Objetivo
A tela MPD001 é onde o usuário emite e mantém Pedidos de Compra do JunsoftERP: cadastra o cabeçalho (fornecedor, condição/forma de pagamento, transportador, vendedor, comprador), inclui os produtos pedidos (por digitação ou leitura de código de barras, inclusive produtos com grade tamanho/cor), calcula automaticamente valores, frete e despesas rateados, e controla o ciclo de vida do pedido (gravação, cancelamento, atendimento manual e reabertura). Pode ser acionada isoladamente ou receber dados de outras telas (MCO008, CNF005, MPD058).
Fluxo principal
- Abrir a tela pelo menu Faturamento > Movimentações > Pedidos > Emissão de Pedidos de Compra; a tela já inicia em modo de inclusão de um novo pedido. (Dados do Pedido) —
source/MPD001/UMPD001.pas:260-287 (iniciar) - Informar Data de Emissão, Pessoa (fornecedor), Endereço, Condição de Pagamento e Forma de Pagamento no cabeçalho. (Dados do Pedido) —
source/MPD001/UdmMPD001.pas:522-553 (TdmMPD001.tabPEDIDOBeforePost) - Se a Condição de Pagamento for do tipo Digitado, informar manualmente a Data de Vencimento (campo é liberado só nesse caso). (Dados do Pedido) —
source/MPD001/UdmMPD001.pas:794-805 (TdmMPD001.tabPEDIDOCD_CONDPAGTOValidate) - Incluir os itens do pedido na grid de Produtos: informar Produto, Movimentação, Peso e/ou Quantidade (conforme habilitação), Valor Unitário/Total; ou usar o campo de Código de Barras para inclusão rápida. (Produtos (aba Dados do Pedido)) —
source/MPD001/UdmMPD001.pas:577-652 (TdmMPD001.tabITEMPEDIDOBeforePost) - Para produtos com grade (tamanho/cor), pressionar F10 para abrir o rateio da grade e informar as quantidades por célula. (Grade Produto <F10>) —
source/MPD001/UMPD001.pas:438-445 (TfrmMPD001.FormKeyDown) - Opcionalmente preencher dados adicionais: Comprador, Vendedor, Transportador, Moeda/Índice, Tabela de Juro, Endereço de Entrega/Cobrança, Valor de Frete e Despesas Adicionais. (Dados Adicionais) —
source/MPD001/UMPD001.pas:1656-1663 (TfrmMPD001.edtVL_FRETEExit) - Para encerrar sem nota fiscal, usar Atender (F11-like botão); para desfazer esse encerramento, usar Reabrir — ambos pedem confirmação. (Status / Situação do Pedido) —
source/MPD001/UMPD001.pas:1372-1461 (TfrmMPD001.btnAtenderClick)
Campos obrigatórios
| Campo | Condição | Mensagem | Fonte |
|---|---|---|---|
| Data de Emissão (DT_PEDIDO) | sempre, ao salvar o pedido | W-0322 | source/MPD001/UdmMPD001.pas:522-526 (TdmMPD001.tabPEDIDOBeforePost) |
| Pessoa/Fornecedor (CD_PESSOA) | sempre, ao salvar o pedido | E-0246 | source/MPD001/UdmMPD001.pas:527-532 (TdmMPD001.tabPEDIDOBeforePost) |
| Endereço (CD_ENDERECO) | sempre, ao salvar o pedido | W-0323 | source/MPD001/UdmMPD001.pas:533-537 (TdmMPD001.tabPEDIDOBeforePost) |
| Condição de Pagamento (CD_CONDPAGTO) | sempre, ao salvar o pedido | W-0324 | source/MPD001/UdmMPD001.pas:538-542 (TdmMPD001.tabPEDIDOBeforePost) |
| Data de Vencimento (DT_VENCIMENTO) | quando a Condição de Pagamento cadastrada é do tipo 'D' (Digitado) | W-0325 | source/MPD001/UdmMPD001.pas:543-548 (TdmMPD001.tabPEDIDOBeforePost) |
| Forma de Pagamento (CD_FORMAPAGTO) | sempre, ao salvar o pedido | W-0326 | source/MPD001/UdmMPD001.pas:549-553 (TdmMPD001.tabPEDIDOBeforePost) |
| Produto (CD_ITEM) do item | sempre, ao gravar a linha do item | W-0085 | source/MPD001/UdmMPD001.pas:580-585 (TdmMPD001.tabITEMPEDIDOBeforePost) |
| Movimentação (CD_MOVIMENTACAO) do item | sempre, ao gravar a linha do item | W-0328 | source/MPD001/UdmMPD001.pas:586-591 (TdmMPD001.tabITEMPEDIDOBeforePost) |
| Peso (PS_PEDIDO) e/ou Quantidade (QT_PEDIDA) do item | conforme habilitação do produto (peso, quantidade ou ambos), pelo menos um deve estar preenchido | W-0329 / W-0330 | source/MPD001/UdmMPD001.pas:592-608 (TdmMPD001.tabITEMPEDIDOBeforePost) |
| Valor Unitário (VL_UNITARIO) do item | sempre, ao gravar a linha do item | W-0331 | source/MPD001/UdmMPD001.pas:610-615 (TdmMPD001.tabITEMPEDIDOBeforePost) |
| Valor Total (VL_TOTAL) do item | sempre, ao gravar a linha do item | W-0332 | source/MPD001/UdmMPD001.pas:617-622 (TdmMPD001.tabITEMPEDIDOBeforePost) |
Mensagens: causa e ação
C-0357
Causa: Usuário clicou em Excluir com um item de produto selecionado na grid do pedido.
Ação: Confirmar para cancelar o produto do pedido (o status do item passa a Cancelado, C).
Fonte: source/MPD001/UMPD001.pas:564-566 (TfrmMPD001.btnExcluirClick)
C-0370
Causa: Usuário clicou em Excluir com o cabeçalho do pedido selecionado (foco fora da grid de itens).
Ação: Confirmar para cancelar o pedido inteiro (status passa a Cancelado, C).
Fonte: source/MPD001/UMPD001.pas:533-536 (TfrmMPD001.btnExcluirClick)
C-0371
Causa: Usuário clicou no botão Atender para encerrar o pedido sem vincular nota fiscal.
Ação: Confirmar para marcar o pedido como Atendido Manualmente, copiando peso/quantidade pedida para atendida.
Fonte: source/MPD001/UMPD001.pas:1376-1376 (TfrmMPD001.btnAtenderClick)
C-0372
Causa: Usuário clicou no botão Reabrir em um pedido fechado por Atendimento Manual.
Ação: Confirmar para reabrir o pedido, recalculando peso/quantidade atendida com base nas notas realmente lançadas.
Fonte: source/MPD001/UMPD001.pas:1411-1411 (TfrmMPD001.btnReabrirClick)
E-0032
Causa: O código de Pessoa informado existe, mas está com status Inativo (ST_ATIVA = 'N') no cadastro de Pessoas.
Ação: Reative a pessoa no cadastro (TFA001) ou informe outra pessoa ativa.
Fonte: source/MPD001/UdmMPD001.pas:670-673 (TdmMPD001.tabPEDIDOCD_PESSOAValidate)
E-0033
Causa: O código de Pessoa informado não existe no cadastro.
Ação: Verifique o código digitado ou cadastre a pessoa em TFA001 antes de usá-la no pedido.
Fonte: source/MPD001/UdmMPD001.pas:707-709 (TdmMPD001.tabPEDIDOCD_PESSOAValidate)
E-0059
Causa: O código de produto informado (digitado, lido por código de barras ou vindo de integração) não existe na tabela ITEM.
Ação: Verifique o código do produto ou cadastre-o em Produtos (TPO001).
Fonte: source/MPD001/UdmMPD001.pas:987-989 (TdmMPD001.tabITEMPEDIDOCD_ITEMValidate)
E-0083
Causa: Parâmetro ST_FILTROPESSOA = 'S' e a pessoa informada não é do tipo pessoa Fornecedor nem Cliente/Fornecedor.
Ação: Informe uma pessoa cadastrada como Fornecedor ou Cliente/Fornecedor, ou ajuste o tipo de pessoa em TFA001.
Fonte: source/MPD001/UdmMPD001.pas:678-682 (TdmMPD001.tabPEDIDOCD_PESSOAValidate)
E-0084
Causa: Parâmetro ST_FILTROPESSOA diferente de 'S'/'T' e a pessoa informada não é Fornecedor, Comprador nem Cliente/Fornecedor.
Ação: Informe uma pessoa com um desses tipos cadastrados, ou ajuste o tipo de pessoa em TFA001.
Fonte: source/MPD001/UdmMPD001.pas:683-687 (TdmMPD001.tabPEDIDOCD_PESSOAValidate)
E-0246
Causa: O usuário tentou salvar o pedido sem informar a Pessoa/Fornecedor.
Ação: Informe a Pessoa no cabeçalho do pedido antes de salvar.
Fonte: source/MPD001/UdmMPD001.pas:527-532 (TdmMPD001.tabPEDIDOBeforePost)
E-0258
Causa: O Vendedor informado está cadastrado, porém inativo.
Ação: Informe um vendedor ativo ou reative o vendedor no cadastro (TFA007).
Fonte: source/MPD001/UdmMPD001.pas:1210-1213 (TdmMPD001.tabPEDIDOCD_VENDEDORValidate)
E-0259
Causa: O código de Vendedor informado não existe no cadastro de Vendedores.
Ação: Verifique o código ou cadastre o vendedor em TFA007.
Fonte: source/MPD001/UdmMPD001.pas:1216-1217 (TdmMPD001.tabPEDIDOCD_VENDEDORValidate)
E-0273
Causa: A Forma de Pagamento informada não existe no cadastro FORMAPAGTO.
Ação: Selecione (F9) uma forma de pagamento cadastrada em TFC001.
Fonte: source/MPD001/UdmMPD001.pas:823-826 (TdmMPD001.tabPEDIDOCD_FORMAPAGTOValidate)
E-0274
Causa: A Tabela de Juro informada não existe no cadastro JURO.
Ação: Selecione (F9) uma tabela de juros cadastrada em TFC003, ou deixe o campo em branco se não aplicável.
Fonte: source/MPD001/UdmMPD001.pas:841-844 (TdmMPD001.tabPEDIDOCD_JUROValidate)
E-0277
Causa: A Movimentação informada no item tem Tipo de Operação de Saída, mas o pedido de compra exige movimentação de Entrada.
Ação: Selecione (F9) uma movimentação de Entrada cadastrada em Movimentações (TCB001).
Fonte: source/MPD001/UdmMPD001.pas:1015-1017 (TdmMPD001.tabITEMPEDIDOCD_MOVIMENTACAOValidate)
E-0290
Causa: O código de Movimentação informado não existe no cadastro MOVIMENTACAO.
Ação: Selecione (F9) uma movimentação válida cadastrada em TCB001.
Fonte: source/MPD001/UdmMPD001.pas:1024-1025 (TdmMPD001.tabITEMPEDIDOCD_MOVIMENTACAOValidate)
I-0373
Causa: O usuário concluiu a reabertura manual do pedido com sucesso.
Ação: Nenhuma ação necessária; o pedido volta a ficar disponível para atendimento normal.
Fonte: source/MPD001/UMPD001.pas:1459-1459 (TfrmMPD001.btnReabrirClick)
I-0374
Causa: O pedido de compra foi salvo com sucesso, com o número definitivo já gerado.
Ação: Nenhuma ação necessária; anote/confira o número do pedido informado na mensagem.
Fonte: source/MPD001/UMPD001.pas:788-788 (TfrmMPD001.btnSalvarClick)
W-0085
Causa: O usuário tentou gravar um item da grid sem informar o Produto (ou pressionou F11 sem produto selecionado).
Ação: Informe o código do Produto antes de continuar.
Fonte: source/MPD001/UdmMPD001.pas:580-585 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0147
Causa: A Data de Vencimento informada é anterior à Data de Emissão do pedido.
Ação: Informe uma Data de Vencimento igual ou posterior à Data de Emissão.
Fonte: source/MPD001/UdmMPD001.pas:554-559 (TdmMPD001.tabPEDIDOBeforePost)
W-0182
Causa: Foi informado um valor de desconto negativo no item.
Ação: Informe um valor de desconto maior ou igual a zero.
Fonte: source/MPD001/UdmMPD001.pas:1558-1561 (TdmMPD001.tabITEMPEDIDOVL_DESCONTOValidate)
W-0322
Causa: O campo Data de Emissão do pedido está em branco ao salvar.
Ação: Informe a Data de Emissão do pedido.
Fonte: source/MPD001/UdmMPD001.pas:522-526 (TdmMPD001.tabPEDIDOBeforePost)
W-0323
Causa: O campo Endereço do pedido está em branco ao salvar.
Ação: Informe/selecione o Endereço do fornecedor.
Fonte: source/MPD001/UdmMPD001.pas:533-537 (TdmMPD001.tabPEDIDOBeforePost)
W-0324
Causa: O campo Condição de Pagamento está em branco ao salvar.
Ação: Selecione (F9) uma Condição de Pagamento.
Fonte: source/MPD001/UdmMPD001.pas:538-542 (TdmMPD001.tabPEDIDOBeforePost)
W-0325
Causa: A Condição de Pagamento selecionada é do tipo Digitado e a Data de Vencimento não foi informada.
Ação: Informe a Data de Vencimento manualmente.
Fonte: source/MPD001/UdmMPD001.pas:543-548 (TdmMPD001.tabPEDIDOBeforePost)
W-0326
Causa: O campo Forma de Pagamento está em branco ao salvar.
Ação: Selecione (F9) uma Forma de Pagamento.
Fonte: source/MPD001/UdmMPD001.pas:549-553 (TdmMPD001.tabPEDIDOBeforePost)
W-0327
Causa: O pedido já está com status Atendido e o usuário tentou alterar algum dado do cabeçalho.
Ação: Não é possível alterar um pedido Atendido; utilize Reabrir se o atendimento foi manual.
Fonte: source/MPD001/UdmMPD001.pas:560-562 (TdmMPD001.tabPEDIDOBeforePost)
W-0328
Causa: O campo Movimentação do item está em branco ao gravar a linha.
Ação: Informe/selecione a Movimentação do item.
Fonte: source/MPD001/UdmMPD001.pas:586-591 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0329
Causa: O campo Peso do item está habilitado, mas ficou em branco ao gravar a linha.
Ação: Informe o Peso do produto.
Fonte: source/MPD001/UdmMPD001.pas:592-599 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0330
Causa: O campo Quantidade do item está habilitado, mas ficou em branco ao gravar a linha.
Ação: Informe a Quantidade do produto.
Fonte: source/MPD001/UdmMPD001.pas:601-608 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0331
Causa: O campo Valor Unitário do item está em branco ao gravar a linha.
Ação: Informe o Valor Unitário do produto.
Fonte: source/MPD001/UdmMPD001.pas:610-615 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0332
Causa: O campo Valor Total do item está em branco ao gravar a linha.
Ação: Informe o Valor Total do produto (ou informe Valor Unitário e deixe o sistema calcular).
Fonte: source/MPD001/UdmMPD001.pas:617-622 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0333
Causa: O item selecionado já está com status Atendido e o usuário tentou alterá-lo.
Ação: Não é possível alterar um item já atendido.
Fonte: source/MPD001/UdmMPD001.pas:624-626 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0334
Causa: O Peso Pedido foi reduzido para um valor menor que o Peso já Atendido (recebido) do item.
Ação: Informe um Peso Pedido igual ou maior ao já atendido.
Fonte: source/MPD001/UdmMPD001.pas:629-634 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0335
Causa: A Quantidade Pedida foi reduzida para um valor menor que a Quantidade já Atendida (recebida) do item.
Ação: Informe uma Quantidade Pedida igual ou maior à já atendida.
Fonte: source/MPD001/UdmMPD001.pas:636-641 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0336
Causa: O Valor Total do item, descontado o Valor de Desconto, ficou menor ou igual a zero.
Ação: Ajuste o Valor Total e/ou o Desconto para que o valor líquido do item seja maior que zero.
Fonte: source/MPD001/UdmMPD001.pas:643-645 (TdmMPD001.tabITEMPEDIDOBeforePost)
W-0337
Causa: O pedido de entrada tem origem em um pedido de saída que controla carcaça, e o usuário tentou alterar a Pessoa, o Peso ou a Quantidade.
Ação: Não é possível alterar esses dados nesse tipo de pedido vinculado.
Fonte: source/MPD001/UdmMPD001.pas:661-662 (TdmMPD001.tabPEDIDOCD_PESSOAValidate)
W-0338
Causa: O usuário tentou selecionar/validar um Endereço (principal, entrega ou cobrança) sem antes informar a Pessoa do pedido.
Ação: Informe a Pessoa no cabeçalho antes de escolher o Endereço.
Fonte: source/MPD001/UdmMPD001.pas:720-722 (TdmMPD001.tabPEDIDOCD_ENDERECOValidate)
W-0339
Causa: O código de Endereço informado não existe cadastrado para a Pessoa selecionada.
Ação: Selecione (F9) um endereço válido cadastrado para essa pessoa em TFA001.
Fonte: source/MPD001/UdmMPD001.pas:759-761 (TdmMPD001.tabPEDIDOCD_ENDERECOValidate)
W-0340
Causa: A Condição de Pagamento selecionada é configurada para Notas de Saída (TP_NOTA = 'S'), mas o pedido de compra exige condição do tipo Entrada.
Ação: Selecione uma Condição de Pagamento cadastrada como tipo Entrada em TFC002.
Fonte: source/MPD001/UdmMPD001.pas:786-788 (TdmMPD001.tabPEDIDOCD_CONDPAGTOValidate)
W-0341
Causa: O código de Condição de Pagamento informado não existe no cadastro CONDPAGTO.
Ação: Selecione (F9) uma condição de pagamento válida em TFC002.
Fonte: source/MPD001/UdmMPD001.pas:807-808 (TdmMPD001.tabPEDIDOCD_CONDPAGTOValidate)
W-0342
Causa: O produto informado já foi lançado em outra linha desse mesmo pedido de entrada.
Ação: Ajuste a quantidade na linha já existente em vez de duplicar o produto.
Fonte: source/MPD001/UdmMPD001.pas:873-880 (TdmMPD001.tabITEMPEDIDOCD_ITEMValidate)
W-0343
Causa: A Movimentação informada existe, mas está com status Inativo.
Ação: Selecione uma movimentação ativa cadastrada em TCB001.
Fonte: source/MPD001/UdmMPD001.pas:1019-1020 (TdmMPD001.tabITEMPEDIDOCD_MOVIMENTACAOValidate)
W-0344
Causa: O Peso informado no item é zero ou negativo.
Ação: Informe um Peso maior que zero.
Fonte: source/MPD001/UdmMPD001.pas:1040-1042 (TdmMPD001.tabITEMPEDIDOPS_PEDIDOValidate)
W-0345
Causa: A Quantidade informada no item é zero ou negativa.
Ação: Informe uma Quantidade maior que zero.
Fonte: source/MPD001/UdmMPD001.pas:1066-1068 (TdmMPD001.tabITEMPEDIDOQT_PEDIDAValidate)
W-0346
Causa: O Valor Unitário informado no item é zero ou negativo.
Ação: Informe um Valor Unitário maior que zero.
Fonte: source/MPD001/UdmMPD001.pas:1097-1099 (TdmMPD001.tabITEMPEDIDOVL_UNITARIOValidate)
W-0347
Causa: O código de Comprador informado não existe no cadastro de Compradores.
Ação: Selecione (F9) um comprador cadastrado em TFA011.
Fonte: source/MPD001/UdmMPD001.pas:1166-1169 (TdmMPD001.tabPEDIDOCD_COMPRADORValidate)
W-0348
Causa: O Transportador informado está cadastrado, porém inativo.
Ação: Informe um transportador ativo ou reative-o em TFA001.
Fonte: source/MPD001/UdmMPD001.pas:1185-1187 (TdmMPD001.tabPEDIDOCD_TRANSPORTADORValidate)
W-0349
Causa: O código de Transportador informado não existe no cadastro de Pessoas.
Ação: Selecione (F9) um transportador cadastrado em TFA001.
Fonte: source/MPD001/UdmMPD001.pas:1190-1191 (TdmMPD001.tabPEDIDOCD_TRANSPORTADORValidate)
W-0350
Causa: O código de Moeda/Índice informado não existe no cadastro MOEDA.
Ação: Selecione (F9) uma moeda/índice cadastrado em TFC006.
Fonte: source/MPD001/UdmMPD001.pas:1288-1291 (TdmMPD001.tabPEDIDOCD_MOEDAValidate)
W-0351
Causa: O rateio da grade (tamanho/cor) do produto não resultou em nenhuma quantidade lançada.
Ação: Refaça o preenchimento da grade (F10) informando as quantidades por tamanho/cor.
Fonte: source/MPD001/UdmMPD001.pas:1358-1359 (Preenche_Grade)
W-0352
Causa: O Peso ou a Quantidade informada, na proporção por unidade, está fora da faixa de Peso Mínimo/Máximo cadastrada no produto (parâmetro ST_VALIDAPESO ligado).
Ação: Informe peso/quantidade dentro da faixa exibida ou corrija o cadastro de Peso Mínimo/Máximo do produto (TPO001).
Fonte: source/MPD001/UdmMPD001.pas:1594-1599 (TdmMPD001.ValidaPeso)
W-0353
Causa: O pedido selecionado já está com status Cancelado.
Ação: Não é possível reabrir ou operar sobre um pedido cancelado; crie um novo pedido se necessário.
Fonte: source/MPD001/UMPD001.pas:537-538 (TfrmMPD001.btnExcluirClick)
W-0354
Causa: O usuário tentou cancelar um pedido que já está com status Atendido.
Ação: Pedidos totalmente atendidos não podem ser cancelados por esta tela.
Fonte: source/MPD001/UMPD001.pas:539-540 (TfrmMPD001.btnExcluirClick)
W-0355
Causa: O usuário tentou cancelar um pedido que está Parcialmente Atendido.
Ação: Pedidos parcialmente atendidos não podem ser cancelados por esta tela.
Fonte: source/MPD001/UMPD001.pas:541-542 (TfrmMPD001.btnExcluirClick)
W-0356
Causa: O pedido de entrada possui um pedido de saída vinculado como origem/destino (NOTAPEDIDOORIGEMDEST) e o usuário tentou excluí-lo (pedido ou item).
Ação: Trate/cancele primeiro o pedido de saída vinculado indicado na mensagem.
Fonte: source/MPD001/UMPD001.pas:552-553 (TfrmMPD001.btnExcluirClick)
W-0358
Causa: O item selecionado já está com status Cancelado.
Ação: Não é possível cancelar novamente um item já cancelado.
Fonte: source/MPD001/UMPD001.pas:568-569 (TfrmMPD001.btnExcluirClick)
W-0359
Causa: O item selecionado já está com status Atendido.
Ação: Não é possível cancelar um item já atendido.
Fonte: source/MPD001/UMPD001.pas:570-571 (TfrmMPD001.btnExcluirClick)
W-0360
Causa: O item selecionado está Parcialmente Atendido.
Ação: Não é possível cancelar um item parcialmente atendido.
Fonte: source/MPD001/UMPD001.pas:572-573 (TfrmMPD001.btnExcluirClick)
W-0361
Causa: O pedido já foi impresso e o parâmetro de alteração de pedidos exige autorização, mas o usuário logado não está cadastrado como Autorizador ativo.
Ação: Peça a um usuário Autorizador para realizar a alteração, ou ajuste o parâmetro do Faturamento se aplicável.
Fonte: source/MPD001/UMPD001.pas:633-634 (TfrmMPD001.btnSalvarClick)
W-0362
Causa: O usuário tentou salvar um pedido sem nenhum produto lançado.
Ação: Inclua ao menos um produto no pedido antes de salvar.
Fonte: source/MPD001/UMPD001.pas:637-639 (TfrmMPD001.btnSalvarClick)
W-0363
Causa: O Valor Líquido total do pedido ficou menor ou igual a zero.
Ação: Revise os valores/descontos dos itens para que o total líquido seja maior que zero.
Fonte: source/MPD001/UMPD001.pas:642-643 (TfrmMPD001.btnSalvarClick)
W-0364
Causa: O usuário cancelou a tela de montagem de parcelas do pedido.
Ação: Refaça o salvamento e preencha as parcelas na tela exibida, sem cancelar.
Fonte: source/MPD001/UMPD001.pas:680-684 (TfrmMPD001.btnSalvarClick)
W-0365
Causa: O pedido buscado está com status Bloqueado, aguardando liberação.
Ação: Aguarde a liberação do pedido antes de tentar abri-lo.
Fonte: source/MPD001/UMPD001.pas:1176-1179 (TfrmMPD001.edtNR_PEDIDOExit)
W-0366
Causa: O número de pedido digitado não existe para a empresa/tipo Entrada.
Ação: Confira o número digitado ou use a busca (F9) para localizar o pedido.
Fonte: source/MPD001/UMPD001.pas:1229-1233 (TfrmMPD001.edtNR_PEDIDOExit)
W-0367
Causa: O código de barras lido não corresponde a nenhum produto válido (procedure VALIDA_CODIGOBARRA não retornou item).
Ação: Confira se o código de barras está correto e cadastrado no produto (TPO001).
Fonte: source/MPD001/UMPD001.pas:1287-1291 (TfrmMPD001.edtCD_CODIGOBARRAExit)
W-0368
Causa: O usuário tentou reabrir um pedido que não foi fechado por Atendimento Manual (foi atendido normalmente por nota fiscal ou não está atendido).
Ação: A Reabertura só se aplica a pedidos fechados via Atendimento Manual.
Fonte: source/MPD001/UMPD001.pas:1412-1413 (TfrmMPD001.btnReabrirClick)
W-0369
Causa: O usuário pressionou F9 para listar Endereços de Entrega/Cobrança sem antes informar a Pessoa do pedido.
Ação: Informe a Pessoa no cabeçalho antes de listar os endereços.
Fonte: source/MPD001/UMPD001.pas:1546-1547 (TfrmMPD001.edtCD_ENDENTREGAKeyDown)
Regras de negócio
MPD001.R001(verregras/MPD001/MPD001.R001.md)MPD001.R002(verregras/MPD001/MPD001.R002.md)MPD001.R003(verregras/MPD001/MPD001.R003.md)MPD001.R004(verregras/MPD001/MPD001.R004.md)MPD001.R005(verregras/MPD001/MPD001.R005.md)MPD001.R006(verregras/MPD001/MPD001.R006.md)MPD001.R007(verregras/MPD001/MPD001.R007.md)MPD001.R008(verregras/MPD001/MPD001.R008.md)MPD001.R009(verregras/MPD001/MPD001.R009.md)MPD001.R010(verregras/MPD001/MPD001.R010.md)MPD001.R011(verregras/MPD001/MPD001.R011.md)MPD001.R012(verregras/MPD001/MPD001.R012.md)MPD001.R013(verregras/MPD001/MPD001.R013.md)MPD001.R014(verregras/MPD001/MPD001.R014.md)MPD001.R015(verregras/MPD001/MPD001.R015.md)MPD001.R016(verregras/MPD001/MPD001.R016.md)MPD001.R017(verregras/MPD001/MPD001.R017.md)MPD001.R018(verregras/MPD001/MPD001.R018.md)MPD001.R019(verregras/MPD001/MPD001.R019.md)MPD001.R020(verregras/MPD001/MPD001.R020.md)MPD001.R021(verregras/MPD001/MPD001.R021.md)MPD001.R022(verregras/MPD001/MPD001.R022.md)MPD001.R023(verregras/MPD001/MPD001.R023.md)MPD001.R024(verregras/MPD001/MPD001.R024.md)MPD001.R025(verregras/MPD001/MPD001.R025.md)
Perguntas frequentes
P: Por que não consigo alterar a Pessoa (fornecedor) de um pedido de compra?
R: Pode ser porque o pedido de entrada tem origem em um pedido de saída que controla carcaça (mensagem W-0337), ou porque o campo Pessoa foi bloqueado pelo parâmetro TP_CAMPOSBLOQPED do Faturamento ao abrir um pedido já existente.
Fonte: source/MPD001/UdmMPD001.pas:1637-1654 (TdmMPD001.ValidaPedidoCarcaca), source/MPD001/UMPD001.pas:1139-1152 (TfrmMPD001.edtNR_PEDIDOKeyDown)
P: Deu a mensagem 'O Pedido já está Atendido e não pode ser Alterado', o que faço?
R: Pedidos com status Atendido não podem ser editados por esta tela. Se o pedido foi fechado por Atendimento Manual, é possível reabri-lo pelo botão Reabrir; se foi atendido por nota fiscal, é preciso tratar a nota correspondente.
Fonte: source/MPD001/UdmMPD001.pas:560-562 (TdmMPD001.tabPEDIDOBeforePost)
P: Não consigo cancelar/excluir um pedido de compra, por quê?
R: O cancelamento é bloqueado se o pedido já estiver Cancelado, Atendido, Parcialmente Atendido, ou se houver um pedido de saída vinculado como origem/destino dele.
Fonte: source/MPD001/UMPD001.pas:535-553 (TfrmMPD001.btnExcluirClick)
P: Por que o sistema não deixa eu diminuir a quantidade de um item já lançado?
R: Porque parte da quantidade/peso desse item já foi recebida (atendida) em nota fiscal; a Quantidade/Peso Pedido não pode ficar menor que a já Atendida.
Fonte: source/MPD001/UdmMPD001.pas:628-641 (TdmMPD001.tabITEMPEDIDOBeforePost)
P: Apareceu a mensagem sobre 'faixa permitida de Peso Mínimo e Máximo' ao informar a quantidade do produto, o que significa?
R: O parâmetro de Faturamento que valida peso (ST_VALIDAPESO) está ligado e o produto tem Peso Mínimo/Máximo cadastrado; o peso por unidade calculado ficou fora dessa faixa. Informe um valor dentro da faixa indicada na mensagem ou corrija o cadastro do produto.
Fonte: source/MPD001/UdmMPD001.pas:1565-1635 (TdmMPD001.ValidaPeso)
P: Deu a mensagem 'Não é permitido Alterar o Pedido/Produtos. Somente usuário Autorizador!', como resolvo?
R: O parâmetro de Faturamento exige que, após o pedido já ter sido impresso/gravado, apenas usuários cadastrados como Autorizador ativo possam alterá-lo. Peça para um usuário autorizador fazer a alteração, ou ajuste a configuração no cadastro de Parâmetros de Faturamento se fizer sentido para o processo.
Fonte: source/MPD001/UMPD001.pas:633-634 (TfrmMPD001.btnSalvarClick), source/MPD001/UdmMPD001.pas:207-220 (Verifica_Autorizador)
P: Como funciona o cálculo automático entre Peso/Quantidade, Valor Unitário e Valor Total do item?
R: Ao informar Peso ou Quantidade, o sistema recalcula o Valor Total a partir do Valor Unitário (e vice-versa) usando a procedure CALCULA_VALOR; não é necessário preencher todos os campos manualmente.
Fonte: source/MPD001/UdmMPD001.pas:292-331 (Calcula_Valor)
P: O botão Reabrir não funciona e mostra 'Este Pedido não foi Atendido Manualmente', por quê?
R: A opção Reabrir só é válida para pedidos que foram encerrados pelo botão Atender (Atendimento Manual). Pedidos atendidos por nota fiscal seguem outro fluxo e não podem ser reabertos por aqui.
Fonte: source/MPD001/UMPD001.pas:1411-1413 (TfrmMPD001.btnReabrirClick)
P: Por que a Data de Vencimento está bloqueada/cinza e não deixa digitar?
R: O campo só fica editável quando a Condição de Pagamento cadastrada é do tipo 'Digitado'; para os demais tipos, a data é calculada automaticamente pelo sistema e o campo permanece bloqueado.
Fonte: source/MPD001/UdmMPD001.pas:794-805 (TdmMPD001.tabPEDIDOCD_CONDPAGTOValidate)
P: Tentei incluir o mesmo produto de novo no pedido e deu erro dizendo que já foi informado, o que faço?
R: O sistema não permite duplicar o mesmo produto em um pedido de entrada; some a quantidade adicional na linha já existente, ou use a leitura de código de barras, que soma automaticamente.
Fonte: source/MPD001/UdmMPD001.pas:873-880 (TdmMPD001.tabITEMPEDIDOCD_ITEMValidate)
P: Recebi a mensagem que o pedido está 'Bloqueado e aguardando Liberação', o que isso quer dizer?
R: O pedido está com status Bloqueado (ST_PEDIDO = 'B') e não pode ser aberto por esta tela até ser liberado; a liberação ocorre em outro processo/tela fora do MPD001.
Fonte: source/MPD001/UMPD001.pas:1176-1179 (TfrmMPD001.edtNR_PEDIDOExit)
Dúvidas em aberto (o código não responde)
- Onde e por quem um pedido com status Bloqueado (W-0365) é liberado? — O MPD001 apenas impede a abertura do pedido bloqueado; não há rotina de liberação visível neste módulo (fontes: source/MPD001/UMPD001.pas linhas 1176-1179).
- Quais são todos os valores possíveis e efeitos completos do parâmetro PARMFATUR.TP_CAMPOSBLOQPED? Só foi identificado o efeito do caractere 'P' (bloqueia campo Pessoa) neste módulo. — source/MPD001/UMPD001.pas linhas 1139-1153 e 1235-1246.
- Qual a diferença de comportamento pretendida entre PARMFATUR.ST_ALTERAPEDIDO = 'E' e = 'T'? No código ambos disparam a mesma restrição (W-0361) para não autorizadores. — source/MPD001/UMPD001.pas linhas 633-634.
- O que exatamente compõe o Valor de Imposto do pedido (VL_IMPOSTO)? A procedure CALCULA_IMPOSTOPEDIDO é chamada mas seu código-fonte não foi lido nesta sessão. — source/MPD001/UdmMPD001.pas, Calcula_Totais, linhas 335-376.
- A mensagem W-0338 (obrigatório informar Pessoa para validação de Endereço) é usada também na rotina Lista_Endereco, que é acionada ao pressionar F9 para listar endereços — mesma ação para a qual existe a mensagem W-0369 (obrigatório informar Pessoa para listar endereços), usada em outros dois campos semelhantes (Entrega/Cobrança). É intencional o uso de códigos de mensagem diferentes para a mesma ação de listagem de endereço, ou é uma inconsistência de manutenção? — source/MPD001/UMPD001.pas linha 384 (Lista_Endereco) versus linhas 1547 e 1574 (edtCD_ENDENTREGAKeyDown/edtCD_ENDCOBRANCAKeyDown).
- Qual o efeito exato de PARMFATUR.CD_CONSUMIDOR quando o pedido é aberto manualmente pelo usuário (fora do fluxo vindo do módulo CNF005)? No código só foi encontrado uso desse parâmetro para pré-preencher a Pessoa quando o pedido vem do CNF005. — source/MPD001/UMPD001.pas linha 314 (iniciar).