Estoy necesitando un “bloqueo” para que los usuarios de ventas solo puedan hacer órdenes de venta y facturas utilizando los materiales que hay en un solo almacén, almacén de aprobados.
Estuve leyendo sobre una opción en usuarios, valores predeterminados, y ahí puedes seleccionar un almacén para el usuario seleccionado pero probé a realizar una factura y me dejó.
Sabeis para que sirven realmente estos valores predeterminados en los usuarios y como podría hacer cierto bloqueo? se me ocurre por TN pero el día que añadan un nuevo almacén ese bloqueo no va a funcionar…
Buen día, efectivamente lo indicado por usted es una forma correcta de proceder, pero debieras complementar con dejar el campo Almacén como solo lectura, y que no puedan modificar las parametrizaciones de formulario.
La otra sería que crees un modelo IU y establecerlo para los vendedores.
El problema con modificar el IU y dejar el campo solo lectura, es que va a tomar el almacén por default del artículo, y por un tema del rubro de la empresa en ningún caso puede ser el de aprobados.
La única forma que se me ocurre es seleccionando el almacén como valor predeterminado al usuario para que en todos los documentos lo tome por default, quitar el almacén por default en los artículos( aquí esta mi principal inconveniente ) y poner el campo almacén en los documentos de venta como solo lectura…
O con TN… no se me ocurre otra opción
Tal vez por DTW se podría quitar el almacén predeterminado, nunca lo he hecho pero podría ser, debería ser a través del campo: DefaultWarehouse/DfltWH
Actualizando un valor nulo…
Saludos.
Actualización
Checa esto:
Hi,
little late to the party on this one but I had a similar issue today and found the answer.
Use a “/” (forward-slash) in your DTW file and it will set the field to NULL for you.
I don’t know if this works for numeric fields (probably not) but it worked for me on several string fields I needed to clear in various Master Data objects.
Mi problema es que si quito el almacén predeterminado no entrarán por default en ese almacén y no se que impacto puede tener quitar ese almacén predeterminado…esa es la parte que no me convence de hacerlo de esta forma y estoy pensando en armar un TN, Aún así creo que es una forma a tener en cuenta para mi inconveniente con las ventas
Yo tuve el problema que los vendedores sacaban productos de cualquier bodega y generaban problemas a otras areas, la limitante es que se puede facturar solo de una bodega, lo solucione de la siguiente forma:
Cree tantas opciones de usuarios como bodega de facturación existieran y en valores propuestos la bodega desde la cual deben facturar y a cada usuario le asigne estos valores.
En TN cree una regla que validara que la bodega desde donde se saca el producto sea la misma del usuario
Yo lo tengo de esta manera. A los usuarios se le tienen asignado unos almacenes y en la parte de las ventas, el campo almacén esta de tipo lectura. La opción que comenta Sergio_Perez también es buena
Buen dia @PP24, creo que lo que necesitas en el TN pero míralo de la vereda apuesta, en la restricción del TN asigna la bodega con un in, así cada bodega que agregues no afectara. Restringe por ID de usuario y por Numero de almacén.
por ejemplo (este ejemplo lo hice para entregas y facturas, no considerando las facturas de reserva), para que los usuarios incluidos en el NT pudieran mover artículos de 3 bodegas solamente.
Saludos Cordiales. Que tengan todos buen día y felices fiestas.
IF (@transaction_type=‘A’) or (@transaction_type=‘U’)
IF (@object_type = ‘13’)
begin
if exists (select WhsCode from INV1 T inner join OINV T1 on T1.docentry = T.Docentry
where T.docentry = @list_of_cols_val_tab_del
and T.WhsCode in (‘01’,‘04’,‘06’)
and T1.IsIns = 'N’
and T1.usersign in (‘29’,‘30’,‘31’,‘33’,‘50’,
‘111’,‘117’,‘150’,‘155’,‘158’,‘161’,
‘169’,‘173’,‘174’,‘198’,‘199’,‘205’,‘207’,‘145’,‘146’))
begin
set @error = 1608
set @error_message = 'Almacen Incorrecto'
end
Gracias por el aporte de todos!!
Mi problema es que para que el almacén predeterminado para el usuario funcione tengo que eliminar el almacén predeterminado del artículo y eso no es viable.
Lo que pensé es hacerlo mediante el TN pero en lugar de a nivel de usuarios a nivel de documento para los de orden de venta , factura y facturas reserva, algo asi podría ser.
Cree un campo en almacenes para agruparlos en autorizados/no autorizados por si en un futuro agregan nuevos almacenes no deje de funcionar el TN
Estoy pensando aun como armar el TN pero creo que podría funcionar de esa forma… Si la factura o la orden de venta usan un almacén del grupo no autorizado, no dejar que se cree el documento…
Alguien podría ayudarme con el TN? Sería algo así?
IF (@transaction_type=‘A’) or (@transaction_type=‘U’)
IF (@object_type = ‘17’)
begin
IF exists (select WhsCode from RDR1 T0 inner join ORDR T1 ON T0.[DocEntry] = T1.[DocEntry] INNER JOIN OWHS T2 ON T0.DocEntry
where T0.docentry = @list_of_cols_val_tab_del
and T1.whscode = T.2 whscode WHERE U_Autorizado =‘No’
begin
set @error = 10,set @error_message = ‘Almacén no autorizado’
Ya lo conseguí , hice el bloqueo en la factura y quedó así:
IF (@transaction_type=‘A’) or (@transaction_type=‘U’)
(@object_type = ‘13’)
begin
if exists (select U_Autorizado from OWHS T inner join INV1 T1 on T1.Whscode = T.whscode
where T1.docentry = @list_of_cols_val_tab_del
and T.U_Autorizado in (‘NO’))
begin
set @error = 10
set @error_message = ‘Almacen Incorrecto’