Вы находитесь на странице: 1из 28

Pantallas Clarify

PANTALLAS DE CLARIFY ANTECEDENTES: Clarify es un CRM que es usado por diferentes reas en Post-Venta, entre ellas CARE (Centro de Atencin a Redes Empresariales; este sistema se basa en pantallas (FronEnd) que extrae o deja informacin en un modelo de datos ( base de datos lgica), y est BD lgica es la que se conecta a la base de datos fsica (que est en Oracle), por lo que una tabla o vista lgica puede estar compuesta por una o varias fsicas. Para poder usar alguna FORM este debe de estar dentro del Resource Configuration, y a ese Resource Configuracin debe pertenecer el usuario que desea abrir la FORM.

PANTALLAS / FORMS: Nombre de pantalla Clarify: New Case Id de pantalla Clarify: 411 User Versin de pantalla Clarify: ZNT_GRC_CPP rea que lo utiliza: CARE Imagen de la pantalla:

Documentacin Clarify

Pg. 1

Pantallas Clarify

TABLAS LOGICAS/FISICAS DE LA FORM/PANTALLA: Las Tablas Lgicas a las que accede esta FORM son: Rol_contct, Site, Phone_log, Extactcase, Site_part, Contract, Pmhpml_view, Supercasev, Qry_scasev, Scm_view, Cas_contr_prog, Contr_schedule, Medios_encasos, Contact, site_part, servicios_contratados, c_schedule_view.

Cada una de las anteriores se conecta a las siguientes tablas fsicas: Rol_contct: o Address, o Bus_org, o Contact, o Country, o Site, o Contact_role. La relacin entre estas tablas fsicas es:

Documentacin Clarify

Pg. 2

Pantallas Clarify

Site: o Site. Phone_log: o Phone_log. Site_part: o Site_part. Contract: o Contract Pmhpml_view: o Mod_level, o Part_num, o Part_class. La relacin entre estas tablas fsicas es:

Supercasev: o Condition, o Contact, o Case, o Site, o Gbst_elm. La relacin entre estas tablas fsicas es:

Documentacin Clarify

Pg. 3

Pantallas Clarify

Qry_scasev: o Case, o Contact, o User, o Site, o Gbst_elm. La relacin entre estas tablas fsicas es:

Scm_view: o Site_part, o Part_num, o Mod_level, o Site, La relacin entre estas tablas fsicas es:

Cas_contr_prog: o Biz_cal, o Part_num, o Contr_itm, o Entitlement, La relacin entre estas tablas fsicas es:

Contr_schedule: o Contr_schedule. Medios_encasos:

Documentacin Clarify

Pg. 4

Pantallas Clarify

o Medios_encasos. Contact, o Contact. Site_part: o Site_part. servicios_contratados: o servicios_contratados. c_schedule_view: o contr_schedule, o contract, o user, o Price_prog, o Site. La relacin entre estas tablas fsicas es:

NOTA: se debe dejar en claro que mucha de la funcionalidad en los botones es propia del Clarify, por lo que se puede encontrar en cdigo la llamada: me.DoDefault que es la forma de decirle a Clarify antes/despus de hacer este cdigo, haz ahora lo que haces por default para esta operacin. NOTA2: la funcionalidad exacta que hace Clarify por default se desconoce, pues no hay documentacin donde se mencione, por lo que no se sabe que tablas/campos (lgicos) son afectados.

EVENTOS DE FORM/PANTALLA: Load: Funcionalidad: Deshabilita los siguientes campos (para que no se puedan editar): Siteid, Sitename,
Pg. 5

Documentacin Clarify

Pantallas Clarify

Alt_site_name, Txtfolio, Ent_serial_number, Alt_contact, Fname, Lname, Country_code, Primary_phone, Districta, Txtreftel.

Asigna al campo tinicio la fecha actual. Llena la lista lstSTGest con los valores: Resolv. Remotamente, Rev. Medio Falla, Escalado Proveedor, Anlisis e Invest., Gestionado GFC, Proveedor Atendiendo, Escalado 2do Nivel, Recien Creado.

Llena la lista lstSTNoGs con los valores: Cerrado-Pendiente, Despachado, Espera del Cliente, Programado, Documentado POD, Rev. Medio Asist. AP, Ing Atendiendo, Refacc Pendientes, Refacc en translado, Monitoreo.

Se hace una validacin del usuario para saber si pertenece a CIC (el resultado se guarda en un campo oculto: true o false) y as se pueda hacer posteriormente la asignacin automtica. Cdigo:
Sub FORM_Load()

Documentacin Clarify

Pg. 6

Pantallas Clarify

Dim brUser Dim lstUser Dim recUser Dim lstT1 Dim lstT2

As New BulkRetrieve As list As record As New list As New list

lstT1.ItemType = "string" lstT2.ItemType = "string" Me.DoDefault SITEID.Enabled = FALSE SITENAME.Enabled = FALSE ALT_SITE_NAME.Enabled = FALSE 'TMN TXTFOLIO.Enabled = FALSE 'TMN ENT_SERIAL_NUMBER.Enabled = FALSE 'TMN ComingFromNewGrid = False whatGrid = 0 saveboolrep = FALSE saveboolprob = FALSE ALT_CONTACT.Enabled=FALSE FNAME.Enabled=FALSE LNAME.Enabled=FALSE COUNTRY_CODE.Enabled=FALSE PRIMARY_PHONE.Enabled=FALSE DISTRICTa.Enabled=FALSE tinicio = app.CurrentDate cobj_strDispatch.Fill "0" 'FXG txtRefTel.Enabled = true ventana_refs = false serv_contrata = 0 CreaCommit = true bEnviado = false strMensaje = "" bSoyCIC = FALSE lstT1.AppendItem "Resolv. Remotamente", "Rev. Medio Falla", "Escalado Proveedor", "Anlisis e Invest." lstT1.AppendItem "Gestionado GFC", "Proveedor Atendiendo", "Escalado 2do Nivel", "Recien Creado" Set lstSTGest = lstT1 lstT2.AppendItem "Cerrado-Pendiente", "Despachado", "Espera del Cliente", "Programado", "Documentado POD" lstT2.AppendItem "Rev. Medio Asist. AP", "Ing Atendiendo", "Refacc Pendientes", "Refacc en translado", "Monitoreo" Set lstSTNoGs = lstT2 'Valida si es usr del CIC para la asignacion automatica If app.UserName = "sa" Then '!!QUITAR cmdTestAA.Visible = TRUE End If If app.UserName = "slgomezf" Or app.UserName = "sa" Then bSoyCIC = TRUE Else brUser.SimpleQuery 0, "user" brUser.AppendFilter 0, "login_name", cbEqual, app.UserName brUser.RetrieveRecords Set lstUser = brUser.GetRecordList(0) Set recUser = lstUser.ItemByIndex(0) If recUser.GetField("wireless_email") = "CIC" Then bSoyCIC = TRUE End If End If End Sub

'TMN 'TMN

'TMN

Documentacin Clarify

Pg. 7

Pantallas Clarify

FUNCIONES EN CODE DE FORM/PANTALLA: ReportError: Funcionalidad: Muestra en pantalla el mensaje del error en caso de que la fecha de creacin no sea vlida. Cdigo:
Sub ReportError() Dim caseRec as Record debug.print "!!!ERROR !!! MANTENGA ESTA PANTALLA Y LLAME INMEDIATAMENTE A EL AREA DE CLARIFY",ebCritical,"Error Critico" set caseRec = Cobj_CASE_OBJ.Contents debug.print "Case",caseRec.GetField("id_number"), " Eror en creation_time ",_ caseRec.GetField("creation_time") End Sub

Relate_Sites: Funcionalidad: Funcin que relaciona el sitio y el contacto del Reporting Site con el caso Cdigo:
Sub relate_sites() Dim bulkcase As New BulkSave Dim siterep As New record Dim caserec As New record Dim caseobjid As String Dim siterepobj As String Dim contprobobj As String Dim contrepobj As String Set caseRec = cobj_CASE_OBJ.Contents caseobjid = caseRec.GetField("objid") If (saveboolrep = TRUE) And (caseobjid <> "0") Then Set siterep = cobj_ALT_SITE_OBJ.Contents siterepobj = siterep.GetField("objid") bulkcase.RelateRecordsFromToID "case", caseobjid, "site", siterepobj, "case_distr2site" bulkcase.RelateRecordsFromToID "case", caseobjid, "contact", repobjid, "alt_contact2contact" bulkcase.Save End If

Documentacin Clarify

Pg. 8

Pantallas Clarify

End Sub

Tiempo_Creacin: Funcionalidad: Funcin para medir el tiempo que tarda el usuario en crear un caso, el tiempo se mide desde que abre la ventana hasta que se cierra la ventana Cdigo:
Sub tiempo_creacion() Dim fecha As Date Dim fecha2 As Date Dim cadfecha As String Dim caserec As New record Dim aux As String Dim aux1 As String Dim brtc As New BulkRetrieve Dim bstc As New BulkSave Dim lsttc As New list fecha2 = format(app.CurrentDate, "Long Time") fecha = format(tinicio,"Long Time") cadfecha = format((fecha2 - fecha),"Long Time") cadfecha = "0:"+mid$(cadfecha,4,6) Set caserec = cobj_CASE_OBJ.Contents aux = caserec.GetField("objid") aux1 = "'"+aux+"'" If aux1 > "'0'" Then brtc.SimpleQuery 0, "case" brtc.AppendFilter 0, "objid", cbequal, aux brtc.RetrieveRecords Set lsttc = brtc.GetRecordList(0) Set caserec = lsttc.ItemByIndex(0) caserec.SetField "x_creation_t", cadfecha bstc.UpdateRecord caserec bstc.Save Else caserec.SetField "x_creation_t", cadfecha cobj_CASE_OBJ.Fill caserec End If End Sub

EnviaSMS: Funcionalidad: Funcin para el envo automtico de notificaciones va SMS al contacto seleccionado para la creacin del caso.

Documentacin Clarify

Pg. 9

Pantallas Clarify

Cdigo:
Sub EnviaSMS() Dim bsSMSEnvio Dim recSMSEnvio Dim strCelCompleto Dim strMsgEnvio As New BulkSave As New Record As String As String

strCelCompleto = "+52" & Trim$(strCelular) strMsgEnvio = Left$(strMensaje, 119) Set recSMSEnvio.RecordType = "sms_envio" recSMSEnvio.SetField "numero", strCelCompleto recSMSEnvio.SetField "mensaje", strMsgEnvio recSMSEnvio.SetField "status", "WAIT" bsSMSEnvio.InsertRecord bsSMSEnvio.Save bEnviado = true End Sub recSMSEnvio

EnviaMail: Funcionalidad: Funcin para el envo automtico de notificaciones va correo al contacto seleccionado para la creacin del caso. Cdigo:
Sub EnviaMail() Dim bsComTmplte As New bulkSave Dim bsTimeBomb As New bulkSave Dim recComTmplte As New record Dim recTimeBomb As New record Dim strSubject Dim strBody Dim strAction As String As String As String

strSubject = "Notificacion Automatica de Apertura de Caso" strBody = strMensaje strAction = "TO:" + strMail + Chr(13) + Chr(10) + "CC:" + Chr(13) + Chr(10) strAction = strAction + "RE:" + strSubject + Chr(13) + Chr(10) + Chr(13) + Chr(10) strAction = strAction + strBody '/*******************************************************************/ '/* Se crea el registor en com_tmplte */ '/*******************************************************************/ recComTmplte.RecordType = "com_tmplte"

Documentacin Clarify

Pg. 10

Pantallas Clarify

recComTmplte.SetField "title", "Notificacion Automatica Apertura Caso" recComTmplte.SetField "flags", 1552 recComTmplte.SetField "type", 2 recComTmplte.SetField "urgency", 2 recComTmplte.SetField "action", strAction bsComTmplte.InsertRecord recComTmplte bsComTmplte.Save recTimeBomb.RecordType = "time_bomb" recTimeBomb.SetField "title", "Your title" recTimeBomb.SetField "end_time", App.CurrentDate bsTimeBomb.InsertRecord recTimeBomb bsTimeBomb.RelateRecords recTimeBomb,recComTmplte,"trckr_info2com_tmplte" bsTimeBomb.RelateRecordsToID recTimeBomb,"employee",App.EmployeeObjID,"cmit_creator2employee" bsTimeBomb.Save bEnviado = true End Sub

DESCRIPCIN DE CADA CAMPO DE LA FORM/PANTALLA: REPORTING SITE:

Descripcin: Aqu se muestra tanto el ID como el NOMBRE del site que se est reportando el problema. Origen: Este campo se obtiene del Contextual Object ALT_SITE_OBJ y es de tipo texto. Para el campo ID se obtiene de la tabla SITE del campo x_comodin_3 y para el campo NAME se obtiene de la tabla SITE y del campo name. Condiciones: los dos campos son visibles y el de NAME es requerido/obligatorio. NOTA: estos campos se llenan con la funcionalidad del botn Rep. SITE:

LISTA DE CONTACTOS DEL REPORTING SITE:

Documentacin Clarify

Pg. 11

Pantallas Clarify

Descripcin: muestra los contactos relacionados con el SITE. Origen: Este campo muestra tres columnas:

El Nombre, apellido y telfono del contacto provienen de la tabla CONTACT de los campos first_name, last_name y phone respectivamente. Condiciones: ninguna. NOTA: estos campos se llenan con la funcionalidad del botn Rep. SITE. NOTA2: actualmente no se usa.

CONTACTO DEL REPORTING SITE:

Descripcin: muestra el nombre del contacto que reporta el site. Origen: este campo se llena de la informacin de la forma de contacto (NOTA: al momento de darle click en el botn con los Rep. Site aparece la form de site y contactos relacionados a este, por lo que al seleccionar de ah regresa a esta pantalla con esos datos que se seleccionaron). Condiciones: es un campo requerido y a su vez visible. NOTA: estos campos se llenan con la funcionalidad del botn Rep. SITE.

Documentacin Clarify

Pg. 12

Pantallas Clarify

PROBLEM SITE:

Descripcin: muestra el SITE que reporta el problema. Origen: tanto el ID del site como el NAME provienen del Contextual Object CONTACT_VIEW, el cul extrae la informacin de la tabla rol_contct y los campos son site_x_comodin_3 y site respectivamente. Condiciones: los dos campos son visibles y sitename es obligatorio. NOTA: estos campos se llenan con la funcionalidad del botn Prob. SITE:

LISTA DE CONTACTOS DEL PROBLEM SITE:

Descripcin: muestra los contactos relacionados con el SITE. Origen: Este campo muestra tres columnas:

El Nombre, apellido y telfono del contacto provienen de la tabla CONTACT de los campos first_name, last_name y phone respectivamente.

Documentacin Clarify

Pg. 13

Pantallas Clarify

Condiciones: ninguna. NOTA: estos campos se llenan con la funcionalidad del botn Prob.. SITE. NOTA2: actualmente no se usa.

CONTACTO DEL PROBLEM SITE:

Descripcin: muestra el nombre del contacto del site que tiene el problema. Origen: este campo se llena de la informacin de la forma de contacto (NOTA: al momento de darle click en el botn con los Prob. Site aparece la form de site y contactos relacionados a este, por lo que al seleccionar de ah regresa a esta pantalla con esos datos que se seleccionaron). Para el nombre: Tabla lgica: rol_contct, campo: first_name. Para el Apellido: Tabla lgica: rol_contct, campo: last_name. Condiciones: es un campo requerido y a su vez visible. NOTA: estos campos se llenan con la funcionalidad del botn Prob. SITE.

TELEFONO DEL CONTACTO DEL PROBLEM SITE:

Descripcin: muestra el telfono del contacto del site que tiene el problema. Origen: este campo se llena de la informacin de la forma de contacto (NOTA: al momento de darle click en el botn con los Prob. Site aparece la form de site y contactos relacionados a este, por lo que al seleccionar de ah regresa a esta pantalla con esos datos que se seleccionaron). Los datos vienen del Contextual Object

Documentacin Clarify

Pg. 14

Pantallas Clarify

contact_view de la tabla rol_contct y los campos usados son: country_code, phone y district respectivamente. Condiciones: es un campo requerido y a su vez visible. NOTA: estos campos se llenan con la funcionalidad del botn Prob. SITE.

TIPO DE SITE:

Descripcin: campos de tipo optionbutton que son seleccionados por el usuario, ya sea una u otro. Origen: no aplica. Condiciones: visibles y por default Prob.Site.

FOLIO:

Descripcin: campo de tipo texto donde se captura el folio. Origen: no aplica. Condiciones: visible.

REFERENCIA:

Descripcin: campo tipo texto donde se capturo / visualiza la referencia del caso. Origen: Este proviene del Contextual Object case_obj de la tabla case y del campo x_referencia. Condiciones: es visible.

Documentacin Clarify

Pg. 15

Pantallas Clarify

NO. SERIE:

Descripcin: muestra la informacin del no. De serie. Origen: este dato proviene del contextual object ent_part_install_obj y a su vez de la tabla site_part del campo serial_no. Condiciones: es visible y no editable.

TITULO DEL CASO:

Descripcin: campo donde se captura y visualiza el ttulo de caso a crear. Origen: este dato proviene del contextual objetc case_obj que a su vez es de la tabla case del campo title. Condiciones: es un campo visible, editable y requerido.

REFERENCIA TELECORP PARA EL CASO:

Descripcin: campo donde se captura y visualiza la referencia telecorp relacionada al caso que se esta creando. Origen: este dato proviene del contextual object ref_telecorp" y en el campo del mismo nombre. Condiciones: es editable y visible.

Documentacin Clarify

Pg. 16

Pantallas Clarify

BOTON REPORTING SITE:

Descripcin: este botn manda llamar la form de seleccin de contactos, el funcionamiento es propio de Clarify. Origen: no aplica. Condiciones: es visible y est habilitado.

BOTON COPY SITE:

Descripcin: este botn hace la funcionalidad de copiar la informacin del Problem Site hacia los campos del Reporting Site. Origen: este botn hace la funcionalidad va cdigo:
Sub CpySite_Btn_Click() Dim nombre as String Dim apellido as String Dim i as Integer Dim RepSiteRec As New RECORD '********* Dim SqlStatement As String Dim toDB As New SQLDB Dim lstpuntas As New list Dim folio As String Dim servicio As String Dim no As Integer Dim lstfolio As New list Dim lstservicio As New list Dim count As Integer Dim folioR As String Dim punta_udt As puntas Dim IDsitio As String Dim br As New BulkRetrieve Dim siteList As List

Documentacin Clarify

Pg. 17

Pantallas Clarify

Dim siteRecord As Record Dim contactRoleList As List Dim contactList As List Dim allContactList As New List '************ RepSiteRec.RECORDTYPE = "case" Set RepSiteRec = COBJ_ALT_SITE_OBJ.CONTENTS site_name_in.SELSTART = 1 site_name_in.SELLENGTH = Len(RepSiteRec.GETFIELD("name")) site_name_in.SELTEXT = RepSiteRec.GETFIELD("name") i = InStr(ALT_CONTACT.TEXT," ") If i <> 0 Then nombre = Mid$(ALT_CONTACT.TEXT,1,i-1) apellido = Mid$(ALT_CONTACT.TEXT,i+1,Len(ALT_CONTACT.TEXT)) End If cobj_CONTACT_VIEW.Refresh cobj_CONTACT_VIEW.Refresh End Sub

Condiciones: visible y habilitado.

BOTON PROBLEM SITE:

Descripcin: este botn manda llamar la funcin FindCaller la cul al final llena la informacin del problem site y su contacto; el cdigo es:
Sub FINDCALLER_Click() If ComingFromNewGrid Then ComingFromNewGrid = False Select Case whatgrid Case 1 findcaller.Value = 1 Case 2 busca_nombre_problem_site Case 3 busca_id_problem_site Case 4 busca_nombre_reporting_site Case 5 busca_id_reporting_site Case 6 busca_reftel whatgrid = 0

Documentacin Clarify

Pg. 18

Pantallas Clarify

End Select Else Me.DoDefault End If End Sub

NOTA: las opciones del case del cdigo ya no se usan actualmente. Origen: no aplica. Condiciones: es visible y est habilitado.

BOTON SAVE DE LA CASE/FORM:

Descripcin: este botn al final guarda la informacin del caso pero antes realiza varias operaciones: Valida que los campos necesarios hayan sido capturados: o Contrato, o Parte, o Clase de servicio N1, N2, o Tipo de servicio, o Condicin comercial 1 y 2, o Tipo de cliente y o Regin. Se manda llamar la funcin relate_sites (funcin descrita anteriormente dentro de este mismo documento); Valida que la fecha de creacin sea correcto, esto es, que no est en blanco, sea menor al da de creacin y sea una fecha vlida; Relaciona el caso que se est creando con los servicios contratados; Se guarda en las notas del caso el mensaje de que el caso se acaba de crear con la siguiente informacin:

Documentacin Clarify

Pg. 19

Pantallas Clarify

o Su falla reportada a las XXX horas en el sitio XXX se atender con el nmero XXXX y fue atendido por XXX Se registra en el notes_log (actividades de usuarios dentro de la aplicacin) el mismo mensaje del punto anterior, relacionando este registro del notes_log con el usuario. Ejecuta el me.DoDefault (ejecuta sus procesos internos, propios del Clarify)

El cdigo es el siguiente:
Sub SAVE_Click( ) Dim caseRec as Record '''ggb inicio 16/jun/99 Dim xregion as String Dim xsureg_1 as String Dim xsureg_2 as String Dim xcomercial As String Dim t_falla As String Dim xcclist1 As String Dim xcclist2 As String Dim xsubreg2 As String Dim xconcepto As String Dim xconcepto1 As String Dim xsubreg1 As String Dim xseverity As String Dim xzona As String ' FXG - variables para relacionar el caso con el servicio contratado Dim brServ As New bulkretrieve Dim bsServicio As New bulksave Dim recServicio As record Dim recCase1 As record Dim lstServ As list 'FXG - Variables para la notificacion automatica Dim brInfo As New BulkRetrieve Dim bsNotes As New BulkSave Dim bsActEntry As New BulkSave Dim bsCase As New BulkSave Dim recContact As New record Dim recCase As New record Dim recNotes As New record Dim recActEntry As New record Dim recUser As record Dim recGbstElm As record Dim recGbstElm1 As record Dim lstUser As list Dim lstGbst As list Dim lstGbst1 As list Dim strHora As String Dim strPaso1 As String Dim strPaso2 As String Dim strSiteID As String Dim strNota As String cobj_strDispatch.Empty 'FXG

Documentacin Clarify

Pg. 20

Pantallas Clarify

cobj_strDispatch.Fill "1" xregion = Label42.Caption xsureg_1 = Label43.Caption xsureg_2 = Label44.Caption xcomercial = Label50.Caption ''' Alta_Fecha Set caseRec = cobj_CASE_OBJ.Contents 'tmn If Len(caseRec.GetField ("x_concepto")) < 2 Then 'tmn caseRec.SetField "x_concepto", "Seleccione Contrato" caseRec.SetField "x_diag_refac", "Seleccione Parte" cobj_CASE_OBJ.Fill caserec me.Refresh End If 'GGB inicio xcclist1 = caseRec.GetField ("cclist2") If xcclist1 = "Seleccione" Then msgbox "El Pop-up de Clase de Servicio N1 debera ser diferente de 'Seleccione'" Exit Sub End If xcclist2 = caseRec.GetField ("cclist1") If xcclist2 = "Seleccione" Then msgbox "El Pop-up de Clase de Servicio N2 debera ser diferente de 'Seleccione'" Exit Sub End If xsubreg2 = caseRec.GetField ("x_subreg2") If xsubreg2 = "Seleccione" Then msgbox "El Pop-up de Tipo de Servicio debera ser diferente de 'Seleccione'" Exit Sub End If xconcepto = caseRec.GetField ("x_concepto") If xconcepto = "Seleccione" Then msgbox "El Pop-up de Condicion Comercial 1 debera ser diferente de 'Seleccione'" Exit Sub End If xconcepto1 = caseRec.GetField ("x_concepto_1") If xconcepto1 = "Seleccione" Then msgbox "El Pop-up de Condicion Comercial 2 debera ser diferente de 'Seleccione'" Exit Sub End If xsubreg1 = caseRec.GetField ("x_subreg1") If xsubreg1 = "Seleccione" Then msgbox "El Pop-up de Tipo de Cliente debera ser diferente de 'Seleccione'" Exit Sub End If xzona = caseRec.GetField ("x_zona") If xzona = "Seleccione" Then msgbox "El Pop-up de Region debera ser diferente de 'Seleccione'" Exit Sub End If

Documentacin Clarify

Pg. 21

Pantallas Clarify

'GGB fin t_falla = caseRec.GetField("creation_time") caseRec.SetField "x_tiemp_falla", t_falla caseRec.SetField "x_tiemp_resp", t_falla 'caseRec.SetField "x_comodin_3", txtRefTel.Text result = Me.DoDefault Set caseRec = Cobj_CASE_OBJ.Contents relate_sites If (IsDate(caseRec.GetField("creation_time")) = False) Then ReportError Exit Sub End If If (CDate(caseRec.GetField("creation_time")) < CDate("01/01/1970 00:00:00")) Then ReportError Exit Sub End If cobj_strDispatch.Empty cobj_strDispatch.Fill "0" 'FXG

me.NotifyById 1020, cbFirstMessage +5, "SHOW" If serv_contrata > 0 Then brServ.SimpleQuery 0, "servicios_contratados" brServ.AppendFilter 0, "objid", cbEqual, serv_contrata 'CDbl(Strg) brServ.RetrieveRecords Set recCase1 = cobj_CASE_OBJ.Contents Set lstServ = brServ.GetRecordList(0) If lstServ.Count > 0 Then Set recServicio = lstServ.ItemByIndex(0) bsServicio.UpdateRecord recCase1 bsServicio.RelateRecords recCase1, recServicio, "case2serv_contra" bsServicio.Save Else app.MsgBox "ERROR: Al intentar asociar el caso con el servicio contratado. Favor de comunicarse con el Admistrador del sistema." End If End If If Not(bEnviado) Then Set recContact.RecordType = "rol_contct" Set recContact = cobj_CONTACT_VIEW.Contents Set recCase.RecordType = "case" Set recCase = cobj_CASE_OBJ.Contents strCelular = recContact.GetField("x_num_celular") strMail = recContact.GetField("e_mail") strNombre = recContact.GetField("first_name") strSiteID = recContact.GetField("site_id") strCaseID = recCase.GetField("id_number")

Documentacin Clarify

Pg. 22

Pantallas Clarify

strNota = recCase.GetField("case_history") strPaso1 = app.CurrentDate strPaso2 = Right$(strPaso1, 13) strHora = Left$(strPaso2, 5) strMensaje = strNombre + " su falla reportada a las " + strHora + " en el sitio " + strSiteID strMensaje = strMensaje + " se atendera c/el # " + strCaseID + ", ATE. " + app.UserName If bEnviado Then strNota = strNota+"*** NOTES "+strPaso1+" "+app.UserName+" Action Type: Retroalimentacion"_ +Chr(10)+Chr(32)+strMensaje+Chr(10)+Chr(32)+"" recCase.SetField "case_history", strNota bsCase.UpdateRecord bsCase.Save cobj_CASE_OBJ.Refresh Set recNotes.RecordType = "notes_log" Set recActEntry.RecordType = "act_entry" brInfo.SimpleQuery 0, "user" brInfo.AppendFilter 0, "login_name", cbEqual, App.UserName brInfo.SimpleQuery 1, "gbst_elm" brInfo.AppendFilter 1, "objid", cbEqual, "268435974" brInfo.SimpleQuery 2, "gbst_elm" brInfo.AppendFilter 2, "objid", cbEqual, "268435540" brInfo.RetrieveRecords Set lstUser = brInfo.GetRecordList(0) Set lstGbst = brInfo.GetRecordList(1) Set lstGbst1 = brInfo.GetRecordList(2) Set recUser = lstUser.ItemByIndex(0) Set recGbstElm = lstGbst.ItemByIndex(0) Set recGbstElm1 = lstGbst1.ItemByIndex(0) recNotes.SetField "creation_time", app.CurrentDate recNotes.SetField "description", strMensaje recNotes.SetField "commitment", "Llamar al Cliente" recNotes.SetField "action_type", "Retroalimentacion" recNotes.SetField "x_mnto_prev", 0 bsNotes.InsertRecord recNotes bsNotes.RelateRecords recCase, recNotes, "case_notes2notes_log" bsNotes.RelateRecords recUser, recNotes, "originator2notes_log" bsNotes.RelateRecords recGbstElm, recNotes, "old_cas_stat2notes_log" bsNotes.RelateRecords recGbstElm, recNotes, "new_cas_stat2notes_log" bsNotes.Save recActEntry.SetField "act_code", 1700 recActEntry.SetField "entry_time", app.CurrentDate recActEntry.SetField "addnl_info", strMensaje recActEntry.SetField "removed", 0 recCase

'

Documentacin Clarify

Pg. 23

Pantallas Clarify

recActEntry.SetField "focus_type", 0 recActEntry.SetField "focus_lowid", 0 bsActEntry.InsertRecord recActEntry bsActEntry.RelateRecords recCase, recActEntry, "case_act2act_entry" bsActEntry.RelateRecords recUser, recActEntry, "originator2act_entry" bsActEntry.RelateRecords recNotes, recActEntry, "notes_log2act_entry" bsActEntry.RelateRecords recGbstElm1, recActEntry, "act_name2act_entry" bsActEntry.Save End If End If End Sub

Origen: No aplica. Condiciones: visible

BOTON DISPATCH:

Descripcin: este botn realiza la accin de pasar o despachar este caso a una persona en especfico, adicional realiza lo siguiente: Manda llamar la funcin de tiempo_creacion; Hace las validaciones de que los siguientes campos estn capturados: o Regin, o Trminos de pago, o Contrato, o Parte de refaccin, o Clase de servicio N1 y N2, o Tipo de servicio, o Condicin comercial 1 y 2, o Tipo de cliente. Valida que la fecha de creacin sea correcta, esto es, que no est en blanco, que no tenga una fecha anterior a la actual y que sean fechas correctas.

Documentacin Clarify

Pg. 24

Pantallas Clarify

Ejecuta el me.DoDefault (ejecuta los procesos internos propios del Clarify); Se ejecuta la funcin relate_sites para relacionar el reporting site con el caso que se esta creando; Se manda llamar y se muestra la form 1020.

El cdigo es el siguiente:
Sub DISPATCH_Click() Dim xregion as String Dim xsureg_1 as String Dim xsureg_2 as String Dim xcomercial as String Dim caseRec As New record Dim t_falla As String Dim xcclist1 As String Dim xcclist2 As String Dim xsubreg2 As String Dim xconcepto As String Dim xconcepto1 As String Dim xsubreg1 As String Dim xseverity As String Dim xzona As String tiempo_creacion cobj_strDispatch.Empty cobj_strDispatch.Fill "1" xregion = Label42.Caption xsureg_1 = Label43.Caption xsureg_2 = Label44.Caption xcomercial = Label50.Caption If xregion = "Especifique" then msgbox "El Pop-up de Region debera ser diferente de 'Especifique'" Exit Sub End If If xcomercial = "Especifique" then msgbox "El Pop-up de Pay Terms debera ser diferente de 'Especifique'" Exit Sub End If Set caseRec = cobj_CASE_OBJ.Contents 'tmn If Len(caseRec.GetField ("x_concepto")) < 2 Then 'tmn caseRec.SetField "x_concepto", "Seleccione Contrato" caseRec.SetField "x_diag_refac", "Seleccione Parte" cobj_CASE_OBJ.Fill caserec me.Refresh End If 'GGB inicio xcclist1 = caseRec.GetField ("cclist2") If xcclist1 = "Seleccione" Then msgbox "El Pop-up de Clase de Servicio N1 debera ser diferente de 'Seleccione'" Exit Sub End If 'FXG

'tmn

Documentacin Clarify

Pg. 25

Pantallas Clarify

xcclist2 = caseRec.GetField ("cclist1") If xcclist2 = "Seleccione" Then msgbox "El Pop-up de Clase de Servicio N2 debera ser diferente de 'Seleccione'" Exit Sub End If xsubreg2 = caseRec.GetField ("x_subreg2") If xsubreg2 = "Seleccione" Then msgbox "El Pop-up de Tipo de Servicio debera ser diferente de 'Seleccione'" Exit Sub End If xconcepto = caseRec.GetField ("x_concepto") If xconcepto = "Seleccione" Then msgbox "El Pop-up de Condicion Comercial 1 debera ser diferente de 'Seleccione'" Exit Sub End If xconcepto1 = caseRec.GetField ("x_concepto_1") If xconcepto1 = "Seleccione" Then msgbox "El Pop-up de Condicion Comercial 2 debera ser diferente de 'Seleccione'" Exit Sub End If xsubreg1 = caseRec.GetField ("x_subreg1") If xsubreg1 = "Seleccione" Then msgbox "El Pop-up de Tipo de Cliente debera ser diferente de 'Seleccione'" Exit Sub End If xzona = caseRec.GetField ("x_zona") If xzona = "Seleccione" Then msgbox "El Pop-up de Region debera ser diferente de 'Seleccione'" Exit Sub End If 'GGB fin t_falla = caseRec.GetField("creation_time") caseRec.SetField "x_tiemp_falla", t_falla caseRec.SetField "x_tiemp_resp", t_falla result = Me.DoDefault Set caseRec = Cobj_CASE_OBJ.Contents relate_sites cobj_strDispatch.Empty cobj_strDispatch.Fill "0" 'FXG

me.NotifyById 1020, cbFirstMessage +5, "SHOW" End Sub

Origen: No aplica. Condiciones: visible

Documentacin Clarify

Pg. 26

Pantallas Clarify

BOTON NEW CASE:

Descripcin: genera un nuevo caso, este nuevo caso no tendr ninguna relacin con el que se tiene abierto; adicional el botn hace las siguientes acciones: Manda ejecutar la funcin tiempo_creacion; Valida que se haya capturado los datos de: o Contrato y o Parte de refaccin. Valida la fecha de creacin: o Que no est en blanco, o Que no sea una fecha posterior a la actual, o Y que sea una fecha con formato correcto. Si el caso es nuevo y no ha sido guardado avisa al usuario de esto y le pregunta si desea primero guardar y luego abrir uno nuevo y abrir uno nuevo sin guardar el caso actual. Ejecuta el me.DoDefault (ejecuta los procesos internos propios del Clarify).

El cdigo del botn es el siguiente:


Sub NEWCASE_Click() Dim caseRec As Record Dim respuesta As Long Dim bandera As String Dim bandrec As record Dim t_falla As String tiempo_creacion Set caseRec = cobj_CASE_OBJ.Contents 'tmn If Len(caseRec.GetField ("x_concepto")) < 2 Then 'tmn caseRec.SetField "x_concepto", "Seleccione Contrato" caseRec.SetField "x_diag_refac", "Seleccione Parte" cobj_CASE_OBJ.Fill caserec me.Refresh End If

Documentacin Clarify

Pg. 27

Pantallas Clarify

Set bandrec = cobj_CASE_OBJ.Contents bandera = bandrec.GetField("id_number") bandera = "'"+bandera+"'" t_falla = bandrec.GetField("creation_time")'ojo bandrec.SetField "x_tiemp_falla", t_falla bandrec.SetField "x_tiemp_resp", t_falla If bandera = "''" Then respuesta = app.MsgBox ("Window has been changed. "+Chr(10)+Chr(32)+"Choose one of the following options", cbSaveDiscardCancel) If respuesta = cbIdSave Then app.MsgBox "Guarde Primero el caso" Else If respuesta = cbIdDiscard Then TITLE.Text = "" End If End If Else me.DoDefault End If End Sub

Origen: No aplica. Condiciones: visible

BOTON NEW CALLER:

Descripcin:

Documentacin Clarify

Pg. 28