Árvore de páginas

Ponto-de-Entrada: OX001ARS - Reserva de itens em Orçamento de Peças
Abrangências: Microsiga Protheus 10
Versões: Advanced Protheus 5.07 , Advanced Protheus 5.08 , Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Descrição:
O ponto de entrada OX001ARS está localizado na Rotina de Orçamento por Fases, e é executado na reserva de itens do orçamento de Peças, no momento da montagem da array com as informações que serão passados para a integração com a rotina MATA261 (Transferencia Mod. II) do módulo de estoque e custos.
Eventos

while !eof() .and. xFilial("VS3") + cNumOrc == VS3->VS3_FILIAL + VS3->VS3_NUMORC
    //
    DbSelectArea("SB1")
    DbSetOrder(7)
    DBSeek(xFilial("SB1")+VS3->VS3_GRUITE+VS3->VS3_CODITE)
    //
    DbSelectArea("SB5")
    DbSetOrder(1)
    DbSeek( xFilial("SB5") + SB1->B1_COD )
    //
    DbSelectArea("SB1")
    DbSetOrder(1)
    // sequencia
    // produto, descricao, unidade de medida, local/localizacao origem
    // produto, descricao, unidade de medida, local/localizacao destino
    // numero de serie, lote, sublote, data de validade, qunatidade
    // quantidade na 2 unidade, estorno, numero de sequencia
    cLocalDis := VS3->VS3_LOCAL
    cLocalRes := GetMv( "MV_RESITE" )+Space(TamSx3("BF_LOCAL")[1]-Len(GetMv("MV_RESITE")))
    //
    cLocalizDis := SB5->B5_LOCALIZ
    cLocalizRes := IIf(Localiza(SB1->B1_COD),GetMv( "MV_RESLOC" )+Space(TamSx3("BF_LOCALIZ")[1]-Len(GetMv("MV_RESLOC"))),Space(15))
    if (lVerConf .and. VS3->VS3_QTDCON > 0) .or. !lVerConf
        aadd ( aItensNew,{;
        SB1->B1_COD, SB1->B1_DESC, SB1->B1_UM, IIF(lRes,cLocalDis,cLocalRes) , IIF(lRes,cLocalizDis,cLocalizRes) ,;
        SB1->B1_COD, SB1->B1_DESC, SB1->B1_UM, IIF(!lRes,cLocalDis,cLocalRes), IIF(!lRes,cLocalizDis,cLocalizRes) ,;
        "" , "" , "", ;
        criavar('D3_DTVALID'), criavar('D3_POTENCI'), IIF(!lVerConf,VS3->VS3_QTDINI,VS3->VS3_QTDCON) , criavar("D3_QTSEGUM")   ,;
        criavar("D3_ESTORNO"), criavar("D3_NUMSEQ"), criavar("D3_LOTECTL"), criavar("D3_DTVALID"), criavar("D3_ITEMGRD")} )
       
        If ( ExistBlock("OX001ARS") )
            aAuxItens := ExecBlock("OX001ARS",.F.,.F.,{aClone(aItensNew)})
            If ( ValType(aAuxItens) == "A" )
                aItensNew := aClone(aAuxItens)
            EndIf
        EndIf
       
    endif
    // Gravacao do VE6
    OX001VE6(cNumOrc,lRes) // RESERVA / DESRESERVA DO ITEM
    //
    DBSelectArea("VS3")
    DBSkip()
enddo

Programa Fonte
OFIXX001
Sintaxe

OX001ARS - Reserva de itens em Orçamento de Peças ( [ aItensNew ], [ ] ) --> aMatriz

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
aItensNew Array of Record Itens do orçamento.
Array of Record
Retorno
    aMatriz(array_of_record)
  • Itens do orçamento alterados.
Exemplos
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±±±ºPrograma  ³OX001ARS  ºAutor  ³Microsiga           º Data ³  10/05/10   º±±±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±±±ºDesc.     ³ P.E para manipulação das informacoes que serão enviadas    º±±±±º          ³ para a integracao com o MATA261                            º±±±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±±±ºUso       ³                                                            º±±±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/User Function OX001ARS()Local aMatriz := ParamIxb[1]MsgAlert("O Ponto de Entrada 'OX001ARS' foi executado!","Sucesso!")Return aMatriz
Variáveis
Nome Tipo Escopo Pode Alterar descrição
Array of Record Global Não