Histórico da Página
...
Produto: |
| ||||
---|---|---|---|---|---|
Linha de Produto: |
| ||||
Segmento: |
| ||||
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 |
|
---|
|
|
|
|
|
|
|
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
| ||||
Retorno | aRetArray |
---|
PARAMIXB[8]: {}
01 - Horário
01 - Hora Início
aHoras[1] : "07:00"
02- Hora Fim
aHoras[2] : "16:00"
02 - Agenda do Efetivo
1 |
#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}
| #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
...