Skip to Content

Problema fecha de Vencimiento factura de proveedores

Buena Tarde expertos de esta comunidad estoy trabajando en un bloqueo pero no he llegado a un buen resultado, lo que necesito hacer es lo siguiente: Mientras se este creando la Factura de Proveedores , al asignarle la fecha de contabilización logicamente se le asigna automaticamente la fecha de vencimiento en el ejemplo de la imagen que adjunto es un cliente de un dia de credito, pero se ha dado el caso que algunos empleados le cambian la fecha de vencimiento y se la prolongan o viceversa, es por ello que quiero realizar un bloqueo que no deje crear la factura de proveedores si la fecha de la factura de proveedores es la que le corresponde, ya intente de varias formas y no logro hacerlo , si alguien me pudiera ayudar con esto, estaria extremadamente agradecido.

saludos cordiales

Querys que he probado y no evita la creacion de la factura 😔

IF @object_type = '18' AND @transaction_type = 'U' , 'A'

Begin

Declare @Log Varchar(20)

Declare @FechaProv Varchar(20)

SET @Log = (SELECT T0.Docduedate FROM ADOC T0 WHERE T0.ObjType = @object_type AND T0.DocEntry = @list_of_cols_val_tab_del AND

T0.LogInstanc = (SELECT TOP 1 T1.LogInstanc FROM ADOC T1 WHERE T1.DocEntry = @list_of_cols_val_tab_del AND T1.ObjType = @object_type

ORDER BY T1.LogInstanc DESC))

SET @FechaProv = (SELECT T0.DocDuedate FROM OPCH T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del)

IF @FechaProv != @Log

BEGIN

Set @error = -00231

Set @error_message = 'No Puedes cambiar fecha de vencimiento'

END

END

--Bloqueo de modificacion de fecha de vencimiento al crear factura proveedores

IF @object_type = '18' AND @transaction_type = 'A'

Begin

Declare @userI int

Set @userI = (Select t3.UserSign2 FROM ORCT t3 WHERE t3.DocEntry = @list_of_cols_val_tab_del)

IF @userI <>1

BEGIN

Set @error = -00231

Set @error_message = 'No tiene permiso de actualizar!! :('

END

END

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • Best Answer
    Posted on Jan 10, 2014 at 07:25 PM

    El query que me soluciono el problema fue este :

    if @object_type in ('18')and @transaction_type in ('A', 'U')

    begin

    declare @fecha1 as datetime

    declare @extramonth as int

    declare @extradays as int

    SELECT @extramonth =T1.ExtraMonth,@extradays=T1.ExtraDays,@fecha1=t0.docdate

    FROM OPCH T0 INNER JOIN OCTG T1 ON T0.GroupNum = T1.GroupNum

    WHERE @list_of_cols_val_tab_del= T0.DocEntry

    if

    (SELECT convert(varchar,T0.DocDueDate,103)

    FROM OPCH T0 WHERE @list_of_cols_val_tab_del= T0.DocEntry)

    <>(select convert(varchar, (DATEADD(m,@extramonth,@fecha1)+@extradays), 103))

    begin

    set @error = 11

    set @error_message

    = 'Fecha de vencimiento no permitida de acuerdo a las condiciones de pago con el proveedor.'

    End

    end

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 09, 2014 at 07:58 PM

    mi recomendación es que no trabajes con los log.

    Deberias calcular la fecha de vencimiento basada en la condición de pago del socio de negocios y contra ese dato habría que validarlo

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jan 09, 2014 at 09:22 PM

    Hola

    Revisa este tema para ver si puedes acoplar el query . En un rato hare pruebas en mi base y te comento.

    Saludos..

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.