Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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


Bloco de código
languagec#
linenumberstrue
User functionFunction Eicpo400()

    Local cParamixbcParam := iifIIF( type("paramixb") == "A" .andAnd. len(paramixb) > 0 , paramixb[1] , paramixb )

    Do caseCase
        Case ParamIXBcParam == "ANTES_GRAVAR"
            MsgInfo("Entrou no ponto de entrada 'ANTES_GRAVAR'.")

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

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

        Case ParamIXBcParam == "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 ParamIXBcParam == "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 ParamIXBcParam == "GRAVA_WORK_SI" //informação a ser gravada no campo adicional
            Work_SI->W0_COMPRA:= SW0->W0_COMPRA

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

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

        Case ValType(ParamIXB) cParam== "APO_PesqSI_Sel"
 //lLoop := .T.
      cParam := ParamIXB[1]

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

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

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

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

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

        CaseCASE PARAMIXBcParam == "ANTES_SALVARANTESZERASLD"
            MsgInfo("Entrou no ponto de entrada 'ANTES_SALVARANTESZERASLD'")
            lPElSair := .F.

   //Se true, aborta a execução

        CaseCASE PARAMIXBcParam == "APPENDSLDZERADO"
            MsgInfo("Entrou no ponto de entrada 'APPENDSLDZERADO'")


         WORK->WKPRECO := 50
      Case cParam == "APOSANTES_GET_SISALVAR"
         If nOpcPonto <> 0
            MsgInfo("Entrou no ponto de entrada 'APOSANTES_GET_SI' Seleção de itens.SALVAR'")
         EndIF
      Case cParam == "INICIA_VARIAVEL_CONFERENCIA_FINAL"lPE := .F.

        Case IfcParam nOpcPonto <> 0== "APPEND"
            MsgInfo("Entrou no ponto de entrada 'INICIA_VARIAVEL_CONFERENCIA_FINAL' Conferencia final.APPEND'")
         EndIF
   WORK->WKPRECO := 50

        Case cParam == "APOS_MARCAGET_ITEMSI"
            If nOpcPonto <> 0
                MsgInfo("Entrou no ponto de entrada 'APOS_MARCAGET_ITEMSI' Seleção de itens.")
          EndIF  EndIf
      Case cParam == "APOS_CONFERENCIAFINAL"
        Case IfcParam nOpcPonto <> 0== "ANTES_ESTORNA"
            MsgInfo("Entrou no ponto de entrada 'APOSANTES_CONFERENCIAFINALESTORNA' Conferencia final.")

         EndIF
      Case cParamixbcParam == "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"
    EndINICIA_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


antecipadoPermite a validação do acesso da opção de menu "Elimina Resíduo"
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


lTrataPGAntecipadoNãoNãoNãoNãoNãoNãoNão para a validação do acesso da rotina de elimina resíduo no menu do P.O
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á.