Árvore de páginas

Versões comparadas

Chave

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

...

Descrição:

Permite customizar a marcação da Solicitação de Compras / Pedido de Compras

Eventos:

Executado no momento de selecionar/marcar o item da solicitação de Compra na rotina "Importar Solicitações de Compra"

Fonte do Programa:

CNTA200.PRW

Função:

CN200AddMark

Parâmetros:

Posição

Tipo

Descrição

PARAMIXB[1]CaractereMarca
PARAMIXB[2]ArrayArray com as marcações
PARAMIXB[3]CaractereCampo de validação
PARAMIXB[4]CaractereAlias do arquivo (SC1 ou SC7)
Retorno:

Valentia

Tipo

Descrição

aMarcaArray

Array com as marcações customizadas

Exemplo


Situação: No momento de criar o contrato do tipo 1 (Compra), ao selecionar/marcar o item da solicitação de compras (SC1), a rotina importa todos os itens dessa solicitação. Com esse ponto de entrada podemos customizar impedindo que a rotina selecione automaticamente todos os itens, carregando apenas um item da solicitação. Nesse exemplo, selecionarei uma solicitação com mais de 1 item e importarei sempre o

...

último item.

Bloco de código
languagetext
themeEclipse
firstline1
titleExemplo
linenumberstrue
#INCLUDE "PROTHEUS.CH"

...



/*/{Protheus.doc} CN200SPC

...


    Permite customizar as marcações no momento de importar os itens da Solicitação de Compras ou Pedido de Compras

@type function
@version 
@since 06/03/2024

...


@return Array com as

...

 marcações customizadas

...


/*/

...


User Function CN200SPC()

...


    

...


    Local aArea         := GetArea()

...


    Local aRetorno      := {}

...


    Local cMarca        := paramixb[1]

...


    Local cValida       := paramixb[3]

...


    Local cQuery        := ""

...


    Local cAlias        := GetNextAlias()

...



    //QUERY PARA SELECIONAR O

...

 ÚLTIMO ITEM DA

...

 SOLICITAÇÃO SELECIONADA NA

...

 IMPORTAÇÃO
    cQuery := " SELECT    SC1.C1_FILIAL, SC1.C1_NUM, SC1.C1_ITEM, SC1.R_E_C_N_O_ "

...


    cQuery += " FROM    " + RetSqlName("SC1") + "   SC1 "

...


    cQuery += " WHERE    SC1.C1_FILIAL                = '" + xFilial("SC1") + "' "

...


    cQuery += " AND        SC1.C1_NUM                    = '" + SC1->C1_NUM + "' "

...


    cQuery += " AND        SC1.C1_ITEM                    = ( "

...


    cQuery += "                                         SELECT    MAX(C1_ITEM) "

...


    cQuery += "                                         FROM    " + RetSqlName("SC1") + " "

...


    cQuery += "                                         WHERE    C1_FILIAL   = '" + xFilial("SC1") + "' "

...


    cQuery += "                                         AND        C1_NUM        = '" + SC1->C1_NUM + "' "

...


    cQuery += "                                         AND        D_E_L_E_T_  = '' "

...


    cQuery += "                                     ) "

...


    cQuery += " AND        SC1.D_E_L_E_T_                = ' ' "

...



    cQuery := ChangeQuery(cQuery)                                                              

...


    dbUseArea(.T., 'TOPCONN', TCGENQRY(,,cQuery),cAlias, .F., .T.)       

...


    dbSelectArea(cAlias)

...



    If (cAlias)->(!EOF())

...



        SC1->(DbGoTo((cAlias)->R_E_C_N_O_))

...


        RecLock("SC1",.F.)

...


            &(cValida) := cMarca

...


        SC1->(MsUnlock())

...


        aAdd(aRetorno,(cAlias)->R_E_C_N_O_)

...


    EndIf

...



    (cAlias)->(DbCloseArea())

...


        

...


    RestArea(aArea)

...



Return(aRetorno)


03.  ASSUNTOS RELACIONADOS

...