Árvore de páginas

Versões comparadas

Chave

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

LJ7061 - Definir campos a serem copiados na rotina de

copia

cópia de orçamento

Descrição:

Disponibilizar P.E

Ponto de Entrada na rotina

de copia de orçamento

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

, disponíveis para copia de orçamentos

(SLR/SL2).

Eventos:

Criado o

O ponto de entrada

LJ7106 para que na rotina de copia de orçamento, seja permitida a seleção dos campos tanto do cabeçalho, quanto dos itens, disponíveis para copia de orçamentos

é executado no momento da cópia do orçamento, antes da gravação dos dados.

Programa Fonte:LOJA701.PRW

Parâmetros:

NomeTipoDescrição
ParamIxb[1]Array
Array com os campos do cabeçalho a serem inibidos na
copia
cópia de orçamento, por padrão.
ParamIxb[2]ArrayArray com os campos do item do orçamento a serem inibidos na
copia
cópia de orçamento, por padrão.
Retorno:
NomeTipoDescrição
ParamIxb[1]ArrayArray com os campos do cabeçalho a serem inibidos na
copia
cópia de orçamento.
ParamIxb[2]ArrayArray com os campos do item do orçamento a serem inibidos na
copia
cópia de orçamento.

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[101                                  // Campos do cabeçalho a serem inibidos na copia do Orçamento 
       Local aCpoItens Orçamento
Local aCpoItens  := paramixbParamixb[2] 02]                                    // Campos dos itens a serem inibidos na copia do Orçamento
Local aRetorno   := {}                         Local aRetorno  := {}

       aAdd(aCpoCab , LQ_ZZCAMPO) //Incluindo campos de cabeçalho a serem inibidos na copia do orçamento

       aAdd(aCpoItens , LR_ZZCAMPO) //Incluindo campos de itens a serem inibidos 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