Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Parâmetros
  4. Variáveis
  5. Tabelas utilizadas


01. VISÃO GERAL

Este Ponto de Entrada pertence à rotina de Purchase Order. Ele deve ser utilizado para customização desta rotina.

Programa Fonte: EICPO400.PRW


02. EXEMPLO DE UTILIZAÇÃO


User Function Eicpo400()
    Local cParam := IIF(type("paramixb") == "A" .And. len(paramixb) > 0, paramixb[1], paramixb)
    Do Case
        Case cParam == "ANTES_GRAVAR"
            MsgInfo("Entrou no ponto de entrada 'ANTES_GRAVAR'.")

        Case cParam == "AROTINA"
            AAdd(aCores , { "SW2->W2_CONAPRO == 'B' "  , "BR_AZUL" })
            cFilBrow := " SW2->W2_CONAPRO == '1' "

        Case cParam == "GRAVA_PO_PC" //tratamentos customizados
            MsgInfo("Entrou no ponto de entrada 'GRAVA_PO_PC'.")

        Case cParam == "Work_SI" //adição de campos na work que será usada para exibir os dados da S.I. de referência
            AAdd(aSemSX3, {"W0_COMPRA", "C", 3, 0})

        Case cParam == "TB_Campos_SI" //campos que serão exibidos ao clicar no botão "S.I. de Referência"
            AAdd(Tb_Campos_temp, {{|| Work_SI->W0_COMPRA},, "COMPRADOR"})

        Case cParam == "GRAVA_WORK_SI" //informação a ser gravada no campo adicional
            Work_SI->W0_COMPRA:= SW0->W0_COMPRA

        Case cParam == "SELECIONASI" //Define se a tela será aberta.
            Return .T. //Define se a tela não será aberta

        Case cParam== "DEPOIS_ALTERA_INC_PO"
            If lDepoisAltIncPO
                MsgInfo("Operação de alteração confirmada!")
            Else
                MsgInfo("Operação de alteração cancelada!")
            Endif

        Case cParam== "PO_PesqSI_Sel" //lLoop := .T.
            MSGINFO("PONTO DE ENTRADA 'PO_PesqSI_Sel' ATIVO!")

        Case cParam == "VALID"
            If cFlag == 'Saldo_Q'
                MsgInfo("Entrou no ponto de entrada 'VALID'.")
            Endif

        Case cParam == "DEPOIS_GRAVA_INC_PO"
            If lDepoisGrvIncPO
                MsgInfo("Operação de gravação confirmada!")
            Else
                MsgInfo("Operação de gravação cancelada!")
            Endif

        Case cParam == "ALTERA_PO_POST"
            MsgInfo("Entrou no ponto de entrada 'ALTERA_PO_POST'.")
            lAltPOPost := .F.

        Case cParam == "ANTES_ELIMINA"
            MsgInfo("Entrou no ponto de entrada 'ANTES_ELIMINA'")
            lEliminaS := .F.

        CASE cParam == "ANTESZERASLD"
            MsgInfo("Entrou no ponto de entrada 'ANTESZERASLD'")
            lSair := .F.//Se true, aborta a execução

        CASE cParam == "SLDZERADO"
            MsgInfo("Entrou no ponto de entrada 'SLDZERADO'")


        Case cParam == "ANTES_SALVAR"
            MsgInfo("Entrou no ponto de entrada 'ANTES_SALVAR'")
            lPE := .F.

        Case cParam == "APPEND"
            MsgInfo("Entrou no ponto de entrada 'APPEND'")
            WORK->WKPRECO := 50

        Case cParam == "APOS_GET_SI"
            If nOpcPonto <> 0
                MsgInfo("Entrou no ponto de entrada 'APOS_GET_SI' Seleção de itens.")
            EndIf
        
        Case cParam == "ANTES_ESTORNA"
            MsgInfo("Entrou no ponto de entrada 'ANTES_ESTORNA'")

        Case cParam == "INICIA_VARIAVEL_CONFERENCIA_FINAL"
            If nOpcPonto <> 0
                MsgInfo("Entrou no ponto de entrada 'INICIA_VARIAVEL_CONFERENCIA_FINAL' Conferencia final.")
            EndIf

        Case cParam == "APOS_MARCA_ITEM"
            If nOpcPonto <> 0
                MsgInfo("Entrou no ponto de entrada 'APOS_MARCA_ITEM' Seleção de itens.")
            EndIf

        Case cParam == "APOS_CONFERENCIAFINAL"
            If nOpcPonto <> 0
                MsgInfo("Entrou no ponto de entrada 'APOS_CONFERENCIAFINAL' Conferencia final.")
            EndIf

        Case cParam == "INCLUIR" .or. cParamixb == "ALTERAR" .or. cParamixb == "BROWSE_ESTORNO"
            // Definir se irá criar o pedido no módulo de Compras
            // Para NÃO criar as variáveis cMV_Easy := "N" e lExecAuto_Com := .F.
            cMV_EASY := EasyGParam("MV_EASY",,"N")
            If cMV_EASY == "S"
                cMV_EASY := "N"
            EndIf
            lExecAuto_Com := cMV_EASY == "S"
        Case cParam == "PO400ESTOR_VERIFICA_PAG_ANT"
            //pode exibir alguma mensagem se quiser
            lSair : =.T. //aborta o estorno, ser for .f. cotinua

		Case cParam == "HABILITA_CONFERENCIA_FINAL"
			//Habilita a tela de Conferência Final
			 lConfFinal := .T.

     End Case
Return

03. PARÂMETROS


NomeTipoDescrição
ANTES_GRAVARCaracterExecutado após a gravação do Purchase Order e do Pedido de Compras (quando integrado) e antes de realizar a integração com o módulo financeiro (quando habilitado) para gerenciamento dos títulos provisórios. Permite customizar os dados para gravações adicionais nas tabelas do Purchase Order e/ou Pedido de Compras antes da execução da integração com o financeiro
AROTINACaracterParâmetro que permite adicionar legendas e filtro ao Browse do Purchase Order.
GRAVA_PO_PCCaracterParâmetro que indica que o ponto de entrada está sendo chamado após a confirmação da gravação do Purchase Order.
WORK_SICaracterObjetivo deste ponto de entrada é permitir a customização da Work da tela Consulta Cod.Unid.Req S.I.
TB_CAMPOS_SICaracterO objetivo deste ponto de entrada é permitir a customização dos campos da MsSelect da tela Consulta Cod.Unid.Req S.I.
GRAVA_WORK_SIArrayPermite gravar informações nos campos adicionais que serão exibidos na tela "Consulta Cod.Unid.Req S.I.". Chamado durante o looping da tabela SW0.
SELECIONASIArrayPermite desviar da tela de seleção de S.I. no processo. Também é possível executar validações diversas.
PO_PesqSI_SelArrayPermite selecionar quais itens de uma determinada SI será apresentada na selação do PO
PO400GRAVAPC_ITEMCaracterPermite gravar informações do item do pedido de compras na tabela SC7. Utilizar o array aItensPo.
PO400GRAVAPC_CAPACaracterPermite gravar informações da capa do pedido de compras na tabela SC7. Utilizar o array aCab.
PO400ESTOR_VERIFICA_PAG_ANTCaracter

Permite estorno do PO quando processo possui pagamento antecipado.

Permite o controle se o sistema deve continuar a operação de estorno ou não através da variável lSair.

VAL_GRAVA_POCaracterPermite validação de informações permitindo gravar o registro ou não, através do preenchimento da variável lGravaPO como .T. ou .F.
DEPOIS_GRAVA_INC_POCaracterFoi disponibilizado o ponto de entrada "EICPO400" com o parâmetro "DEPOIS_GRAVA_INC_PO" permitindo a validação após inclusão do PO. Esta validação é efetuada através da consulta da variável 'lDepoisGrvIncPO'.
DEPOIS_GRAVA_ALT_POCaracterPermite validação após alteração do PO.
VALIDA_COTACAOLógicoPermite validação e customização de informações da cotação de preços no PO, através do preenchimento da variavel lRetPE como .T. ou .F.
APOS_GET_SILógicoPermite validação após a gravação do processo no P.O. através da variável MControla como .T. ou .F.
ANTES_ESTORNACaracterPermite a customização após a seleção da opção de estorno no browse.
DEPOIS_ALTERA_INC_POLógicoPermite validar se o processo de alteração do PO foi confirmado ou cancelado.
VALIDCaracterPermite alterar a validação dos campos do PO.
VALIDACaracterPermite a validação da escolha da SI
ALTERA_PO_POSTCaracterPermite alterar o valor de um Produto dentro do PO vindo de um Embarque Parcial
VALIDA_DATA_DDTEMBARQUECaracterPermite implementar validação customizada para a data de embarque conforme seu valor antes da alteração na tela de alteração de datas no PO.
VALIDA_DATA_DPARAEMBARQUECaracterPermite implementar validação customizada para a data de embarque conforme seu valor após a alteração na tela de alteração de datas no PO.
VALIDA_DATA_DDTENTREGACaracterPermite implementar validação customizada para a data de entrega conforme seu valor antes da alteração na tela de alteração de datas no PO.
VALIDA_DATA_DPARAENTREGACaracterPermite implementar validação customizada para a data de entrega conforme seu valor após a alteração na tela de alteração de datas no PO.
ANTES_ELIMINACaracterPermite a validação do acesso da opção de menu "Elimina Resíduo"
ANTESZERASLDCaracterPonto de entrada executado após o usuário confirmar a operação de eliminação de saldo
SLDZERADOCaracterPonto de entrada executado após a confirmação de eliminação de saldo pelo sistema
ANTES_SALVARCaracterPermite a validação do item selecionado do pedido de exportação dentro do P.O.
APPENDCaracterPermite implementar validação customizada para alterar valores contidos no item do pedido, através da tabela temporária "Work".
PO400RAT_DESPESASCaracterPermite alterar as despesas de frete e seguro no momento do rateamento, ao selecionar uma S.I para o cadastro de Purchase Order. A alteração pode ser feita através da tabela temporária "Work" (Veja a explicação sobre a "Work" na tabela de variáveis nesta página)
INICIA_VARIAVEL_CONFERENCIA_FINALCaracterVerifica a entrada na etapa de Conferencia Final
APOS_MARCA_ITEMCaracterVerifica após clicar no botão conferencia, ou no botão confirmar na etapa da seleção de itens
APOS_CONFERENCIAFINALCaracterVerifica após clicar em sair ou confirmar a Conferencia Final do P.O.
INCLUIRCaracterPermite alterar o processamento para que não passe pela função MATA120, consequentemente, não realizando a integração com o módulo de Compras, tratando as variáveis cMV_EASY como "N" e lExecAuto_Com como .F. 
ALTERARCaracterPermite alterar o processamento para que não passe pela função MATA120, consequentemente, não realizando a integração com o módulo de Compras, tratando as variáveis cMV_EASY como "N" e lExecAuto_Com como .F.
BROWSE_ESTORNOCaracterPermite alterar o processamento para que não passe pela função MATA120, consequentemente, não realizando a integração com o módulo de Compras, tratando as variáveis cMV_EASY como "N" e lExecAuto_Com como .F.
HABILITA_CONFERENCIA_FINALCaracterPermite habilitar novamente a tela de "Conferênfia Final" do Purchase Order, que foi retirada ao utilizar a nova tela de apresentação dos itens.

04. VARIÁVEIS


ParâmetroNomeTipoPermite alterarDescrição
AROTINAaCoresArraySimPermite adicionar legendas para no browse do Purchase Order.
AROTINAcFilBrwCaracterSimPermite adicionar filtros para no browse do Purchase Order.

aCposSIArrayNão

Tb_CamposArrayNão

aSemSX3ArrayNão

TB_Campos_SI

Tb_Campos_tempArraySim
SelecionaSIlTelaSiLógicoSim

PO_PesqSI_Sel

lLoopLógicoSim

aItensPoArraySimUtilizar conforme exemplo: aAdd(aItensPo, {"C7_QUANT"  , SW3->W3_QTDE, Nil})

aCabArrayNãoUtilizar conforme exemplo: aAdd(aCab,  {"C7_CONTATO", SA2->A2_CONTATO, Nil})

PO400ESTOR_VERIFICA_PAG_ANT

lTrataPGAntecipadoLógicoSim


lSairLógicoSimSe retornar .T. o sistema aborta a operação de estorno, se retornar .F. o sistema continua com a operação de estorno.

VALIDA_COTACAO

lRetPELógicoSim

DEPOIS_ALTERA_INC_PO

lDepoisAltIncPOLógicoSimVariável que recebe o valor da confirmação da tela de alteração.

DEPOIS_GRAVA_INC_PO

lDepoisGrvIncPOLógicoSimVariável que recebe o valor da gravação do processo.

cFlagCaracterSimVariável que recebe o campo a ser validado.

ALTERA_PO_POST

lAltPOPostLógicoSimVariável onde controle se é possível alterar o valor de um Produto dentro do PO vindo de um Embarque Parcial

dDtEmbarqueCaracterSimVariável onde se obtêm a data de embarque antes da edição na tela, para que seja validada.

dDtEntregaCarcaterSimVariável onde se obtêm a data de entrega antes da edição na tela, para que seja validada.

dParaEmbarqueCaracterSimVariável onde se obtêm a data de embarque após a edição na tela, para que seja validada.

dParaEntregaCaracterSimVariável onde se obtêm a data de entrega após a edição na tela, para que seja validada.

ANTES_ELIMINA

lEliminaSLógicoSimVariável para a validação do acesso da rotina de eliminação de resíduo no menu do P.O.
ANTESZERASLDlSairLógicoSimVariável para validar a execução da eliminação de saldo. Caso seja atribuído .T.(true) aborta a execução e .F.(falso) permite a eliminação de saldo.

lPELógicoSimVariável para a validação do item selecionado dentro do P.O.

WorkArquivo de trabalho temporárioSim

O arquivo de trabalho "Work" permite alterar o frete, seguro e outras despesas no momento do rateio do frete e seguro dos itens na rotina de Purchase Order. Os seguintes campos são disponibilizados para a alteração:

Work->WKFRETE : Frete
Work->WKSEGUR: Seguro
Work->WKINLAN: Inland
Work->WKDESCO: Desconto
Work->WKPACKI: Packing


TSi_NumCaracterNãoVariável disponível no ponto de entrada com o parâmetro 'VALIDA' que possibilita saber o número da Solicitação de Importação no momento da validação.

VALIDA

lRetPeSiLógicoSimRetorno Lógico do ponto de entrada com o parâmetro 'VALIDA' para impedir(Return false) ou não(Return true) a seleção da Solicitação de Importação.

nOpcAuxNuméricoNãoVariável numérica responsável pela ação selecionada no processo(3=Inclui e 4=Altera)

nOpcPontoNuméricoNãoVariável numérica responsável pela operação selecionada no processo.(1=Salvar)

lAlcadaLógicoSimVariável que define se o controle de alçadas está habilitado.

cMV_EASYCaractereSimVariável que armazena o parametro MV_EASY.

lExecAuto_ComLógicoSimVariável que define se irá gerar o pedido de compras (SIGACOM), tratamento em conjunto com a varíavel cMV_EASY
HABILITA_CONFERENCIA_FINALlConfFinalLógicoSimVariável que define se a tela de Conferência Final será exibida ou não.  .F. - Não Exibe (valor padrão) / .T. - Exibe;



05. TABELAS UTILIZADAS

  • Não há.