Histórico da Página
...
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: |
|
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 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#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
...