Advertisement
pjmakey2

WindevSendMailOC

Apr 21st, 2020
3,955
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Is a row selected?
  2. IF TableSelect(TABLE_ORDENCOMPRA)=-1 THEN RETURN
  3.  
  4. IF TABLE_ORDENCOMPRA.COL_RechazadoFechaHora > gdfch20000101 THEN
  5.     Info("RECHAZADO PREVIAMENTE...")
  6.    
  7. ELSE IF TABLE_ORDENCOMPRA.COL_AprobadoFechaHora > gdfch20000101 THEN
  8.     SaveTable is string
  9.     SaveTable = TableSavePositionAndSelection(TABLE_ORDENCOMPRA)
  10.    
  11.     IF TABLE_ORDENCOMPRA.COL_FechaActivacion > DateTimeUTCToLocal(HInfoServer("CONN_BASEDEDATOS",hInfoDate))[[1 TO 8]] THEN
  12.         Info("ESTE PEDIDO SE ACTIVA EL " + DateToString(TABLE_ORDENCOMPRA.COL_FechaActivacion),"NO PUEDE IMPRIMIR HASTA ESTA FECHA")
  13.         RETURN
  14.     END
  15.    
  16.     IF YesNo(Yes,"SEGURO DE ENVIAR EL MAIL AL PROVEEDOR?") = Yes THEN
  17.         sMailDestino is string
  18.         HReadSeekFirst(EGR_SOLICITUDEGRESO, EGR_SolicitudEgresoID, TABLE_ORDENCOMPRA.COL_EGR_OrdenCompraID)
  19.         HReadSeekFirst(DIRECCIONES, ClienteID, EGR_SOLICITUDEGRESO.ProveedorID) // para mail
  20.         sMailDestino    = NoSpace(DIRECCIONES.Email)
  21.         # IF HReadSeekFirst(E_CLIENTECONTACTOS,ClienteID,CLIENTES.ClienteID) = True THEN
  22.         #     IF HReadSeekFirst(CONTACTOS,CONTACTOSID,E_CLIENTECONTACTOS.CONTACTOSID) = True THEN
  23.         #         IF CONTACTOS.Email <> "" THEN
  24.         #             sMailDestino = sMailDestino + "," + NoSpace(CONTACTOS.Email)
  25.         #         END
  26.         #     END
  27.         # END
  28.        
  29. // se marca la aprobación del presupuesto    
  30.         HReadSeekFirst(EGR_PRESUPUESTO,SolicitudEgresoID,EGR_SOLICITUDEGRESO.SolicitudEgresoID)
  31.         WHILE NOT HOut() AND EGR_PRESUPUESTO.SolicitudEgresoID = EGR_SOLICITUDEGRESO.SolicitudEgresoID
  32.             EGR_PRESUPUESTO.SolicitudEgresoID       = EGR_SOLICITUDEGRESO.SolicitudEgresoID
  33.             EGR_PRESUPUESTO.AprobadoFechaHora       = EGR_SOLICITUDEGRESO.AprobadoOCompraFechaHora
  34.             EGR_PRESUPUESTO.AprobadoOperador        = EGR_SOLICITUDEGRESO.AprobadoOCompraOperador
  35.             IF EGR_PRESUPUESTO.VerificadoFechaHora < gdfch20000101 THEN
  36.                 EGR_PRESUPUESTO.VerificadoFechaHora = EGR_PRESUPUESTO.AprobadoFechaHora
  37.                 EGR_PRESUPUESTO.VerificadoOperador  = EGR_PRESUPUESTO.AprobadoOperador
  38.             END
  39.             HModify(EGR_PRESUPUESTO)
  40.            
  41.             HReadNext(EGR_PRESUPUESTO)
  42.         END
  43.        
  44.         //Info("Hasta aqui he llegado")
  45.        
  46.         gbImprimir = True
  47.         sNomArchivo is string   = gsDirTemporal + "\ordencompra" + EGR_SOLICITUDEGRESO.EGR_SolicitudEgresoID + ".pdf"
  48.         //
  49.         iInitReportQuery(RPT_OC_CLIENTE,EGR_SOLICITUDEGRESO.SolicitudEgresoID)
  50.         //iDestination(iGenericPDF, sNomArchivo)
  51.  
  52.         iDestination(iPDF, sNomArchivo)
  53.         iPrintReport(RPT_OC_CLIENTE)
  54.                        
  55.         // generar un correo con la o.c.
  56.                        
  57.         myEmail is Email
  58.         myAttach is EmailAttach
  59.                        
  60.         // Start a SMTP session
  61.         MySession is EmailSMTPSession
  62.        
  63.         MySession..ServerAddress = INIRead("MAIL", "ServerAddress", "Falta definir Servidor de correo",IniLineaComando) //"mail.aconcagua.com.py"
  64.         MySession..Name          = INIRead("MAIL", "Name", "Falta definir nombre de administrador",IniLineaComando) // "supervisor_red"
  65.         MySession..Password      = INIRead("MAIL", "Password", "Falta definir contraseña",IniLineaComando) // "RyutaSensei"
  66.         MySession..Port          = INIRead("MAIL", "Port", "Falta definir puerto",IniLineaComando) // 25
  67.         EmailStartSession(MySession)
  68.                    
  69.         myEmail..Message        = INIRead("MAIL", "Message", "Falta definir mensaje",IniLineaComando) + " Nº " + EGR_SOLICITUDEGRESO.SolicitudNro + "." // "Adjuntamos nuestra orden de compra."
  70.         myEmail..Sender         = INIRead("MAIL", "Sender", "Falta definir Remitente",IniLineaComando) // "informatica@aconcagua.com.py"
  71.         myEmail..Subject        = INIRead("MAIL", "Subject", "Falta definir Asunto",IniLineaComando) + " " + EGR_SOLICITUDEGRESO.SolicitudNro // "Orden de compra"
  72.         myAttach..Name          = "correo.pdf"
  73.         myAttach..Content       = fLoadText(sNomArchivo)
  74.        
  75.         myAttach..ContentType   = "application/pdf"
  76.         myAttach..ContentDescription = "Un documento pdf"
  77.         Add(myEmail..Attach, myAttach)
  78.         IF sMailDestino <> "" THEN
  79.             myEmail..Recipient[1]   = sMailDestino
  80.         #     IF CONTACTOS.Email <> "" THEN
  81.         #         myEmail..Recipient[2]   = CONTACTOS.Email
  82.         #         myEmail..Recipient[3]   = INIRead("MAIL", "Recipient2", "Falta definir receptor 2",IniLineaComando) // DIRECCIONES.Email
  83.         #         myEmail..Recipient[4]   = INIRead("MAIL", "Recipient3", "Falta definir receptor3",IniLineaComando)
  84.         #         myEmail..Recipient[5]   = INIRead("MAIL", "Recipient4", "Falta definir receptor3",IniLineaComando)
  85.                
  86.         #     ELSE
  87.         #         myEmail..Recipient[2]   = INIRead("MAIL", "Recipient2", "Falta definir receptor 2",IniLineaComando) // DIRECCIONES.Email
  88.         #         myEmail..Recipient[3]   = INIRead("MAIL", "Recipient3", "Falta definir receptor3",IniLineaComando)
  89.         #         myEmail..Recipient[4]   = INIRead("MAIL", "Recipient4", "Falta definir receptor3",IniLineaComando)
  90.                
  91.         #     END
  92.                            
  93.         # ELSE
  94.             myEmail..Recipient[1]   = INIRead("MAIL", "Recipient2", "Falta definir receptor2",IniLineaComando)
  95.             myEmail..Recipient[2]   = INIRead("MAIL", "Recipient3", "Falta definir receptor 3",IniLineaComando) // DIRECCIONES.Email
  96.             myEmail..Recipient[3]   = INIRead("MAIL", "Recipient4", "Falta definir receptor 3",IniLineaComando)
  97.             sMailDestino = ''
  98.            
  99.         # END
  100.        
  101.        
  102.         // Send the message
  103.         EmailSendMessage(MySession, myEmail)
  104.        
  105.  
  106. // genera la solicitud
  107.        
  108.         IF TABLE_ORDENCOMPRA.COL_ImpresionFechahora < gdfch20000101 THEN
  109.            
  110.             TABLE_ORDENCOMPRA.COL_ImpresionFechahora = DateTimeUTCToLocal(HInfoServer("CONN_BASEDEDATOS",hInfoDate))
  111.             EGR_SOLICITUDEGRESO.ImpresoOCompraFechaHora = DateTimeUTCToLocal(HInfoServer("CONN_BASEDEDATOS",hInfoDate))
  112.             EGR_SOLICITUDEGRESO.ImpresoOCompraOperador  = GUSERCOMPLETENAME
  113.             EGR_SOLICITUDEGRESO.TipoRegistro        = "CABECERA"
  114.             IF NOT HModify(EGR_SOLICITUDEGRESO) THEN
  115.                 Info("ERROR regrabación SOLICITUDEGRESO " + HError())
  116.                 RETURN
  117.             END
  118.            
  119.             lsProcedureName = "WIN_Form_EGR_SolicitudEgreso"  // debe ser con este nombre para iniciar la nueva secuencia
  120.             gsBloqueoEtapa  = "IMPRIMIR"
  121.             Inicio_Control_Proceso("EGRESO",lsProcedureName,gsBloqueoEtapa,NumToString(EGR_SOLICITUDEGRESO.SolicitudNro,"5d"),"CERRAR")
  122.            
  123.             gsBloqueoEtapa  = "RECIBIDO CONFORME"
  124.             Inicio_Control_Proceso("EGRESO",lsProcedureName,gsBloqueoEtapa,NumToString(EGR_SOLICITUDEGRESO.SolicitudNro,"5d"),"ABRIR")
  125.         END
  126.     END
  127.  
  128.     TableDisplay(TABLE_ORDENCOMPRA,taInit)
  129.     TableRestorePositionAndSelection(TABLE_ORDENCOMPRA, SaveTable)
  130.  
  131. ELSE
  132.     Info("LA ORDEN NO ESTA APROBADA...")
  133. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement