llamada a procedimiento almacenado de sql server por código desde un elemento de Cálculo

SUGGESTED

Buenas tardes.

No se si este es el lugar adecuado para hacer esta consulta.

Quisiera saber en sage 200 si es posible ejecutar un procedimiento almacenado de sql server desde un elemento de Cálculo del repositorio, si existiese alguna función de sage que lo permitiera.

Un ejemplo de lo que quisiera hacer es que cuando se calcule la cabecera de un albarán de ventas se ejecute un procedimiento almacenado de sql server que podría enviar ia información del albarán por email a un usuario o registrarlo en fichero externo.

Muchas gracias.

  • 0
    SUGGESTED

    Con la función EjecutaSQL puedes construir una sentencia SQL que te ejecuta cualquier consulta, entre ellas un EXEC para ejecutar un procedimiento almacenado con sus parámetros. Por ejemplo, en una de mis personalizaciones tengo:

    T_Sql = "EXEC:=EXEC A_ModificaArticulosCopiados '" & Art.CodigoArticulo & "', " & Apli.ApliCodigoEmpresa
    num = EjecutaSQL(T_Sql)

    Donde A_ModificaArticulosCopiados es el nombre de un procedimiento almacenado que requiere dos parámetros, un código de artículo y un número de empresa.

  • 0

    Hola Manuel.

    Entiendo que lo que quieres hacer a 'grosso modo' es sacar info concreta de Sage y procesarla con la libertad de SQL Server. Yo lo que he hecho en algunos casos que he necesitado algo parecido es, por ejemplo, crear triggers en ArticuloCliente para tener un historico de cambios sobre otra tabla mia con estructura muy parecida.

    Dentro de S200, se puede programar una operacion que se mete en el Scheduler y se ejecuta cada X tiempo para enviar mails, usando la funcion 'ListadoEjecuta'. que lanza un report con los filtros que se quiera (previamente se debe haber definido el report para envio por mail).

    De esto ultimo, tienes info en los archivos .chm de ayuda.

    Saludos.

    JL

  • 0 in reply to JLST

    Muchas gracias por la información. No conocía esa función EjecutaSQL. La probaré para confirmar que funcione sin problemas. 

  • 0 in reply to JLAver

    Hola gracias por tu respuesta.
    Estoy trabajando también con triggers como comentas, y probablemente en la mayoría de situaciones recurra a ellos. Pero la posibilidad de ejecutar un procedimiento almacenado me parece interesante para enlazarlo con el botón de un formulario de sage por poner un ejemplo.
    Lo que indicas de los listados del scheduler lo utilizo también, pero la pega es que como dices es programado, y no como consecuencia de una acción determinada.
     Me interesa lo de los ficheros de ayuda .chm, porque solamente tengo en mi poder uno llamado LcScript.chm que contiene la información de las funciones. ¿Pero existen otros chm de sage recomendables? ¿Cómo podría obtenerlos? Estoy buscando en las carpetas de instalación de sage y no los encuentro.

  • 0 in reply to Manuel Martinez

    Los archivos de ayuda CHM los tienes en la carpeta de programas, donde está Sage200c.exe. El principal es Logic.chm, y desde él accedes a todos.

    Ten en cuenta que son los archivos de ayuda de Logic Class, la aplicación original de la que han derivado Sage Murano, Sage 200 y Sage Despachos. Es decir, todo lo que hace referencia a personalización es totalmente válido, pero la interfaz de usuario ha cambiado.

    Si lo que quieres hacer con un proceso programado es enviar correo electrónico con información del albarán, investiga también la función EnviaCorreo.

  • 0 in reply to JLST

    Ya he encontrado los ficheros chm. Estaba buscándolos en el sitio equivocado.

    La función EnviaCorreo la utilizo ya en procedimientos almacenados generando csv y adjuntándolo en el email enviado.

    Gracias.