01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|
Segmento: | Serviços |
---|
Módulo: | Gestão de Serviços |
---|
Função: | TECA910 |
---|
Ticket: | Não há. |
---|
Requisito/Story/Issue (informe o requisito relacionado) : | DSERSGS-5254 |
---|
02. SITUAÇÃO/REQUISITO
Ponto de Entrada para exportação de Marcações, que será habilitado caso o parâmetro MV_GSRHOTP contenha o valor 2
03. SOLUÇÃO
Ponto de Entrada
Descrição: | Microsiga Protheus® |
---|
Localização: | Serviços |
---|
Programa Fonte: | TECA910.PRW |
---|
Função: | At910Marca |
---|
Parâmetros | Nome | Tipo | Descrição |
---|
aCabec | Array | Dados do Cabeçalho (Matrícula do Atendente) da rotina automática, de: aCabec[n, 01] - Nome do campo da Rotina Automática aCabec[n, 02] - Valor do campo da Rotina Automática | aItens | Array | Dados dos itens da rotina automática, onde: aItens[n] - Item a ser inserido: Horários de Marcação do Atendente. Se n for ímpar é uma marcação de Entrada, caso contrário, será uma saída, onde: aItens[n][y, 01] - Nome do campo da Rotina Automática aItens[n][y, 02]- Valor do campo da Rotina Automática | nOpc | Numérico | Opção de Execução da Rotina Automática, onde: 3 - Inclusão 5 - Exclusão | lCab | Lógico | Primeira Execução da rotina |
|
---|
Retorno: | Nome | Tipo | Descrição | Obrigatório |
---|
aRetInc | Array | Retorno de Execução do Ponto de Entrada, onde aRetInc[1] - Lógico - Execução com Sucesso? aRetInc[2] - Array Unidimensional contendo a lista de mensagens de Erro | Sim |
|
---|
Bloco de código |
---|
language | text |
---|
linenumbers | true |
---|
|
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FILEIO.CH"
User Function At910CMa()
Local aRetInc := {.T., {}}
Local cDetCab := ""
Local nY := 0
Local cDetLinha := ""
Local nC := 0
Local cEmp := FWCodEmpFWGrpCompany()
Local cDirArq := "\EXPCSVTEC\"+cEmp+"\" + StrTran(FwCodFil(), " ", "_")+"\"
Local lFirstProc := .F.
Local cMsg := ""
Local lRet := .F.
If ValType(PARAMIXB) == "A" .AND. Len(PARAMIXB) >= 4 .AND. ValType(PARAMIXB[01]) == "A";
.AND. Len(PARAMIXB[01]) > 0 .AND. ValType(PARAMIXB[02]) == "A" .AND. Len(PARAMIXB[02]) > 0
If !ExistDir(cDirArq)
MakeDir("\EXPCSVTEC\")
MakeDir("\EXPCSVTEC\"+cEmp+"\")
MakeDir(cDirArq)
EndIf
aCabec := PARAMIXB[01]
aItens := PARAMIXB[02]
lFirstProc := PARAMIXB[04]
cNomeArq := "U_At910CMa_"+Dtos(Date())+LTrim(Str(PARAMIXB[03]))+".txt"
If lFirstProc .AND. File(cDirArq+cNomeArq)
fErase(cDirArq+cNomeArq)
EndIf
If !File(cDirArq+cNomeArq)
nHandle := FCreate(cDirArq+cNomeArq)
Else
nHandle := FOpen(cDirArq+cNomeArq, FO_READWRITE)
FSeek(nHandle, 0, 2)
EndIf
aCabec := PARAMIXB[01]
aItens := PARAMIXB[02]
If nHandle <> -1
For nC := 1 to len(aCabec)
cDetCab += Alltrim(IIF( ValType(aCabec[nC, 02])<> "D",cValToChar(aCabec[nC, 02]) , DtoS(aCabec[nC, 02])))+"|"
Next nC
For nC := 1 to Len(aItens)
cDetLinha := cDetCab
For nY := 1 to Len(aItens[nC])
cDetLinha += Alltrim(IIF( ValType(aItens[nC, nY, 02])<> "D",cValToChar(aItens[nC, nY, 02]) , DtoS(aItens[nC, nY, 02])))+","
Next nY
cDetLinha := Substr(cDetLinha, 1, Len(cDetLinha)-1) + CRLF
fWrite(nHandle, cDetLinha)
Next nC
lRet := .T.
fClose(nHandle)
Else
cMsg := "Problemas na criação do arquivo"
EndIf
Else
cMsg := "Não enviados dados válidos referente às marcações"
EndIf
aRetInc[1] := lRet
aAdd(aRetInc[2], cMsg)
Return aRetInc |
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
...