Árvore de páginas

Versões comparadas

Chave

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

#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

01. DADOS GERAIS

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

...

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.

01 -  Código da TGY

  PARAMIXB[1]: "000000001028897"

02 - Cód.Atendente

   PARAMIXB[2]:"00001989" 

03 - Data Inicial-

   PARAMIXB[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

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

#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.

...