Home
MANUAL DE USUARIO - Repositorio Digital UTN
Contents
1. obtiene la cadena de registro para esta aplicaci n uosync CREATE nvo visita medica ulsync regpath uosync APP REGPATH destroy uosync Chequea que exista el id de usuario en el registro rc RegistryGet regpath MLUserName RegString Is work g_rep_codigo Is work if rc lt gt 1 then Responde por id de usuario si no existe gf visita medica configure ulsync SQLCA Si el empleado no existe cierra la sincronizaci n rc RegistryGet regpath MLUserName RegString Is work if rc lt gt 1 then MessageBox Error Sincronizaci n Opciones en el men y establezca el usuario de MobilLink end if else Se verifica si existen registros en los par metros select count into registros from cvm_usuarios if registros lt 1 then gf visita medica configure ulsync SQLCA Nelly P rez Espinosa Pag 2 Manual T cnico PharmaMovil else Open w login end if end if end If Destroy Inv_connectserv 2 Objeto n_visita_medica_conectar Permite la conexi n a la base de datos ultralite tiene tres funciones principales of_getconnection_info of_connectdb y of_disconnectdb Funci n of_getConnection_info integer of_getconnectioninfo ref string as_dbms ref string as_database ref string as_userid ref string as_dbpass ref string as_logid ref string as_logpass ref string as_server ref string as_dbparm ref string as_lock ref string as_autocommit Descripci n Recibe
2. C digo string TStr_boleta int Tint_Cant_Real 1 se registraron todos los productos tab_1 tabpage_2 dw_2 accepttext acepto todos los cambios en el datawindow de registro de visita iftab 1 tabpage 1 dw 1 rowcount lt gt 0 then si existen boletas tab 1 triggerevent selectionchanged lalmaceno codigo de boleta en variable TStr boleta TStr boleta tab 1 tabpage 1 dw 1 getitemstring tab 1 tabpage 1 dw 1 getrow cvm cab boleta cab b ol codigo if bandera S then si se visit tab 1 tabpage 1 rb visita checked true tab 1 tabpage 3 cb 1 enabled true elseif bandera N then no se visit tab 1 tabpage 1 rb visita checked true tab 1 tabpage 3 cb 1 enabled false elseif trim bandera or isnull bandera or trim bandera G then falta por registrar visita tab 1 tabpage 1 rb visita checked false tab 1 tabpage 3 cb 1 enabled false end if Iconsulto si cantidad real de producto se encuentra vac o significa que a n no se registra los productos SELECT cvm det boleta det bol cant real INTO TInt Cant Real FROM cvm cab boleta cvm det boleta WHERE cvm cab boleta cab bol codigo cvm det boleta cab bol codigo and cvm cab boleta cab bol codigo TStr_boleta and cvm det boleta det bol cant real 0 if TInt Cant Real 0 and tab 1 tabpage 3 cb 1 enabled true and bandera S then tab 1 tabpage 1 rb productos checked false elseif TInt Cant Real 0 and tab 1 tabpage 3 cb 1 enable
3. Descripci n El evento Open de esta ventana permite utilizar un objeto de transacci n en este caso sqlca el cual suministra la informaci n necesaria para comunicarse con la base de datos Luego realiza el retrieve de los datos tomando como base el par metro g rep codigo a continuaci n hace referencia a la funci n fsub verifica visita C digo tab 1 tabpage 1 dw_1 settransobject sqlca tab 1 tabpage 2 dw 2 settransobject sqlca tab 1 tabpage 3 dw 3 settransobject sqlca tab 1 tabpage 1 dw 1 retrieve g rep codigo iftab 1 tabpage 1 dw 1 rowcount lt gt 0 then CabBoleta tab 1 tabpage 1 dw 1 getitemstring tab 1 tabpage 1 dw 1 getrow cevm cab boleta cab bol codigo end if tab 1 tabpage 1 text Datos tab 1 tabpage 2 text Registro tab 1 tabpage 3 text Productos fsub verifica visita Variable g rep codigo Variable global que contiene el c digo del representante que ha ingresado al sistema Funci n fsub verifica visita Nelly P rez Espinosa Pag 6 Manual T cnico PharmaMovil Descripci n Funci n que permite verificar si en la boleta actual se encuentra registrada la visita y la entrega de productos Bandera es una variable global que indica si la boleta ha sido visitada no visitada o no registrada Para saber si se los productos se encuentran registrados se realiza una consulta a la base de datos tomando como par metro el c digo de la boleta y consultando a la tabla cvm_det_boleta
4. tab 1 tabpage 2 dw 3 retrieve cliente MessageBox Clientes Grabaci n exitosa end if end if else MessageBox Error No existe registros end if Evento selectionchanged del tab 1 de mantenimiento de clientes Descripci n Verifica el page que se encuentra activo de acuerdo a esto activa o desactiva controles Y almacena en variable Cliente el cliente activo en ese momento Nelly P rez Espinosa Pag 14 Manual T cnico PharmaMovil C digo if tab_1 selectedtab 1 then page activo es datos de cliente m_mant_cli m_clientes m_nuevo enabled true elseif tab_1 selectedtab 2 then page activo es lugar de visita if dw 1 rowcount lt gt 0 then si existen clients lasigno a variable cliente el cliente activo Cliente dw 1 getitemstring dw 1 getrow cli codigo tab 1 tabpage 2 dw 3 settransobject sqlca iftab 1 tabpage 2 dw 3 retrieve Cliente 0 then horario ant tab_1 tabpage_2 dw_3 getitemstring tab_1 tabpage_2 dw_3 getrow cvm horario atencion hor ate codigo end if m mant cli m clientes m nuevo enabled false end if end if Evento clicked del bot n cb 1 dela ventana w mantenimiento clientes Descripci n Permite grabar los cambios realizados a los datawindows de datos de cliente y datos de lugares de visita dependiendo de cu l se encuentre activo en ese momento En ambos casos hace uso de la funci n interna Update si esta es igual a 1 emite mensaje de Grabaci n Exitosa
5. caso contrario emite mensaje de error C digo string lugar callep numero calles lugtelf string clinom cliapell clitelf if dw 1 rowcount lt gt 0 then si existen clientes iftab 1 selectedtab 1 then si estoy en datos de cliente tab 1 tabpage 1 dw 2 accepttext acepta los cambios realizados lalmacena en variable el apellido cliapell tab 1 tabpage 1 dw 2 getitemstring tab 1 tabpage 1 dw 2 getrow cli apellido1 almacena en variable el nombre clinom tab 1 tabpage 1 dw 2 getitemstring tab 1 tabpage 1 dw_2 getrow cli nombre1 lalmacena en variable el tel fono clitelf 2 tab 1 tabpage 1 dw 2 getitemstring tab 1 tabpage 1 dw 2 getrow cli telefono personal if trim cliapell and trim clinom if len trim clitelf 2 9 then iftab 1 tabpage 1 dw 2 update 1 and actualiza especialidad 1 then commit using salca dw 1 retrieve cliente dw 1 getitemstring dw 1 getrow cli codigo tab 1 tabpage 1 dw 2 retrieve cliente MessageBox Clientes Grabaci n exitosa and trim clitelf lt gt then else MessageBox Error al grabar sqlca sqlerrtext rollback using sqlca end if else MessageBox Error Ingrese 9 d gitos en Tel fono end if else MessageBox Error Datos incompletos end if elseif tab 1 selectedtab 2 then si estoy en lugar de visita tab 1 tabpage 2 dw 3 accepttext acepto los cambios lugar tab 1 tabpage 2 dw 3 getitemstring tab 1 tabpage 2
6. Llama a la funci n ue eliminar de la ventana w mantenimiento clientes descrita anteriormente Buscar Llama al evento Open de la ventana w buscar Evento Open de la ventana w nuevo cli Descripci n Inserta nuevas filas a los datawindows de cliente especialidad lugar visita orden ruta y llena los dropdown listbox de tipo cliente especialidad lugar visita horario y ruta con datos necesarios para seleccionarlos C digo long NuevaFila string item cod dw 1 settransobject dw 3 settransobject dw 4 settransobject dw 5 settransobject sqlca Sglca Sglca sqlca B dem m md NuevaFila dw 1 InsertRow 0 inserta nuevas filas a los datawindows de cliente especialidad lugar visita orden ruta NF R019 dw 3 InsertRow 0 NF lug vis cli dw 4 InsertRow 0 NF orden ruta dw 5 InsertRow 0 ddib tipo cli reset limpia los dropdown listbox de tipo cliente especialidad lugar visita horario y ruta ddlb especialidad reset ddlb lugar reset Nelly P rez Espinosa Pag 16 ddlb horario reset ddlb ruta reset Retrieve tipo cliente DECLARE cust cur CURSOR FOR SELECT tip cli codigo tip cli descripcion FROM cvm tipo cliente OPEN cust cur DO WHILE sqlca sqlcode 0 FETCH cust cur INTO cod item if SQLCA sqlcode 0 then ddib tipo cli Addltem item end if LOOP CLOSE cust cur Retrieve especialidad DECLARE prod cur CURSOR FOR SELECT esp codigo esp descripcion FROM cvm especialidad
7. rez Espinosa Pag 24 Manual T cnico PharmaMovil Messagebox Grabar Error al grabar rollback using salca end if end if 8 Objeto w_reportes Descripci n El evento Open de esta ventana permite visualizar un reporte de cantidad de clientes a visitar Esta ventana utiliza el datawindow d_rep_clientes Contiene un men de reportes descrito a continuaci n Notas de Pedido Hace referencia al evento open de la ventan w_rep_notas_pedido Registro de Visita Hace referencia al evento open de la ventana w_estadisticas C digo dw_1 settransobject sqlca dw_1 retrieve st_total text string dw_1 rowcount total de clientes Evento Open de la ventana w_rep_notas_pedido Descripci n El evento Open de esta ventana permite visualizar el reporte de notas de pedido por cada cliente Esta ventana utiliza el datawindow d_rep_pedidos C digo dw_1 settransobject sqlca dw_1 retrieve Evento Open de la ventana w_estadisticas Descripci n El evento Open de esta ventana permite visualizar el reporte gr fico del registro de las visitas no visitas y boletas no registradas Esta ventana utiliza el datawindow d_gr visitas C digo settransobject salca long r1 ri dw 1 retrieve g rep codigo verifica que existan datos para ese representante if r1 1 then dw 1 object r 1 visible false dw 1 object r 2 visible false dw 1 object r 3 visible false end if 8 Objeto w visita medica ulsync options Descripci
8. 1 tabpage 2 ddlb origen reset limpia el control drop down list box de origen de visita eno ddib causas DECLARE ori cur CURSOR FOR SELECT cvm origen causas no visita ori cau codigo ori cau nombre FROM cvm origen causas no visita OPEN ori cur DO WHILE sqlca sqlcode 0 FETCH ori cur INTO oricodigo orinombre if SQLCA sqlcode 0 then tab 1 tabpage 2 ddlb origen Addltem orinombre end if LOOP CLOSE ori cur tab 1 tabpage 2 ddlb origen TriggerEvent selectionchanged iftab 1 tabpage 1 dw 1 rowcount lt gt 0 then asigna a cabboleta el c digo de boleta CabBoleta tab_1 tabpage_1 dw_1 getitemstring tab_1 tabpage_1 dw_1 getrow cvm_cab_boleta_cab_bol_codigo tab 1 tabpage 2 dw 2 settransobject sqlca tab 1 tabpage 2 dw 2 retrieve CabBoleta llena los datos dependiendo del c digo de boleta a la visita lalmacena los valores de S si visita N no visita o G generada a la variable bandera bandera tab 1 tabpage 2 dw 2 getitemstring tab 1 tabpage 2 dw 2 getrow cab bol bandera tab 1 tabpage 3 dw 3 settransobject sglca tab 1 tabpage 3 dw 3 retrieve CabBoleta llena el datawindow de productos iftab 1 selectedtab 3 then si estoy en produtos if bandera N then si no visito tab 1 tabpage 3 dw 3 enabled false tab 1 tabpage 3 cb 1 enabled false elseif trim bandera or isnull bandera then si es generada tab 1 tabpage 3 dw 3 enabled false tab 1 tabpage 3 cb 1 enabled false tab 1
9. FALSE return TRUE Evento clicked del bot n cb cancel de la ventana w visita medica ulsync options Descripci n Retorna el valor de 100 indicando que el usuario a presionado CANCEL C digo ib_SaveSub FALSE ib SaveServer FALSE ib SaveRun FALSE i parms a returncode 100 closeWithReturn parent i parms Evento clicked del bot n cb ok de la ventana w visita medica ulsync options Descripci n Esta ventana pasa al servidor de sincronizaci n el nombre de usuario y password en la estructura i parms Tambi n retorna 0 indicando que el usuario presion OK C digo i parms a mluser tab 1 tabpage subscribe sle mluser text 9 rep codigo trim tab 1 tabpage subscribe sle mluser text i parms a mlpass tab 1 tabpage subscribe sle mlpass text i parms a returncode 0 closeWithReturn parent i parms 9 Objeto w visita medica ulsync Descripci n Permite establecer realizar el proceso de sincronizaci n Posee los siguientes eventos open ue begin download ue begin sync ue begin upload ue connecting ue disconnecting ue display msg ue end download ue end sync ue end upload Nelly P rez Espinosa Pag 27 Manual T cnico PharmaMovil ue error msg ue file msg ue postopen ue progress info ue receiven upload ack ue sroll mle ue send download ack ue upload ack ue wait for upload ack ue warning msg Evento open de la ventana w visita medica ulsync C digo i uosync message powerobjectparm if
10. IsValid i uosync then this event POST ue postopen else cb cancel enabled FALSE cb OK enabled TRUE mle status text Usage Error r n amp This window must be called using r n 8 OpenWithParm w_ulconn_ULsync g_uosync r n end if Evento ue begin download de la ventana w visita medica ulsync C digo mle status SetRedraw FALSE mle status text Begin download r n this event TRIGGER ue scroll mle hpb progress position O st phasebar text Downloading return 0 Evento ue begin sync de la ventana w_ visita medica ulsync C digo mle status SetRedraw FALSE mle status text Begin synchronization User amp user name r nPub Names pub names r n this event TRIGGER ue_scroll_mle return O Evento ue begin upload de la ventana w_visita_medica_ulsync C digo mle_status SetRedraw FALSE mle_status text Begin upload r n this event TRIGGER ue_scroll_mle hpb progress position 0 st phasebar text Uploading return O Nelly P rez Espinosa Pag 28
11. OPEN prod cur DO WHILE sqlca sqlcode 0 FETCH prod cur INTO cod item if SQLCA sqlcode 0 then ddlb especialidad Addltem item end if LOOP CLOSE prod cur Retrieve lugar visita DECLARE lug cur CURSOR FOR SELECT lug vis codigo lug vis nombre FROM cvm lugar visita OPEN lug cur DO WHILE sqlca sqlcode 0 FETCH lug cur INTO cod item if SQLCA sqlcode 0 then ddlb_lugar Addltem item end if LOOP CLOSE lug_cur Retrieve horario DECLARE hor_cur CURSOR FOR Manual T cnico PharmaMovil SELECT hor ate codigo rtrim hor_ate_dia hor_ate_hinicio hor ate hfin as horario FROM cvm horario atencion OPEN hor cur DO WHILE sqlca sqlcode 0 FETCH hor cur INTO cod item if SQLCA sqlcode 0 then ddlb horario Addltem item end if LOOP CLOSE hor cur Retrieve ruta DECLARE rut cur CURSOR FOR SELECT cvm ruta rut codigo rut descripcion FROM cvm ruta cvm cab boleta WHERE cvm ruta rut codigo cvm cab boleta rut codigo OPEN rut cur DO WHILE sqlca sqlcode 0 FETCH rut cur INTO cod item if SQLCA sqlcode 0 then ddlb_ruta Additem item end if LOOP CLOSE rut_cur Evento clicked del bot n cb 1 de la ventana w mantenimiento clientes Nelly P rez Espinosa Pag 17 Manual T cnico PharmaMovil Descripci n Inserta los nuevos valores en los datawindows y hace uso de la funci n interna Update para poder actualizar los nuevos valores Si update es igual a 1 la actualizaci n fue exitosa
12. SavePW rc RegistryGet i uosync APP REGPATH Is regkey RegString Is work if rc 1 then ifls work 1 then tab 1 tabpage subscribe cbx savepw checked TRUE else tab 1 tabpage subscribe cbx savepw checked FALSE end if end if if IsNull i parms a mlpass ori parms a mlpass then ifls work 1 then Is regkey MLPassword rc RegistryGet i uosync APP REGPATH Is regkey RegString Is work if rc 1 then i uosync uf decrypt pw Is work Nelly P rez Espinosa Pag 26 Manual T cnico PharmaMovil tab_1 tabpage_subscribe sle_mlpass text Is work end if end if else tab_1 tabpage_subscribe sle_mlpass text i parms a mlpass end if Is work Use these stream parameters to communicate with 8 the MobiLink server via ls work i uosync is stream tab 1 tabpage mlserver st mlserve text Is work tab 1 tabpage mlserver sle host text i uosync is host tab 1 tabpage mlserver sle port text i uosync is port tab 1 tabpage mlserver sle stradd text i uosync is stradd ifi uosync is app window YES then tab 1 tabpage runtime cbx appwin checked TRUE else tab 1 tabpage runtime cbx appwin checked FALSE end if ifi uosync is colnames YES then tab 1 tabpage runtime cbx colnames checked TRUE else tab 1 tabpage runtime cbx colnames checked FALSE end if tab 1 tabpage runtime sle authparms text i uosync is authparms ib SaveSub FALSE ib SaveRun FALSE ib SaveServer
13. base de datos INTO codigo encontrado FROM cvm cliente WHERE cvm cliente cli codigo cli if codigo encontrado 1 then si encuentra ubica el cliente dw 1 SetFilter cli codigo cli dw 1 filter tab 1 tabpage 1 dw 2 retrieve cli tab 1 tabpage 2 dw 3 retrieve cli else MessageBox Error C digo no existe end if end if if trim cli and trim apellido lt gt then busca por apellido SELECT cvm cliente cli codigo INTO ruc encontrado FROM cvm cliente WHERE cvm cliente cli apellido1 apellido SELECT cvm cliente cli codigo INTO ruc encontrado FROM cvm cliente Nelly P rez Espinosa Pag 12 Manual T cnico PharmaMovil WHERE cvm cliente cli apellido1 like apellido if trim ruc_encontrado lt gt then si ruc no es vac o dw 1 SetFilter cli codigo ruc encontrado dw 1 filter tab 1 tabpage 1 dw 2 retrieve ruc encontrado tab 1 tabpage 2 dw 3 retrieve ruc encontrado else MessageBox Error C digo no existe end if end if if trim cli lt gt and trim apellido lt gt then busca por ruc y apellido SELECT cvm cliente cli codigo INTO ruc encontrado FROM cvm cliente WHERE cvm cliente cli codigo cli AND cvm cliente cli apellido1 apellido if trim ruc encontrado lt gt dw 1 SetFilter cli codigo dw 1 filter tab 1 tabpage 1 dw 2 retrieve ruc encontrado tab 1 tabpage 2 dw 3 retrieve ruc encontr
14. caso contrario se emite mensaje de error dw 1 accepttext datos clientes lasigno c digo de cliente en variable c digo codigo dw 1 getitemstring dw 1 getrow cli codigo telf per string dw 1 getitemstring dw 1 getrow cli telefono personal if isnumber codigo and len codigo 10 then verifico que c dula tenga 10 d gitos y sean n meros if len telf per 9 then apellido1 dw 1 getitemstring dw 1 getrow cli apellido1 nombre1 dw 1 getitemstring dw 1 getrow cli nombre1 lbusco los c digo de los dropdown listbox en la base de datos hip cli SELECT tip cli codigo INTO tip cli FROM cvm tipo cliente WHERE tip cli descripcion ddlb tipo cli text sexo ddlb sexo text lespecialidad SELECT esp codigo INTO especialidad FROM cvm especialidad WHERE esp descripcion ddlb especialidad text lug vis SELECT lug vis codigo INTO lug vis FROM cvm lugar visita WHERE lug vis nombre ddlb lugar text horario SELECT hor ate codigo INTO horario FROM cvm horario atencion where RTRIM hor ate dia hor ate hinicio hor ate hfin ddlb horario text ruta SELECT rut_codigo INTO ruta FROM cvm_ruta WHERE rut descripcion ddlb_ruta text if len trim codigo lt gt O AND len trim apellido1 lt gt O AND len trim nombre1 lt gt 0 AND len trim tip cli lt gt 0 AND len trim sexo lt gt O AND len trim especialidad lt gt O AND len trim lug_vis lt gt O AND len trim h
15. como par metros usuario contrase a base de datos servidor tipo de dbms y el tipo de m todo que va a utilizar para validar la informaci n El tipo puede ser un archivo ini entonces se hace un llamado a la funci n ProfileString si el tipo de m todo es de registro se llama a la funcion RegistryGet y si el tipo es un script se compara directamente con los valores ingresados El origen de la informaci n de conexi n puede cambiarse alterando el valor de la variable is connectfrom C digo Choose Case is connectfrom Case IS USE INIFILE Conexi n a la base de datos a trav s de un archive INI string Is inifile as dbms ProfileString Is inifile Database DBMS UL9 as database ProfileString Is inifile Database Database as userid ProfileString Is inifile Database UserID as dbpass ProfileString Is inifile Database DBPass as logid ProfileString Is inifile Database LogID as logpass ProfileString Is inifile Database LogPassword as server ProfileString Is inifile Database Servername as dbparm ProfileString Is inifile Database DBParm ComnectString DBF DAppTesistudblbdd_ult_cvm udb UlD dba PWD sgql as dbparm ProfileString Is inifile Database DBParm ConnectString DBF WProgram Filesvodd ult cvm udb UID2dba PWD sgl as lock ProfileString Is inifile Database Lock as autocommit ProfileString
16. dw 3 getrow cvm lugar visita lug vis nombre Nelly P rez Espinosa Pag 15 Manual T cnico PharmaMovil callep tab_1 tabpage_2 dw_3 getitemstring tab_1 tabpage_2 dw_3 getrow cvm lugar visita lug vis calle p numero tab 1 ARopaga 2 dw 3 getitemstring tab 1 tabpage 2 dw 3 getrow lug vis numero calles tab_1 tabpage_2 dw_3 getitemstring tab_1 tabpage_2 dw_3 getrow cvm_lugar_visita_lug_vis_calle_s lugtelf tab_1 tabpage_2 dw_3 getitemstring tab_1 tabpage_2 dw_3 getrow cvm_lugar_visita_lug vis telefono if trim lugar lt gt and trim numero lt gt if len trim lugtelf 9 then iftab 1 tabpage 2 dw 3 update 1 and actualiza_horario 1 then commit using sqlca dw 1 retrieve cliente dw 1 getitemstring dw 1 getrow cli codigo tab 1 tabpage 2 dw 3 retrieve cliente MessageBox Lugares Visita Grabaci n exitosa elselF SQLCA SQLCode 1 THEN MessageBox SQL error SQLCA SQLErrText rollback using sqlca and trim calles lt gt and trim lugtelf lt gt then end if else MessageBox Error Ingrese 9 d gitos en Tel fono end if else MessageBox Error Datos incompletos end if end if else MessageBox Error No existen registros end if Men Opciones de ventana w mantenimiento clientes Descripci n El men Opciones contiene 3 submen s descritos a continuaci n Nuevo Llama al evento Open de la ventana w nuevo cli Eliminar
17. n Permite establecer los valores de configuraci n para el proceso de sincronizaci n Posee los siguientes eventos open close postopen Nelly P rez Espinosa Pag 25 Manual T cnico PharmaMovil Evento open de la ventana w_visita_medica_ulsync_options C digo string errCaption Usage Error string badparm When invoking this window use OpenWithParm and pass an instance 8 ofs visita medica ulsync parms if IsValid Message PowerObjectParm then if Message PowerObjectParm TypeOf Structure then i parms Message PowerObjectParm else messagebox errCaption badparm cb_ok enabled FALSE end if else messagebox errCaption badparm cb_ok enabled FALSE end if i uosync CREATE nvo visita medica ulsync this event POST ue postopen Evento close de la ventana w visita medica ulsync options C digo wf trysaving destroy i uosync Evento ue postopen de la ventana w visita medica ulsync options C digo string Is regkey Is work integer rc tab 1 tabpage subscribe sle pub text i uosync is publication name tab 1 tabpage subscribe sle version text i uosync is version if IsNull i parms a mluser or i parms a mluser then Is regkey MLUserName rc RegistryGet i uosync APP REGPATH Is regkey RegString Is work if rc 2 1 then tab 1 tabpage subscribe sle mluser text Is work end if else tab 1 tabpage subscribe sle mluser text i parms a mluser end if ls regkey
18. pedidos m opciones m eliminar enabled true cb 1 enabled false cb 2 enabled false cb 3 enabled false dw 3 Reset end if end if end if end if if insertar true and faltadx 0 then dw 1 enabled false dw 2 enabled false m pedidos m opciones m insertar enabled false m pedidos m opciones m guardar enabled false insertar false end if else MessageBox Error Cliente no existe end if Evento clicked del bot n cb 1 dela ventana w pedidos cliente Descripci n Permite insertar los productos para el pedido e inserta una nueva fila en el datawindow de detalle de pedidos C digo long I newrow e l newrow dw_3 insertrow 1 dw 3 setrow ll newrow dw 2 accepttext e dw 2 getrow dw 3 object cvm det pedidos ped cab codigo ll newrow dw 2 object ped cab codigo e dw 3 setfocus insertar prd true Evento clicked del bot n cb 2 de la ventana w pedidos cliente Nelly P rez Espinosa Pag 23 Descripci n Permite eliminar los productos para el pedido C digo if dw_3 rowcount 1 then verifica que exista registros dw_3 deleterow dw_3 getrow borra el registro dw_1 enabled false dw_2 enabled false cb 3 enabled false m pedidos m opciones m insertar enabled false m pedidos m opciones m guardar enabled true m pedidos m opciones m eliminar enabled true else dw 3 deleterow dw 3 getrow borra el registro dw 1 enabled true dw 2 enabled true m pedidos m opciones m ins
19. tab 1 tabpage 2 dw 2 Object cab bol fecha TabSequence 0 tab 1 tabpage 2 dw 2 Object cab bol observaciones TabSequence 0 tab 1 tabpage 2 cb 2 enabled false elseif bandera S then tab 1 tabpage 2 dw 2 Object cab bol fecha TabSequence 20 tab 1 tabpage 2 dw 2 Object cab bol observaciones TabSequence 30 tab 1 tabpage 2 ddlb causas enabled false tab 1 tabpage 2 ddlb origen enabled false if isnull fecha then tab 1 tabpage 2 cb 2 enabled false else tab 1 tabpage 2 cb 2 enabled true end if end if elseif tab 1 selectedtab 1 then if bandera S or bandera N then tab 1 tabpage 1 rb visita checked true else tab 1 tabpage 1 rb visita checked false end if end if End if else tab 1 tabpage 2 ddlb causas enabled false tab 1 tabpage 2 ddlb origen enabled false tab 1 tabpage 2 cb 2 enabled false end if Evento clicked del bot n cb 2 del tab registro visita Descripci n El bot n cb 2 permite grabar los cambios realizados al datawindow dw 2 que representa el registro de la visita o de la no visita Realiza consultas directas a la base de datos para conoce los c digos de los dropdown listbox de la visita y no visita en base a la descripci n Se utiliza la funci n interna del datawindow Update para realizar la grabaci n a la base de datos Si update a 1 entonces la grabaci n es exitosa caso contrario emite un mensaje de error C digo string origen causas c digo de origen no visita S
20. tabpage 2 cb 2 enabled false elseif bandera S then si es una visita tab 1 tabpage 3 dw 3 enabled true tab 1 tabpage 3 cb 1 enabled true end if elseif tab 1 selectedtab 2 then if bandera N then si no se ha registrado la visita tab 1 tabpage 2 dw 2 Object cab bol fecha TabSequence 20 tab 1 tabpage 2 dw 2 Object cab bol observaciones TabSequence 30 fecha string tab 1 tabpage 2 dw 2 object cab bol fecha tab 1 tabpage 2 dw 2 getrow ori tab 1 tabpage 2 dw 2 object ori cau codigo tab 1 tabpage 2 dw 2 getrow cau tab 1 tabpage 2 dw 2 object cau no vis codigo tab 1 tabpage 2 dw 2 getrow SACO LA DESCRIPCION EN BASE A LOS CODIGOS SELECT ori cau nombre INTO nom FROM cvm origen causas no visita WHERE ori cau codigo ori SELECT cau no vis descripcion INTO nom1 FROM cvm causas no visita WHERE cau no vis codigo cau tab 1 tabpage 2 ddlb origen selectitem nom 1 tab 1 tabpage 2 ddlb origen TriggerEvent selectionchanged tab 1 tabpage 2 ddlb causas selectitem nom1 1 tab 1 tabpage 2 ddlb causas enabled true tab 1 tabpage 2 ddlb origen enabled true if isnull ori or isnull cau or isnull fecha then Nelly P rez Espinosa Pag 8 Manual T cnico PharmaMovil tab_1 tabpage_2 cb_2 enabled false else tab_1 tabpage_2 cb_2 enabled true end if elseif trim bandera or isnull bandera then tab_1 tabpage_2 ddlb_causas enabled false tab 1 tabpage 2 ddlb origen enabled false
21. 1 tabpage 2 ddlb origen enabled false tab 1 tabpage 2 dw 2 Object cab bol fecha TabSequence 0 tab 1 tabpage 2 dw 2 Object cab bol observaciones TabSequence 0 tab 1 tabpage 2 dw 2 Object cab bol fecha tab 1 tabpage 2 dw 2 getrow today tab 1 tabpage 3 dw 3 enabled false tab 1 tabpage 3 cb 1 enabled false tab 1 tabpage 2 cb 2 enabled false elseif bandera S then si se visita tab 1 tabpage 2 dw 2 object cab bol fecha tab 1 tabpage 2 dw 2 getrow today tab 1 tabpage 2 dw 2 Object cab bol fecha TabSequence 20 tab 1 tabpage 2 dw 2 Object cab bol observaciones TabSequence 30 tab 1 tabpage 2 ddlb causas text tab 1 tabpage 2 ddlb origen text tab 1 tabpage 2 ddlb causas enabled false tab 1 tabpage 2 ddlb origen enabled false tab 1 tabpage 3 dw 3 enabled true tab 1 tabpage 3 cb 1 enabled true if isnull fecha then tab 1 tabpage 2 cb 2 enabled false else tab 1 tabpage 2 cb 2 enabled true end if end if 6 Objeto w mantenimiento clientes Descripci n El evento Open de esta ventana permite utilizar un objeto de transacci n en este caso sqlca el cual suministra la informaci n necesaria para comunicarse con la base de datos Luego realiza el retrieve de los datos tomando como base el par metro cliente Los principales elementos que conforman esta ventana son dw 1 datawindow de maestro de clientes dw 2 datawindow de los datos personales del cliente dw 3 datawindow de los datos del l
22. 1Program Filesibdd_ult_cvm udb UlD dba PWD sql false Case Else Return 1 End Choose Return 1 Funci n of_Connectdb public function integer of_connectdb Descripci n Invoca a la funci n of getconnection info y con esta informaci n procede a realizar la conexi n a la base de datos si es satisfactoria devuelve el valor de conexi n caso contrario devuelve 1 Nelly P rez Espinosa Pag 4 Manual T cnico PharmaMovil C digo Connect using SQLCA If SQLCA SQLCode lt gt 0 Then MessageBox No se puede conectar a la base de datos SQLCA SQLErrText End If Return SQLCA SQLCode Funci n of disconnectdb public function integer of disconnectdb Descripci n Desconecta de la base de datos C digo Disconnect using SQLCA If SQLCA SQLCode lt gt 0 Then MessageBox No se puede desconectar de la BDD SQLCA SQLErrText End If Return SQLCA SQLCode 3 Objeto w login Permite el ingreso a la aplicaci n mediante el ingreso del nombre de usuario y contrasef a La ventana contiene el bot n cbaceptar cuyo evento clicked realiza lo siguiente Evento Clicked del bot n cbaceptar Descripci n Utiliza los cuadros de texto sleusr y slepsw los cuales contienen la informaci n de usuario y contrase a verifica que no est n en blanco si lo est n emite mensaje de error caso contrario consulta a la base de datos si el usuario y contrase a existen si no existen emite mensaje de error c
23. ELECT ori cau codigo INTO origen FROM cvm origen causas no visita WHERE ori cau nombre tab 1 tabpage 2 ddlb origen text Ic digo de causas no visita SELECT cvm causas no visita cau no vis codigo INTO causas FROM cvm causas no visita WHERE cau no vis descripcion tab 1 tabpage 2 ddlb causas text linsercion en datawindow de la cabecera de boleta tab 1 tabpage 2 dw 2 object ori cau codigo tab 1 tabpage 2 dw 2 getrow origen tab 1 tabpage 2 dw 2 object cau no vis codigo tab 1 tabpage 2 dw 2 getrow causas tab 1 tabpage 2 dw 2 accepttext datos cabecera Imanejo de la transaccion iftab_1 tabpage_2 dw_2 update 1 then se hizo update commit using salca entonces commit tab 1 tabpage 2 dw 2 ResetUpdate Nelly P rez Espinosa Pag 9 Manual T cnico PharmaMovil Messagebox Registro de visita Grabaci n exitosa FSub_Valor_Cero fsub_verifica_visita habilita o deshabilita los cheked del registro de visita y registro de productos else Messagebox Error al Grabar Registro Visita rollback using sqlca end if Evento clicked del bot n cb_1 del tab registro_productos Descripci n El bot n cb_1 permite grabar los cambios realizados al datawindow dw_3 que representa el registro de los productos entregados al cliente Por cada registro de productos se verifica que el valor ingresado sea diferente de cero o valor ingresado sea menor que el planificado si es as hace update caso contrario emite
24. Is inifile Database AutoCommit false CaselS USE REGISTRY Conexi n a la base de datos a trav s de Registro string Is registrykey DataBase If RegistryGet Is registrykey DBMS RegString as dbms 1 Then RegistrySet Is registrykey DBMS RegString UL9 RegistryGet Is registrykey DBMS RegString as dbms End If If RegistryGet Is registrykey Database RegString as database 1 Then RegistrySet Is registrykey Database RegString Nelly P rez Espinosa Pag 3 RegistryGet Is registrykey Database End If If RegistryGet Is registrykey UserlD RegistrySet Is registrykey UserlD RegistryGet Is registrykey UserlD End If If RegistryGet Is registrykey DBPass RegistrySet Is registrykey DBPass RegistryGet Is registrykey DBPass End If If RegistryGet Is registrykey LoglD RegistrySet Is registrykey LoglD RegistryGet Is registrykey LoglD End If Manual T cnico PharmaMovil RegString as database RegString as userid lt gt 1 Then RegString RegString as userid RegString as dbpass lt gt 1 Then RegString RegString as dbpass RegString as logid 1 Then RegString RegString as logid If RegistryGet Is registrykey LogPassword RegString as logpass 1 Then RegistrySet Is registrykey LogPassword RegString RegistryG
25. Manual T cnico PharmaMovil MANUAL T CNICO PharmaMovil APICACION MOVIL PARA EL PROCESO DE VISITA MEDICA Nelly P rez Espinosa Pag 1 Manual T cnico PharmaMovil La aplicaci n de visita m dica est desarrollada sobre la herramienta de programaci n PocketBuilder 2 0 que permite el desarrollo de aplicaciones orientadas a objetos 1 Objeto Aplicaci n El objeto principal que representa todo el sistema se denomina Visita_M dica Bl vista medica los eventos programados en este objeto son Open string comandline returns none Descripci n Inicialmente se crea una instancia del objeto n visita medica conectar que tiene la informaci n de conexi n a la base de datos para posteriormente llamar a la funci n of ConnectDb si el resultado es igual a O la conexi n se estableci satisfactoriamente y se procede a validar contra el registro del dispositivo si existen sincronizaciones previas RegistryGet regpath MLUserName RegString Is work sino existen sincronizaciones se invoca a la funci n gf visita medica configure ulsync SQLCA la cual realiza la sincronizaci n de la informaci n Una vez realizado este procedimiento se procede a la apertura de la ventana w login C digo n visita medica conectar Inv connectserv Inv connectserv Create n visita medica conectar If Inv connectserv of ConnectDB 0 Then nvo visita medica ulsync uosync String Is work String regpath integer rc integer registros
26. Nelly P rez Espinosa Pag 13 Manual T cnico PharmaMovil SELECT cvm orden ruta lug vis codigo INTO LugVisitaCli FROM cvm orden ruta WHERE cvm orden ruta cli codigo CodCliente consulto el lugviscli SELECT count cvm_lug_vis_cli lug_vis_codigo INTO contador FROM cvm_lug_vis_cli WHERE cvm_lug_vis_cli lug_vis_codigo LugVisitaCli elimino de tabla de juntura lugar_cliente DELETE FROM cvm lug vis cli WHERE cvm lug vis cli cli codigo CodCliente elimino de la ruta DELETE FROM cvm orden ruta WHERE cvm orden ruta cli codigo CodCliente si es el nico lugar de visita asignado a ese cliente lo borro if contador 1 then DELETE FROM cvm_lugar_visita WHERE cvm_lugar_visita lug_vis_codigo LugVisitaCli end if elimino especialidad_cliente DELETE FROM r019 WHERE r019 cli_codigo CodCliente elimino pedidos detalle para ese cliente DELETE FROM cvm_det_pedidos where cvm det pedidos ped det codigo in select cvm det pedidos ped det codigo from cvm det pedidos cvm cab pedidos WHERE cvm det pedidos ped cab codigo cvm cab pedidos ped cab codigo and cvm cab pedidos ped cli codigo CodCliente elimino pedidos cabecera para ese cliente DELETE FROM cvm cab pedidos WHERE cvm cab pedidos ped cli codigo CodCliente elimino cliente DELETE FROM cvm cliente WHERE cvm cliente cli codigo CodCliente commit using sqlca dw 1 retrieve tab 1 tabpage 1 dw 2 retrieve cliente
27. a dw 3 settransobject sqlca if dw 1 retrieve gt O then si existen clientes lalmaceno c digo de cliente en variable cliente cliente dw 1 getitemstring dw 1 getrow cli codigo insertar false insertar_prd false if dw 2 retrieve cliente g rep codigo gt 0 then si cabecera de pedido contiene registros dw 2 accepttext acepto cambios this cb 1 enabled true this cb 2 enabled true this cb 3 enabled true cabpedido dw 2 getitemnumber dw 2 getrow ped cab codigo dw_3 retrieve cabpedido int cuenta cuenta dw 3 rowcount Nelly P rez Espinosa Pag 20 Manual T cnico PharmaMovil return O else this cb_1 enabled false this cb_2 enabled false this cb 3 enabled false dw_3 Reset end if end if Evento ue_insertar de la ventana w_pedidos_cliente Descripci n Permite ingresar un nuevo registro en la tabla cvm_cab_pedidos que es la cabecera de los pedidos Deshabilita controles como insertar eliminar y guardar productos C digo Iselecciona el mayor valor de c digo de la tabla cvm cab pedidos SELECT max cvm_cab_pedidos ped_cab_codigo count cvm cab pedidos ped cab codigo INTO cab num FROM cvm cab pedidos long I nuevafila if isnull cab then cab 0 end if cab cab 100 integer g rep codigo aumenta c digo en 1 dw 1 acceptText acepta cambios dw 2 reset fila ant dw 2 getrow II_nuevafila dw_2 insertrow 0 inserta una nueva fila en datawi
28. ado then busca por ruc 4 ruc encontrado else MessageBox Error C digo no existe end if end if else MessageBox Error No existe registros end if Funci n ue eliminar cli Descripci n Permite eliminar un cliente que no se encuentre asignado a una boleta si este se encuentra asignado entonces emite mensaje de error caso contrario visualiza cuadro de di logo Est seguro de borrar el registro si selecciona Si el registro ser eliminado permanentemente de las tablas cvm cliente cvm lug vis cli cvm lugar visita cvm especialidad cliente cvm orden ruta cvm cab pedidos cvm det pedidos caso contrario el registro no se eliminar C digo int b cabpedi contador string CodCliente BolNumero LugVisitaCli if dw 1 rowcount gt 0 then si existen registros asigno el c digo de cliente actual a la variable codcliente CodCliente dw 1 getitemstring dw 1 getrow cli codigo verifico si cliente se encuentra en boletas SELECT cvm cab boleta cab bol numero INTO BolNumero FROM cvm cab boleta WHERE cvm cab boleta cli codigo CodCliente if trim BolNumero lt gt then si cliente se encuentra en boletas messagebox No se puede eliminar Clientes Cliente asignado a una boleta stopsign return else si no est en boletas b Messagebox Advertencia Est seguro de borrar el registro Exclamation YesNo if b 1 then consulto el lugar de visita
29. aso contrario admite el acceso al sistema y llama a la ventana w principal C digo string verifica usr if trim sleusr text or trim slepsw text then MessageBox Datos incompletos No ingres datos requeridos para continuar else SELECT cvm usuarios usr cod rep INTO g rep codigo FROM cvm usuarios WHERE cvm usuarios usr cod rep sleusr text AND cvm usuarios usr password slepsw text using sqlca iftrim g rep codigo then MessageBox Usuarios Usuario no existe else SELECT cvm cab boleta cli codigo INTO verifica usr FROM cvm cab boleta Nelly P rez Espinosa Pag 5 Manual T cnico PharmaMovil WHERE cvm_cab_boleta rep_codigo g_rep_codigo using sqlca if trim verifica_usr or isnull verifica_usr then MessageBox Usuarios Usuario no autorizado else open w_principal close w_login end if end if end if 4 Objeto w_principal Contiene las opciones principales del sistema de visita m dica los principales botones que presenta esta pantalla son cb 1 cb_2 cb 3 cb 4 Evento clicked del bot n cb 1 Llama a evento open de la ventana w registro visita Evento clicked del bot n cb 2 Llama a evento open de la ventana w mantenimiento clientes Evento clicked del bot n cb 3 Llama a evento open de la ventana w pedidos cliente Evento clicked del bot n cb 4 Llama a evento open de la ventana w reportes 5 Objeto w registro visita
30. bpedi this cb 1 enabled false this cb 2 enabled false this cb 3 enabled false insertar false if dw 2 rowcount lt gt 0 then cabpedi dw 2 getitemnumber dw 2 getrow ped cab codigo dw 3 retrieve cabpedi end if end if end if Evento ue grabar de la ventana w pedidos cliente Descripci n Permite grabar los cambios realizados en la cabecera de pedido verifica que un pedido posea al menos un producto si no es as se emite un mensaje de error Se considera al contacto y la fecha y productos como datos obligatorios Se considera un pedido duplicado cuando se ingresa un pedido para el mismo cliente en la misma fecha C digo string contacto CodCliente cabecera date fecha int cabped faltadx faltadx 0 dw_1 acceptText acepta cambios dw_2 acceptText cabecera if dw_1 rowcount lt gt 0 then si existe clientes CodCliente dw 1 object cli codigo dw 1 getrow dw 2 object ped cli codigo dw 2 getrow cliente asigna variables a datawindow dw 2 object ped cod rep dw 2 getrow g rep codigo fecha dw 2 getitemdate dw 2 getrow ped fecha contacto dw 2 object ped contact codigo dw 2 getrow if isnull contacto or isnull fecha then verifica que la fecha y contacto no sean vac os MessageBox Error Cabecera incompleta faltadx 1 else if dw_3 rowcount 0 then verifica productos MessageBox Error detalle incompleto faltadx 1 cb 1 enabled true cb_2 enabl
31. co PharmaMovil cli matricula cli sexo cli ruc cli direccion domicilio cli telefono personal cli email pot codigo VALUES CodCli Tipo Apellido Nombre matricula Sex ruc direccion telefono email 0001 using sqlca if sglca sglcode O then no existen errores commit using salca return 1 else MessageBox SQL error SQLCA SQLErrText rollback using sqlca return O end if Evento Open de la ventana w buscar Descripci n Permite utilizar la funci n ue buscar que recibe como par metro el ruc del cliente y el apellido almacenados en los controles sle 1 y sle 2 La funci n ue buscar se la describi anteriormente C digo w mantenimiento clientes event ue buscar trim sle 1 text trim sle 2 text 7 Objeto w pedidos cliente Descripci n El evento Open de esta ventana permite utilizar un objeto de transacci n en este caso sqlca el cual suministra la informaci n necesaria para comunicarse con la base de datos Luego realiza el retrieve de los datos tomando como base el par metro g rep codigo que es el c digo del representante de ventas Contiene un men con las siguientes opciones ue insertar w pedidos cliente event ue insertar ue eliminar w pedidos cliente event ue eliminar ue grabar w pedidos cliente event ue grabar cb 1 Inserta productos cb 2 Elimina productos cb 3 Guarda productos C digo dw 1 settransobject sqlca dw 2 settransobject sqlc
32. d false and bandera N then tab 1 tabpage 1 rb productos checked true elseif Tlnt Cant Real 1 and tab 1 tabpage 3 cb 1 enabled true and bandera S then tab 1 tabpage 1 rb productos checked true elseif TInt Cant Real 1 and tab 1 tabpage 3 cb 1 enabled true and bandera S then tab 1 tabpage 1 rb productos checked false elseif Tint Cant Real O and tab_1 tabpage_3 cb_1 enabled false and trim bandera or isnull bandera or trim bandera G then tab_1 tabpage_1 rb_productos checked false elseif Tint Cant Real 1 and tab_1 tabpage_3 cb_1 enabled false and trim bandera or isnull bandera or trim bandera G then tab_1 tabpage_1 rb_productos checked false end if end if Evento selectionchanged del objeto tab_1 Descripci n Verifica si se ha cambiado entre Pages tomando como base el c digo de la boleta consulta si la boleta ha sido visitada S no visitada N o generada G de acuerdo a esto habilita o deshabilita los controles grabar rb_visita rb_no_visita o el datawindows para el ingreso de productos Cuando el campo registro de visita se encuentra vac o tanto el datawindow de productos como los controles drop down listbox de visita y no visita se encuentran deshabilitados Nelly P rez Espinosa Pag 7 Manual T cnico PharmaMovil C digo string fecha ori cau nom nom1 string oricodigo orinombre iftab 1 tabpage 1 dw 1 rowcount lt gt 0 then si existen boletas tab
33. ed true cb_3 enabled true else INERIFICO SI YA EXISTE UN PEDIDO PARA ESE CLIENTE EN ESA FECHA SELECT cvm cab pedidos ped cli codigo INTO cabecera FROM cvm cab pedidos WHERE cvm cab pedidos ped cli codigo CodCliente AND cvm cab pedidos ped fecha fecha AND cvm cab pedidos ped cod rep g rep codigo USING SQLCA if cabecera or insertar false then if dw 2 Update true false 1 then if dw 3 Update 1 then commit using salca dw 2 ResetUpdate dw 3 ResetUpdate this cb 1 enabled true this cb 2 enabled true this cb 3 enabled true m pedidos m opciones m insertar enabled true Nelly P rez Espinosa Pag 22 Manual T cnico PharmaMovil dw_1 enabled true dw_2 enabled true else Messagebox Grabar Error al grabar rollback using sqlca end if else Messagebox Grabar Error al grabar rollback using sqlca end if else MessageBox Error Pedido Duplicado if dw_2 retrieve CodCliente g_rep_codigo gt 0 then dw 2 accepttext cb 1 enabled true cb 2 enabled true cb 3 enabled true dw 1 enabled true dw 2 enabled true m pedidos m opciones m insertar enabled true m pedidos m opciones m guardar enabled true m pedidos m opciones m eliminar enabled true cabped dw 2 getitemnumber dw 2 getrow ped cab codigo dw 3 retrieve cabped insertar false else m pedidos m opciones m insertar enabled true m pedidos m opciones m guardar enabled true m
34. ertar enabled true m pedidos m opciones m guardar enabled true m pedidos m opciones m eliminar enabled true end if if dw_3 Update 1 then actualiza el datawindow commit using sqlca insertar prd false dw 1 enabled true dw 2 enabled true m pedidos m opciones m insertar enabled true m pedidos m opciones m guardar enabled true else Messagebox Grabar Error al grabar rollback using salca end if Evento clicked del bot n cb_3 de la ventana w_pedidos_cliente Manual T cnico PharmaMovil Descripci n Permite grabar los datos de los pedidos Verifica que la cantidad del producto sea diferente de 0 si no es as emite mensaje de error C digo string prd int cant prd dw_3 accepttext acepta cambios dw 2 accepttext if dw_3 rowcount lt gt 0 then existen datos prd dw 3 object cvm det pedidos prd codigo dw 3 getrow cant dw 3 object cvm det pedidos cantidad dw 3 getrow end if if prd or isnull cant then verifica que cantidad haya sido ingresada MessageBox Error Datos incompletos else if dw_2 Update true false 1 then if dw_3 Update 1 then commit using salca dw_2 ResetUpdate insertar_prd false dw_1 enabled true dw_2 enabled true m_pedidos m_opciones m_insertar enabled true m_pedidos m_opciones m_guardar enabled true Messagebox Grabar Grabaci n exitosa else Messagebox Grabar Error al grabar rollback using salca end if else Nelly P
35. et Is registrykey LogPassword RegString as logpass End If If RegistryGet Is registrykey Servername End If If RegistryGet Is registrykey DBParm RegistrySet Is registrykey DBParm RegString as server 1 Then RegistrySet Is registrykey Servername RegistryGet Is registrykey Servername RegString RegString as server RegString as dbparm 1 Then RegString ComnectString DBF DAppTesistudbibdd_ult_cvm udb UlD dba PWD sgql RegistrySet Is registrykey DBParm RegString ComnectString DBF WProgram Filesibdd_ult_cvm udb UlD dba PWD sgql RegistryGet Is registrykey DBParm End If If RegistryGet Is registrykey Lock RegistrySet Is registrykey Lock RegistryGet Is registrykey Lock End If If RegistryGet Is registrykey AutoCommit End If RegString as dbparm RegString as lock 1 Then RegString RegString as lock RegString as autocommit lt gt 1 Then RegistrySet Is registrykey AutoCommit RegistryGet Is registrykey AutoCommit RegString false RegString as autocommit Case IS USE SCRIPT Conexi n a la base de datos a trav s de un Script as dbms as database as userid as dbpass as logid as logpass as server as dbparm UL9 ConnectString DBF DAppTesistudbibdd_ult_cvm udb UlD dba PWD sgql as_dbparm as_lock as_autocommit ConnectString DBF
36. mensaje de error C digo integer cantreal cantplan reg_total i verifica 0 tab 1 tabpage 3 dw 3 accepttext acepto cambios al datawindow de productos reg total tab 1 tabpage 3 dw 3 rowcount if reg total lt gt 0 then si existen productos for i 1 to reg total para cada registro de productos cantreal tab 1 tabpage 3 dw 3 getitemnumber i cvm det boleta det bol cant real 1 cantplan tab 1 tabpage 3 dw 3 getitemnumber i cvm det boleta det bol cant plan verifico que se haga ingresado un valor o valor ingresado sea menor al planificado if cantreal gt cantplan or cantreal 0 00 then verifica 1 end if next if verifica O then tab_1 tabpage_3 dw_3 update commit using salca MessageBox Productos Grabaci n exitosa fsub verifica visita else MessageBox Error Cant real gt Cant plan igual 0 end if else MessageBox Error No existe Datos end if Evento itemchanged del control datawindow dw 2 del registro de visita Descripci n Este evento se dispara cuando el control dropdown listbox de la columna cab bol bandera se ha cambiado si el valor seleccionado es N no visita entonces se activan o los controles de origen y causa de no visita y el bot n grabar si el valor seleccionado es S si visita entonces se desactivan o los controles de origen y causa de no visita y se activa el bot n grabar si el valor seleccionado es Null o vac o generada entonces se desactivan
37. ndow de pedidos dw 2 setfocus dw 2 object ped fecha ll nuevafila today asigna fecha actual al pedido dw 2 object ped cab codigo ll nuevafila cab dw 2 object ped numero ll nuevafila num 1 insertar true cb 1 enabled false cb 2 enabled false cb 3 enabled false m pedidos m opciones m insertar enabled false Evento ue eliminar de la ventana w pedidos cliente Descripci n Permite eliminar un registro en la tabla cvm cab pedidos que es la cabecera de los pedidos verifica primeramente si ese pedido tiene asignado productos si es as emite mensaje que indica que se debe eliminar todos los productos para continuar si la cabecera de pedido est sin productos emite un cuadro de di logo preguntando si est seguro eliminar el registro si es as borra permanentemente ese registro C digo int b string str int cabpedi str dw_3 object datawindow firstrowonpage verifica si existen productos if str lt gt 0 then messagebox Pedidos Favor elimine productos stopsign return else si no hay productos b Messagebox Advertencia Est seguro de borrar el registro Exclamation YesNo if b 1 then cabpedi dw_2 getitemnumber dw_2 getrow bed cab codigo dw_2 deleterow dw_2 getrow lelimina permanentemente el pedido de la tabla cm cab pedidos DELETE FROM cvm_cab_pedidos Nelly P rez Espinosa Pag 21 Manual T cnico PharmaMovil WHERE cvm_cab_pedidos ped_cab_codigo ca
38. orario lt gt 0 AND len trim ruta lt gt O then Iinsercion en cliente dw 1 object tip cli codigo dw 1 getrow tip cli dw 1 object cli sexo dw 1 getrow sexo dw_1 object pot_codigo dw_1 getrow 0001 linsercion en lug vis cli dw 4 object cli codigo dw 4 getrow codigo dw 4 object lug vis codigo dw 4 getrow lug vis dw 4 object hor ate codigo dw 4 getrow horario dw 4 accepttext linsercion en Tabla R019 Cliente especialidad dw 3 object esp codigo dw 1 getrow especialidad dw 3 object cli codigo dw 1 getrow codigo dw 3 accepttext Insercion en la tabla orden ruta dw 5 object cli codigo dw 5 getrow codigo dw 5 object lug vis codigo dw 5 getrow lug vis dw 5 object rut codigo dw 5 getrow ruta dw 5 object ord rut orden dw 5 getrow 1 dw 5 object esp codigo dw 5 getrow especialidad dw 5 accepttext Manejo de transaccion if dw_1 update true false 1 then Nelly P rez Espinosa Pag 18 Manual T cnico PharmaMovil if dw_3 update true false 1 then if dw_4 update true false 1 then if dw_5 update 1 then commit using salca dw_1 ResetUpdate dw_3 ResetUpdate dw_4 ResetUpdate dw_5 ResetUpdate Messagebox Nuevo cliente Grabaci n exitosa close parent else error nuevo true Messagebox Error al Grabar Ruta rollback using salca end if else error_nuevo true Messagebox Error al Grabar Lugar Visita rollback using sqlca end if else er
39. ror nuevo true Messagebox Error al Grabar Especialidad rollback using salca end if else error_nuevo true Messagebox Error al Grabar Cliente rollback using sqlca end if else error nuevo true MessageBox Error Datos incompletos end if else error_nuevo true MessageBox Error Ingrese 9 d gitos para Tel fono end if else error_nuevo true MessageBox Error C digo incorrecto end if Funci n Insert client string codcli string apellido string nombre string tipo string sex Descripci n Recibe como par metros al c digo de cliente apellido nombre tipo sex y los almacena en la base de datos a trav s de una funci n SQL Insert Si sqlca sqlcode es igual a O significa que la inserci n fue exitosa entonces realiza un commit a la transacci n caso contrario realiza un rollback a la transacci n C digo if len CodCli lt gt 10 then si no son 10 d gitos en la c dula MessageBox Error C dula incorrecta return 1 end if matricula dw 1 getitemstring dw 1 getrow cli matricula ruc dw 1 getitemstring dw 1 getrow cli ruc direccion dw 1 getitemstring dw 1 getrow cli direccion domicilio telefono dw 1 getitemstring dw 1 getrow cli telefono personal potencialidad dw 1 getitemstring dw 1 getrow pot codigo INSERT INTO cvm cliente cli codigo tip cli codigo cli apellido1 cli nombre1 Nelly P rez Espinosa Pag 19 Manual T cni
40. todos los controles Los principales controles de esta ventana son dw 1 datawindow de datos de boleta numero de boleta cliente lugar de visita dw 2 datawindow del registro de visita dw 3 datawindow del registro de productos cb 1 bot n Grabar de registro de productos Nelly P rez Espinosa Pag 10 Manual T cnico PharmaMovil cb_2 bot n Grabar de registro de visita C digo string fecha origen causas tab 1 tabpage 2 dw 2 accepttext acepto todos los cambios del registro de visita lasigno a variable bandera el c digo de la boleta bandera tab 1 tabpage 2 dw 2 getitemstring tab 1 tabpage 2 dw 2 getrow cab bol bandera if bandera N then si no se visita tab 1 tabpage 2 dw 2 object cab bol fecha tab 1 tabpage 2 dw 2 getrow today tab 1 tabpage 2 dw 2 Object cab bol fecha TabSequence 20 tab 1 tabpage 2 dw 2 Object cab bol observaciones TabSequence 30 tab 1 tabpage 2 ddlb causas enabled true tab 1 tabpage 2 ddlb origen enabled true tab 1 tabpage 3 dw 3 enabled false tab 1 tabpage 3 cb 1 enabled false fecha string tab 1 tabpage 2 dw 2 object cab bol fecha tab 1 tabpage 2 dw 2 getrow if isnull origen or isnull causas or isnull fecha then tab 1 tabpage 2 cb 2 enabled false else tab 1 tabpage 2 cb 2 enabled true end if falta el boton grabar elseif trim bandera or isnull bandera then si boleta es generada tab 1 tabpage 2 ddlb causas enabled false tab
41. ugar de visita del cliente cb 1 bot n Grabar Nelly P rez Espinosa Pag 11 Manual T cnico PharmaMovil C digo dw_1 settransobject sqlca tab_1 tabpage_1 dw_2 settransobject sqlca tab_1 tabpage_2 dw_3 settransobject sqlca tab_1 tabpage_1 text Clientes tab_1 tabpage_2 text Lugar Trabajo if dw_1 retrieve gt O then si existen datos lalmaceno el c digo de cliente activo en ese momento en variable cliente cliente dw_1 getitemstring dw 1 getrow cli codigo tab_1 tabpage_1 dw_2 retrieve cliente hago retrieve de datos utilizando el c digo de cliente end if Esta ventana contiene 3 funciones principales ue actualiza cli ue buscar ue elimina cli Funci n ue actualiza cli Descripci n Realiza un retrieve de datos C digo dw 1 retrieve Funci n ue buscar string cli string apellido Descripci n Permite realizar la b squeda de un cliente ya sea por c dula de identidad o por apellido para lo cual utiliza los par metros enviados a la funci n cli y apellido si estos son diferentes de vac o hace una consulta a la base de datos para encontrar el cliente caso contrario emite un mensaje de error C digo int codigo encontrado string ruc encontrado close w buscar cierro ventana buscar if dw 1 rowcount gt 0 then si maestro de clientes tiene registros if trim cli lt gt and trim apellido then busca por ruc SELECT count cvm cliente cli codigo busca en la
Download Pdf Manuals
Related Search
Related Contents
Emerson CF704SAW02 Owner's Manual Scroll Down for English Translation Stereo-Leistungsverstärker Concentrador USB 2.0 de alta velocidad PH150 Kenwood KVT-737DVD User's Manual 電温ユプロ<フルオート> Samsung Музичний центр MX-D630 Керівництво користувача POLITICAS DE GARANTÍAS Copyright © All rights reserved.
Failed to retrieve file