01. DATOS GENERALES
Producto | |
---|
Línea de producto: | |
---|
Segmento: | |
---|
Módulo: | SIGAFAT - Facturación |
---|
Función: | Rutinas | Nombre Técnico |
---|
MATA462AN.PRW | Generación de remitos de venta. | WMSXFUNH.PRW | Funciones genéricas WMS |
|
---|
País: | Argentina |
---|
Ticket: | 16916313 |
---|
Requisito/Story/Issue (informe el requisito vinculado): | DMICNS-17051 |
---|
02. SITUACIÓN/REQUISITO
En la generación de remitos de venta automáticos con usuarios simultáneos, cuando es alterado el número de documento del remito, la rutina no realiza el grabado de la información de campos adicionales de manera correcta con el uso del punto de entrada M462FIM.
...
Totvs custom tabs box |
---|
tabs | Configuraciones Previas, Flujo de Prueba, Punto de Entrada |
---|
ids | paso1,paso2,paso3 |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | paso1 |
---|
| - Por medio del módulo Configurador, opción Base de Datos (SIGACFG >> Base de Datos | Diccionario) crear campos de usuario para las tablas SC5/SC6 y SF2/SD2.
- Por medio del módulo Configurador, opción Usuarios (SIGACFG >> Usuario | Contraseñas) dar de alta dos usuarios.
- Desarrollar y compilar el punto de entrada M462FIM. En el punto de entrada desarrollar el tratamiento para grabar la información en los campos específicos.
- Por medio de la rutina Clientes (SIGAFAT >> Actualizaciones | Archivos) incluir dos clientes.
- Por medio de la rutina Productos (SIGAFAT >> Actualizaciones | Archivos) incluir 3 productos.
- Por medio de la rutina Tipos de Entrada y Salida (SIGAFAT >> Actualizaciones | Archivos) incluir una TES de salida.
- Por medio de la rutina Pedidos de Venta (SIGAFAT >> Actualizaciones | Pedidos) realizar la inclusión de 4 pedidos de venta (000001, 000002, 000003 y 000004). Los pedidos de venta deben generar remitos de venta.
- Efectuar las aprobaciones correspondientes para permitir la generación de los remitos de venta.
|
Totvs custom tabs box items |
---|
| - Ingresar al sistema con el usuario 1.
- Ingresar a la rutina Generación de Remitos (SIGAFAT >> | Generac. de Remitos), seleccionar los pedidos de venta 000001 y 000002, para la generación de los remitos.
- Ingresar al sistema con el usuario 2.
- Ingresar a la rutina Generación de Remitos (SIGAFAT >> | Generac. de Remitos), seleccionar los pedidos de venta 000003 y 000004, para la generación de los remitos.
- Para el usuario 1, dar clic en la opción “+Gen. Remito” para confirmar la generación del remito de venta.
- Para el usuario 2, dar clic en la opción “+Gen. Remito” para confirmar la generación del remito de venta.
- La rutina toma inicialmente el mismo número de documento asignado al remito generado por el usuario 1, pero realiza el cambio al grabar el documento.
- Una vez generados los documentos, verificar que los campos específicos del pedido de venta sean trasladados de manera correcta al remito de venta.
|
Totvs custom tabs box items |
---|
| Informações |
---|
|
UserFunctionM462FIM() LocalaRem := ParamIxb[1] Local_aArea := GetArea() LocalaAreaSC5 := SC5->(GetArea()) LocalaAreaSC6 := SC6->(GetArea()) LocalaAreaSD2 := SD2->(GetArea()) LocalaAreaSF2 := SF2->(GetArea()) LocalnRem := 0 LocallCpoMNota := (SF2->(ColumnPos("F2_MENNOTA") ) > 0.And.SC5->(ColumnPos("C5_MENNOTA") ) > 0) LocallCpoXDes := (SD2->(ColumnPos("D2_XDESCRI")) > 0.And.SC6->(ColumnPos("C6_XDESCRI")) > 0)
SF2->(DbsetOrder(1)) SD2->(DbsetOrder(3)) SC5->(DbsetOrder(1)) SC6->(DbsetOrder(1))
FornRem := 1toLen(aRem) IfSF2->(DbSeek(xFilial("SF2") + aRem[nRem,2] + aRem[nRem,1]))
/*Encabezado documento*/ IfSD2->(DbSeek(xFilial("SD2") + SF2->(F2_DOC + F2_SERIE + F2_CLIENTE + F2_LOJA))) IfSC5->(DbSeek(xFilial("SC5") + SD2->D2_PEDIDO)) IfRecLock("SF2",.F.) IflCpoMNota If !Empty(SC5->C5_MENNOTA) ReplaceSF2->F2_MENNOTAwithSC5->C5_MENNOTA EndIf EndIf SF2->(MsUnlock()) EndIf EndIf
/*Ítems documento*/ DoWhileSD2->(!EOF()) .And.SD2->(D2_FILIAL + D2_DOC + D2_SERIE + D2_CLIENTE + D2_LOJA) == xFilial("SD2") + SF2->(F2_DOC + F2_SERIE + F2_CLIENTE + F2_LOJA) IfSC6->(DbSeek(xFilial("SC6")+SD2->D2_PEDIDO+SD2->D2_ITEMPV)) IfRecLock("SD2",.F.) IflCpoXDes ReplaceSD2->D2_XDESCRIwithSC6->C6_XDESCRI Endif SD2->(MsUnlock()) Endif Endif SD2->(DbSkip()) EndDo EndIf Endif
NextnRem
SF2->(RestArea(aAreaSF2)) SD2->(RestArea(aAreaSD2)) SC5->(RestArea(aAreaSC5)) SC6->(RestArea(aAreaSC6)) RestArea(_aArea)
Return {aRem}
|
|
|
...