Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Prestadores de Serviços Terceirização

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:Terceirização (SIGATEC)
Função:teca890.prw
País:Brasil
Ticket:Não há
Requisito/Story/Issue (informe o requisito relacionado) :DSERSGS-13911


02. SITUAÇÃO/REQUISITO

É necessário incluir mais colunas nas consultas dos campos de apontamento de materiais TFT_CODTFH e TFS_CODTFG.

03. SOLUÇÃO

Ponto de Entrada

Descrição:Microsiga Protheus®
Localização:Serviços
Programa Fonte:TECA890.PRW
Função:

AT890CMP

Parâmetros

Nome

Tipo

Descrição

PARAMIXBArray

Array para informações de alteração de horário.

aDados := PARAMIXB[1] 

01 -  Código da TFH ou TFG

  aDados[1,1]: "000099"

02 - Cód. Produto

   aDados[1,2]:"000000000090" 

03 - Data Inicial-

   aDados[1,3]: "CAMISA P"


aCabec    := PARAMIXB[2]

01 -  Código da TFH ou TFG

  aCabec[1,1]: "Código"

02 - Cód. Produto

   aCabec[1,2]:"Produto" 

03 - Data Inicial-

   aCabec[1,3]: "Desc. Produto"


cTbl   := PARAMIXB[3] (Tabela da consulta)

aRetArrayArray

aRetArray := {aDados,aCabec}

RetornoaRetArray

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51



#Include "Protheus.ch"


User Function AT890CMP()
Local aDados := PARAMIXB[1]
Local aCabec    := PARAMIXB[2]
Local cTbl      := PARAMIXB[3]
Local nX        := 0
Local nY        := 0
Local aCabecPe  := {}
Local aAreaSB1  := {}

DbSelectArea("SB1")
aAreaSB1 := SB1->(GetArea())
SB1->(DbSetOrder(1))
If cTbl == "TFG"
    aCabecPe  := {"Tipo","Unidade"}
    For nY := 1 to Len(aCabecPe)
        aAdd(aCabec, aCabecPe[nY] )
        For nX := 1 to Len(aDados)
            If SB1->(DbSeek(xFilial("SB1")+aDados[nX,2]))
                If aCabecPe[nY] == "Tipo"
                    aAdd(aDados[nX],SB1->B1_TIPO)
                ElseIf aCabecPe[nY] == "Unidade"
                    aAdd(aDados[nX],SB1->B1_UM)
                Endif
            Else
                aAdd(aDados[nX],"")
            Endif
        Next nX
    Next nY
ElseIf cTbl == "TFH"
    aCabecPe  := {"Tipo","Unidade"}
    For nY := 1 to Len(aCabecPe)
        aAdd(aCabec, aCabecPe[nY] )
        For nX := 1 to Len(aDados)
            If SB1->(DbSeek(xFilial("SB1")+aDados[nX,2]))
                If aCabecPe[nY] == "Tipo"
                    aAdd(aDados[nX],SB1->B1_TIPO)
                ElseIf aCabecPe[nY] == "Unidade"
                    aAdd(aDados[nX],SB1->B1_UM)
                Endif
            Else
                aAdd(aDados[nX],"")
            Endif
        Next nX
    Next nY
Endif
RestArea(aAreaSB1)
aRetArray := {aDados,aCabec}
Return aRetArray


Obs: O retorno sempre deverá ser um array com duas posições conforme o exemplo,


04. DEMAIS INFORMAÇÕES

Não há


05. ASSUNTOS RELACIONADOS