cancel
Showing results for 
Search instead for 
Did you mean: 

Evitar el crear una factura sin un campo

former_member211460
Participant
0 Kudos

Debido a que a veces se llega ir algun documento sin un campo ( en este caso numero de referencia) hice un query el cual puse en SBO_SP_TRANSACTIONNOTIFICATION de Store Procedure para evitar que se vayan documentos sin este campo , si me funciona pero me afectó en un add on que tengo de tablas definidas por el usuario el cual me duplica folios de las facturas

Gracias

Estes es el query

IF @object_type = 13 and @transaction_type in ('A')

BEGIN

declare @referencia varchar(100)

SELECT @referencia = OINV.Numatcard

FROM OINV

WHERE @list_of_cols_val_tab_del=OINV.DocEntry

if @referencia is null

begin

set @error = 1

set @error_message = 'Falta Numero de Pedido '

end

End

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hola...

Yo solo te sugeriría que modifiques el dato de OINV.Numatcard, quedando del modo siguiente:

IF @object_type = 13 and @transaction_type in ('A')
BEGIN
declare @referencia varchar(100)
SET @referencia = (SELECT T0.Numatcard FROM OINV T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)
if @referencia is null 
begin
set @error = 1
set @error_message = 'Falta Numero de Pedido '
end
End

Espero te sea de ayuda

Saludos Cordiales,

former_member211460
Participant
0 Kudos

Gracias por tu respuesta ,

Con el nuevo query me sigue mandando los errores y la duplicacion de folios de hecho al ingresa a facturas de clientes me manda este error

[Microsoft][SQL Native Client][SQL Server] Conversion failed when converting the nvarchar value

'-3@EINVSERIES' to data type int. (CINF)

como les comentaba si funciona el stored procedure

saludos

former_member188440
Active Contributor
0 Kudos

No se si te entendi bien, manejas mas de una serie? osea tu addon utiliza otra serie de facturas?, si es asi , quizas falte unicamente otra validacion en el stored para el campo oinv.series

former_member211460
Participant
0 Kudos

Gracias por responder

Si, utilizo tres tipos de series

B Facturas de clientes

C Notas de credito

D Notas de cargo o Debito

entonces como puedo poner esta validacion?

Saludos

former_member188440
Active Contributor
0 Kudos

Puedes poner tu validacion en el mismo codigo que estas utilizando, declara una variable para almacenar tu serie que viene en la oinv


if object_type in (13) and........
begin
declare @serie as nvarchar(1)
set @serie=(select series from oinv where docentry=@list_of_cols..........
if @serie=B--- o el tipo de serie que si quieres que pase por este transaction
begin

---------- todo tu codigo

end
end

algo asi

former_member211460
Participant
0 Kudos

Sigue sin funcionar , de que otra forma pudiera hacer que ese campo sea obligatorio ?

no se tal vez mi codido tenga alro raro

Saludos

former_member188440
Active Contributor
0 Kudos

Ok ya mencionaste algo sobre campo obligatorio, que campo debe ser obligatorio?

Puedes ser mas detallista con tu requerimiento?

former_member211460
Participant
0 Kudos

Gracias por contestar

el campo obligatorio es en facturas de clientes , Número de referencia de deudor (Numatcard)

saludos

former_member188440
Active Contributor
0 Kudos

Ok solo agrega lo siguiente



if object_type in (13) and........
begin
declare @serie as nvarchar(1)
declare @numatcard as nvarchar (20)
set @numatcard =(select numatcard from oinv where docentry=@list_of_cols..........
if len(@numatcard)<1
begin 
set @error=1
set @error_message='Falta numero de referencia'
end
set @serie=(select series from oinv where docentry=@list_of_cols..........
if @serie=B--- o el tipo de serie que si quieres que pase por este transaction
begin
 
---------- todo tu codigo
 
end
end