Histórico da Página
LJ7061 - Definir campos a serem copiados na rotina de
copiacópia de
orcamentoorçamento
Descrição: |
Ponto de Entrada na rotina |
Venda Assistida na opção Cópia de Orçamento, para permitir a seleção dos campos a serem desconsiderados na cópia tanto do cabeçalho (SLQ/SL1), quanto dos itens |
(SLR/SL2). |
Eventos: |
O ponto de entrada |
é executado no momento da cópia do orçamento, antes da gravação dos dados. | |||||||
Programa Fonte: | LOJA701.PRW | ||||||
Parâmetros: |
|
|
| |||||||
Retorno: |
|
|
|
Exemplo::
#Include 'TotvsProtheus.ch'
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±³Funcao ³ LJ7106 ³ Autor ³ Varejo ³ Data ³ 12/04/18 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descricao ³ Exemplo de inibição de campos do cabeçalho e itens da venda assistida no momento da cópia do orçamento ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ±±
±±³Uso ³ Automação Comercial ³±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/
User Function LJ7106()
Local aCpoCab Local aCpoCab := paramixbParamixb[1] 01] // Campos do cabeçalho a serem inibidos na copia do Orçamento
Local aCpoItens Orçamento
Local aCpoItens := paramixbParamixb[202] // Campos dos itens a serem inibidos na copia do Orçamento
Local aRetorno := {} Local aRetorno := {}
aAdd(aCpoCab , LQ_ZZCAMPO) //Incluindo campo do cabeçalho a ser inibido na copia do orçamento
aAdd(aCpoItens , LR_ZZCAMPO) //Incluindo campo dos itens a ser inibido na copia do orçamento
aRetorno := {aCpoCab , aCpoItens }
Return aRetorno
// Retorno dos campos a serem desconsiderados na cópia do orçamento
Local aDelCpos := {"LR_DESC","LR_VALDESC"} // Campos que serão removidos do array retornado pela rotina LOJA701
Local nS := 0 // Controle do For
Local nPosDel := 0 // Controle da posição a ser deletada
Local nDel := 0 // Controle de deleção de campos
Local aArea := GetArea()
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Incluindo campos específicos a serem inibidos no momento da cópia do orçamento//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
aAdd(aCpoCab , "LQ_ZZCAMPO") //Campos do cabeçalho a serem inibidos na cópia do orçamento
aAdd(aCpoItens , "LR_ZZCAMPO") //Campos de itens a serem inibidos na cópia do orçamento
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Neste exemplo, os campos LR_DESC e LR_VALDESC, inseridos anteriormente pela rotina LOJA701, serão removidos //
// do array aCpoItens e com isso serão considerados para a cópia do orçamento //
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
For nS := 1 To Len(aDelCpos)
nPosDel := aScan(aCpoItens,{ |x| AllTrim(x) == aDelCpos[nS] })
If nPosDel > 0
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Deletando a posição do campo que será considerado para a cópia do orçamento//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
aDel(aCpoItens,nPosDel)
nDel++//Quantidade de campos deletados
EndIf
Next nS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Refazendo o tamanho do array antes do retorno para a rotina LOJA701//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
aSize(aCpoItens,Len(aCpoItens) - nDel)
aRetorno := {aCpoCab, aCpoItens }
RestArea(aArea)
Return aRetorno