Imprimir pagina | Cerrar ventana

Nueva funcion programable

Printed From: Macri y Asociados
Categoria: CRM
Nombre Foro: Uso
Descripcion foro: Foro sobre uso funcional del CRM
URL: https://soporte.macri.com.ar/forum_posts.asp?TID=4535
Fecha de impresion: 22/Febrero/2025 en 5:49am


Topic: Nueva funcion programable
Posteado por : tecveneto
Encabezado: Nueva funcion programable
Fecha de posteo: 09/Octubre/2024 en 8:42am
Buenos dias!

En una de las últimas actualizaciones del CRM GO se detalla como novedad:

"Se agrega función programable para que se actualicen datos del presupuesto al cambiar otro campo (del encabezado o de la grilla de renglones)"

Podrán indicarme el nombre?

Muchas gracias. Saludos.



Respuestas:
Posteado por : pablomacri
Fecha de posteo: 09/Octubre/2024 en 9:51am
Lucas:
la funcion de sql es fn_crm_getCamposPresupuesto

debajo te copio un ejemplo en el que agregando un campo adicional ListaPrecios en los renglones del presupuesto, te permite cambiar la lista de precios por cada renglon, y te cambia el precio del renglon


CREATE function [dbo].[fn_crm_getCamposPresupuesto] (
@campos crm_camposType READONLY,
@controlOrigen varchar(200),
@id_vendedor int
) returns @camposNuevos table (
    campo varchar(200) collate latin1_general_bin not null,
    valorTexto varchar(8000) collate latin1_general_bin null,
    valorNumerico decimal(18,2) null,
    valorFecha datetime null,
valorBit bit null
)
AS
BEGIN
if upper(@controlOrigen) in (upper('GrPresupuestosRenglones.CA_ListaPrecios'))
begin

declare @listaRenglon int=0, @listaGeneral int=0, @lista int=null, @cod_articu varchar(15)='', @precio decimal(18,2)=null
select @listaRenglon=coalesce(valorNumerico,0) from @campos where upper(campo) =upper('GrPresupuestosRenglones.CA_ListaPrecios')
select @listaGeneral=coalesce(valortexto,0) from @campos where upper(campo) =upper('TxtNroLista')
select @cod_articu=coalesce(valortexto,'') from @campos where upper(campo) =upper('GrPresupuestosRenglones.Cod_articu')
insert into @camposNuevos(campo,valorNumerico) values('GrPresupuestosRenglones.Precio',coalesce(@precio,0))

if @listaRenglon>0 
begin
set @lista=@listarenglon
end
else
begin
set @lista=@listaGeneral
end
if @lista>0 and exists(select * from gva10 where NRO_DE_LIS=@lista) and exists(select * from sta11 where cod_articu=@cod_articu)
begin
select @precio=coalesce(PRECIO,0) from gva17 where NRO_DE_LIS=@lista and COD_ARTICU=@cod_articu
insert into @camposNuevos(campo,valorNumerico) values('GrPresupuestosRenglones.Precio',coalesce(@precio,0))
end
end

return
END
GO



-------------
Pablo S. Macri
Gerente de Sistemas
Macri & Asociados S.A.
http://www.macri.com.ar


Posteado por : tecveneto
Fecha de posteo: 09/Octubre/2024 en 3:59pm
Gracias Pablo! Podrás detallarme cómo sería el tipo crm_camposType? No tengo la función ni el tipo en la base. Muchas gracias.




Posteado por : pablomacri
Fecha de posteo: 09/Octubre/2024 en 4:15pm
te paso, pense que estaba por defecto


CREATE TYPE crm_CamposType AS TABLE
(
    campo varchar(200) collate latin1_general_bin not null ,
    valorTexto varchar(8000) collate latin1_general_bin null,
    valorNumerico decimal(18,2) null,
    valorFecha datetime null,
valorBit bit null
)
GO




-------------
Pablo S. Macri
Gerente de Sistemas
Macri & Asociados S.A.
http://www.macri.com.ar



Imprimir pagina | Cerrar ventana