-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcargarhistorial.prg
61 lines (50 loc) · 1.75 KB
/
cargarhistorial.prg
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
52
53
54
55
56
57
58
59
60
61
* Funcion para cargar el historial de actividades relacionadas con la orden
* Recibe como parametro el numero de orden
* Regresa el historial de actividades en forma de Str
Function CargarHistorial
LParameter cNumOrden
Local nArea,m.Historial,nTDurMin,nServs
nAlias = Select()
m.Historial = ''
nTDurMin = 0
nServs = 0
* Busca en CRM las actividades de la orden
If Not SqlMsl('Temp','Select Crm.ID,Crm.FECHA,Crm.FECHAFIN,Contactos.NOMCONT,Usuarios.NOMUSER,Crm.TIPO,Crm.OBS ' +;
'From Crm '+;
' Left Join Contactos On Crm.NUMCONT == Contactos.NUMCONT ' +;
' Left Join Usuarios On Crm.NUMUSER == Usuarios.NUMUSER ' +;
'Where '+;
'Crm.ACTIVIDAD = .T. ' + ' and '+;
'Crm.NUMORDEN == m.Val1 ',;
cNumOrden)
Return
Endif
* Recorre el temporal
Select Temp
Scan
dH1 = {}
dH2 = {}
m.DurMin = ''
* Almacena las fechas
dH1 = Temp.FECHA
dH2 = Temp.FECHAFIN
* Calcula la duracion de la actividad
If dH2 <> dH1
m.DurMin = Allt(Str(Val(Str(dH2-dH1))/60))
nTDurMin = nTDurMin+(Val(Str(dH2-dH1-60))/60)+1
nServs = nServs+1
Else
m.DurMin = '0'
EndIf
* Almacena en una variable el historial de actividades de la orden
m.Historial = m.Historial+'Fecha: '+MexDate2(SToD(DToS(Temp.FECHA)))+' '+;
SubStr(TToC(Temp.FECHA),12,5)+'-'+SubStr(TToC(Temp.FECHAFIN),12,5)+;
' ('+m.DurMin+')'+Chr(13)+;
'Contacto: '+Proper(Allt(Temp.NOMCONT))+Chr(13)+;
'Usuario: '+Proper(Allt(Temp.NOMUSER))+Chr(13)+;
'Tipo: '+Allt(Temp.TIPO)+Chr(13)+;
'Descripción del servicio realizado:'+Chr(13)+Temp.OBS+Chr(13)+'--------------------'+Chr(13)+Chr(13)
EndScan
* Devolverme al area actual
Select (nAlias)
Return m.Historial+'^'+Allt(Str(nTDurMin))+'^'+Allt(Str(nServs))