Produto: | Backoffice TOTVS |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | Gestão de Contratos |
Função: | CNTA300 - Contratos |
Ponto de Entrada: | CN200SPC |
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: |
| |||||||||||||||
Retorno: |
|
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.
#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) |