Árvore de páginas

Ponto-de-Entrada: MA410BOM - Inclusão de produtos na estrutura do pedido de venda
Versões: Microsiga Protheus 8.11 , Microsiga Protheus 10
Idiomas: Espanhol , Inglês
Descrição:

Ponto de entrada 'Ma410Bom' para inclusão dos produto da estrutura do produtos no pedido de venda.

Programa Fonte
.PRW
Sintaxe

MA410BOM - Inclusão de produtos na estrutura do pedido de venda ( < aBom> ) --> Nil

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
aBom Vetor Array de estrutura do produto. X
Retorno
    Nil(nulo)
  • Nil
Exemplos
User Function Ma410Bom()Local aArea     := GetArea()Local aBOM      := PARAMIXB[1]Local nPProduto := aScan(aHeader,{|x| AllTrim(x[2]) == 'C6_PRODUTO'})Local nPTES     := aScan(aHeader,{|x| AllTrim(x[2]) == 'C6_TES'})Local nPItem    := aScan(aHeader,{|x| AllTrim(x[2]) == 'C6_ITEM'})Local nPTotal   := aScan(aHeader,{|x| AllTrim(x[2]) == 'C6_VALOR'})Local nY        := 0Local nX        := 0Local cItem     := ''//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//³ Adiciona os produtos no aCols                        ³//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙFor nX := 1 To Len(aBOM)  If aScan(aCols,{|x| x[nPProduto]==aBom[nX][1]})==0    cItem := aCols[Len(aCols)][nPItem]    aadd(aCOLS,Array(Len(aHeader)+1))    For nY := 1 To Len(aHeader)      If ( AllTrim(aHeader[nY][2]) == 'C6_ITEM' )        aCols[Len(aCols)][nY] := Soma1(cItem)      Else        aCols[Len(aCols)][nY] := CriaVar(aHeader[nY][2])        EndIf    Next nY    N := Len(aCols)    aCOLS[N][Len(aHeader)+1] := .F.    A410Produto(aBom[nX][1],.F.)    aCols[N][nPProduto]      := aBom[nX][1]    A410MultT('M->C6_PRODUTO',aBom[nX][1])    If ExistTrigger('C6_PRODUTO')      RunTrigger(2,N,Nil,,'C6_PRODUTO')    Endif                       A410SegUm(.T.)    A410MultT('M->C6_QTDVEN',aBom[nX][2])    If ExistTrigger('C6_QTDVEN ')      RunTrigger(2,N,Nil,,'C6_QTDVEN ')    Endif                         If Empty(aCols[N][nPTotal]) .Or. Empty(aCols[N][nPTES])      aCOLS[N][Len(aHeader)+1] := .T.    EndIf  EndIfNext nXRestArea(aArea)Return Nil