on 06-30-2016 5:21 PM
Estimados, tengo el siguiente problema.
Actualmente luego de crear la Orden de Fabricación, se hace la entrega de componentes y a posterior la EMISIÓN PARA PRODUCCIÓN, en este punto el consumo se debe hacer de una bodega en particular, lo cual no impide el consumo de otras bodegas, además también permite hacer consumo de producto con lotes Bloqueado o acceso Denegado, debiendo sólo consumir producto liberado.
Si me pudiese ayudar lo agradecería.
SAP Business One 9.1 (9.10.170) PL: 07 (32-bit)
De igual forma me pasa en la orden de fabricación donde quiero dejar campo obligatorio el de comentarios y el TN no lo realiza.
IF @object_type='202' AND @transaction_type IN ('A','U')
BEGIN
IF (SELECT ISNULL (T0.U_ContenidoSaco,'') FROM OWOR T0 WHERE T0.DocEntry=@list_of_cols_val_tab_del) = ''
BEGIN
SELECT @error=200,
@error_message='Prueba de error'
END
END
Hola. Prueba de la siguiente forma: IF @object_type='202' AND @transaction_type IN ('A','U') BEGIN IF EXISTS ( SELECT T0.DocEntry FROM OWOR T0 WHERE T0.DocEntry=@list_of_cols_val_tab_del AND ISNULL(T0.U_ContenidoSaco,'') = '' ) BEGIN SELECT @error=200, @error_message='Prueba de error' END END Sobre la primera consulta podrías subir el transactión que generaste. Saludos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
ok, haber reunamos mas antecedentes, lo que quieres lograr es obligar el llenado de campo T0.U_ContenidoSaco de la O.F Tabla Owor verdad? para que el usuario al tratar de cerrar la orden y este campo no esta ingresado se active el transaction o el campo a bloquear es de terminal report o Entrega de componentes??. Si puedes subir unas capturas podremos ayudarte de mejor forma. Saludos
Adjunto la idea original, lo solicitado es debido a que haga lo que haga en el TN igual no me bloquea los campos en blanco lo cual me parece raro, pensé estar haciendo algo mal.
Lo que requiero es condicionar la creación o actualización del documento a raiz ciertas situaciones, es decir, sólo que se pueda crear o modificar por cierto usuario si la bodega es DFF, debido que me están sacando material de bodegas que no corresponde y están descuadrando el inventario quedando en su bodega con más material que el físico y en la que sacan falta material.
Espero explicarme bien, en verdad en un comienzo fue algo enredado, pero lo puntual es que el TN no me está reconociendo las condiciones en el documento.
Nuevamente gracias por la ayuda.
Sorry. estebe con algunos inconvenientes con uno de los servidores dedicados. Volviendo al tema, lo que te recomiendo es que separes los transaction, es decir, crees uno para crear y actualizar(UserSing - Usersing2) respectivmante. Para el caso de la bodega debes hacer el transaction usando la tabla wor1, recorriendo sus filas y desplegando error en caso de que la relacion usuario - bodega este mal Ejemplo: if @object_type='202' begin if @transaction_type ='A' OR @transaction_type ='U' Begin if exists (SELECT * FROM OWOR T0 INNER JOIN WOR1 T1 ON T0.DocEntry=T1.DocEntry where T1.WhsCode <> 'DFF' AND T0.UserSign in (**TU USUARIO***) Castro and T0.DocEntry = @list_of_cols_val_tab_del) begin select @error = 101 select @error_message = 'Debe Seleccionar Bodega (DFF)' goto FinTN end end end Saludos.
Muchas gracias por tu ayuda.
Modifique el script que me adjuntas según mi necesidad, pero igual no toma la condición entregada, es decir, permite realizar modificaciones a pesar de que por el TN se le diga que no.
(Me llama la atención que hayas escrito "Castro" en la sentencia original que me envias.)
if @object_type='202'
begin
if @transaction_type ='A' OR @transaction_type ='U'
Begin
if exists (SELECT * FROM OWOR T0 INNER JOIN WOR1 T1 ON T0.DocEntry=T1.DocEntry where T1.wareHouse <> 'DFF' AND T0.UserSign = '97' and T0.DocEntry = @list_of_cols_val_tab_del)
begin
select @error = 101 select @error_message = 'Debe Seleccionar Bodega (DFF)'
end
end
end
raro que no funcione. voy a tratar de replicar tu escenario mas tarde. pues en el caso de validar valores nulos el transaction es re sencillo, de echo tengo uno igual y funciona al 100%, IF @object_type = '202' AND @transaction_type in ('A','U') BEGIN IF EXISTS ( SELECT T0.DocEntry FROM OWOR T0 INNER JOIN OITM T1 ON T1.ItemCode = T0.ItemCode WHERE T0.DocEntry = @list_of_cols_val_tab_del AND ISNULL(T0.U_OFFO,'') = ''
Saludos
User | Count |
---|---|
94 | |
11 | |
10 | |
6 | |
5 | |
5 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.