Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DATOS GENERALES


Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:SIGAFAT - Facturación
Función:
RutinasNombre Técnico
MATA462AN.PRWGeneración de remitos de venta.
WMSXFUNH.PRWFunciones 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
tabsConfiguraciones Previas, Flujo de Prueba, Punto de Entrada
idspaso1,paso2,paso3
Totvs custom tabs box items
defaultyes
referenciapaso1
  1. 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.
  2. Por medio del módulo Configurador, opción Usuarios (SIGACFG >> Usuario | Contraseñas) dar de alta dos usuarios.
  3. 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.
  4. Por medio de la rutina Clientes (SIGAFAT >> Actualizaciones | Archivos) incluir dos clientes.
  5. Por medio de la rutina Productos (SIGAFAT >> Actualizaciones | Archivos) incluir 3 productos.
  6. Por medio de la rutina Tipos de Entrada y Salida (SIGAFAT >> Actualizaciones | Archivos) incluir una TES de salida.
  7. 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.
  8. Efectuar las aprobaciones correspondientes para permitir la generación de los remitos de venta.
Totvs custom tabs box items
defaultno
referenciapaso2
  1. Ingresar al sistema con el usuario 1.
  2. 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.
  3. Ingresar al sistema con el usuario 2.
  4. 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.
  5. Para el usuario 1, dar clic en la opción “+Gen. Remito” para confirmar la generación del remito de venta.
  6. Para el usuario 2, dar clic en la opción “+Gen. Remito” para confirmar la generación del remito de venta.
  7. 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.
  8. 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
defaultno
referenciapaso3
Informações
iconfalse
titleEjemplo:


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}

...