cancel
Showing results for 
Search instead for 
Did you mean: 

Validación de margen de ventas en $

marco_ramirez
Active Contributor
0 Kudos

Estimados

en su momento resolvi el tema de validación de margen de ventas en moneda local con el código que les dejo abajo.

para la moneda local este me funciona perfectamente, sin embargo, ahora se me presenta el escenerio de validar moneda

dólar o moneda local indistintamente, no he podido lograrlo, alguno pudiera darme alguna idea de que hacer al respecto

gracias

----Factura de clientes
if @Object_type = '13' and (@transaction_type = 'A' or @transaction_type = 'U')
begin
	Declare @margen int
	Declare cMargen cursor for
	select ((T0.Price-T2.AvgPrice)/T0.Price)*100 
				from INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry  
							 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode 
				where T0.DocEntry = @list_of_cols_val_tab_del and T1.U_Autoriza = 'NO' and T0.ItemCode <> '00000'

	Open cMargen
	Fetch cMargen into @margen
	while @@Fetch_Status = 0 
		begin
		if @margen <= 19.99
			begin
				Set @error = 1
				Set @error_message = 'Desviación en creación de documento. Solcite autorización'
				Deallocate cMargen
				goto Fin
			end
		Fetch cMargen into @margen
		end
close cMargen
Deallocate cMargen
end

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hola

Tendrias que evaluar entonces el tipo de moneda, algo así


(case when (Doccur='USD') 
							then (select ((T0.Price-T2.AvgPrice)/T0.Price)*100 
				from INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry  
							 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode 
				where T0.DocEntry = @list_of_cols_val_tab_del and T1.U_Autoriza = 'NO' and T0.ItemCode  '00000'
							else (case when Doccur='EUR' then 
									(select ((T0.Price-T2.AvgPrice)/T0.Price)*100 
				from INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry  
							 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode 
				where T0.DocEntry = @list_of_cols_val_tab_del and T1.U_Autoriza = 'NO' and T0.ItemCode  '00000')
									else (select ((T0.Price-T2.AvgPrice)/T0.Price)*100 
				from INV1 T0 INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry  
							 INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode 
				where T0.DocEntry = @list_of_cols_val_tab_del and T1.U_Autoriza = 'NO' and T0.ItemCode  '00000')
									end) 
							end),

Saludos.

marco_ramirez
Active Contributor
0 Kudos

Gracias por el aporte, he hecho las pruebas pero no ha funcionado.