Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Solucoes_totvs
SolucaoTOTVS Prestadores de Serviços Terceirização

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoServiç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:
TECA330A
TECA890.PRW
Função:
At330HR

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

TGY

TFH ou TFG

 

PARAMIXB

aDados[1,1]: "

000000001028897

000099"

02 - Cód.

Atendente

Produto

 

 PARAMIXB

 aDados[1,2]:"

00001989

000000000090

03 - Data Inicial-

 

 PARAMIXB

 aDados[1,3]:

  

04 - Data Fim 

  PARAMIXB[4]:  

05 -Data de Referência

PARAMIXB[5]: 

06 - Turno

PARAMIXB[6]: "001"

07 - Sequência

PARAMIXB[7]: "01"

08 - Calendário Posicionado

PARAMIXB[8]: {}

09 - Calendário Geral

"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

PARAMIXB[8]: {}

aHorasArray

01 - Horário

    01 - Hora Início 

    aHoras[1] : "07:00"

    02- Hora Fim

    aHoras[2] : "16:00"

02 - Agenda do Efetivo

RetornoaHoras

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#INCLUDE 'protheus.ch'
#INCLUDE 'parmtype.ch'
#INCLUDE "FWMVCDEF.CH"

User Function At330HR()

Local cCodTGY := PARAMIXB[1]
Local cCodAtend := PARAMIXB[2]
Local cDtIni := PARAMIXB[3]
Local cDtFim := PARAMIXB[4]
Local cDtRef := PARAMIXB[5]
Local cTurno := PARAMIXB[6]
Local cSeq := PARAMIXB[7]
Local cEntra1 := "07:00"
Local cSaida1 := "12:00"
Local cEntra2 := "13:00"
Local cSaida2 := "16:00"
Local aHoras := {}
Local nI := 1
For nI := 1 To 2
    If nI == 1 
        Aadd(aHoras, {cEntra1,;
                    cSaida1})    ElseIf nI == 2
        Aadd(aHoras, {cEntra2,;
                    cSaida2})
        
    EndIf   
Next nI 
Return {aHoras, aCalend}


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 , sendo elas a primeira o horário de início e a segunda o horário de fim. O array do calendário é passado por parâmetro, ela é gerada apartir do criacalend.conforme o exemplo,


04. DEMAIS INFORMAÇÕES

...

Não há


05. ASSUNTOS RELACIONADOS

...