01. DATOS GENERALES

Producto:

TOTVS Minorista Tiendas

Línea de producto:

Línea Protheus

Segmento:

Minorista

Módulo:

TOTVS Backoffice (Línea Protheus) - Control de tiendas (SIGALOJA)

Función:

Venta directa

País:

Brasil


02. DESCRIPCIÓN

Este punto de entrada permite que se cree una regla para selección de NCC en el módulo  SIGAFAT (PE FTVD7026)

Se ejecuta antes de la exhibición de la pantalla con las NCC del cliente. 


MV_USACRED

El parámetro MV_USACRED influye en este punto de entrada. Si estuviera deshabilitado (igual a 'N'), el punto de entrada no se ejecutará.


03. OTRAS INFORMACIONES

El parámetro MV_LJNCCOR también tiene influencia sobre el punto de entrada, de acuerdo con las siguientes combinaciones:

SI

RESULTADO

MV_LJNCCOR=.F.

Ejecuta el Punto de entrada en la inclusión de presupuesto en la finalización de presupuesto.

MV_LJNCCOR=.T.

Ejecuta el Punto de entrada en la inclusión de presupuesto.
Y, si el parámetro MV_LJMTSN = 1, ejecuta el Punto de entrada en la finalización de presupuesto también.



MV_LJNCCOR

Si el parámetro MV_LJNCCOR=.T. , el sistema no trae las NCC grabadas en las tablas MDJ MDK que se seleccionaron al grabar el presupuesto. De esta manera, es necesario realizar este tratamiento en el Punto de entrada también.


DEVOLUCIÓN:

No existe devolución de la función.

Debe completarse el array bidimensional Private aNccItens. En cada dimensión debe contener las siguientes informaciones:

[1] - .T. para que la NCC venga seleccionada, .F. para que no venga seleccionada
[2] - Valor de la NCC (E1_SALDO)
[3] - Número de la NCC (E1_NUM)
[4] - Fecha de emisión de la NCC (E1_EMISSAO)
[5] - Número del registro en el (SE1->(Recno())
[6] - Saldo del título (E1_SALDO)
[7] - Símbolo Moneda ( ejemplo : SuperGetMV("MV_MOEDA1") )
[8] - Moneda ( E1_MOEDA )
[9] - Prefijo ( E1_PREFIXO )
[10] -Cuota ( E1_PARCELA )
[11] -Tipo (E1_TIPO)
[12] -Sucursal (E1_FILIAL)


EJEMPLO:


User Function FTVD7026()
Local lLjNCCOr  := SuperGetMv("MV_LJNCCOR", Nil, .F.)
Local cAliasQry := GetNextAlias()
Local cQuery    := ""
 
 
cQuery := "SELECT E1_FILIAL, E1_PREFIXO, E1_NUM, E1_PARCELA, E1_TIPO, E1_EMISSAO, E1_SALDO, E1_MOEDA, SE1.R_E_C_N_O_ AS RECNO"
 
If lLjNCCOr
    cQuery += "  , MDJ_NUMORC as SELMDJORC "
EndIf
 
cQuery += "  FROM " + RetSQLName("SE1") + " SE1 "
 
If lLjNCCOr
    cQuery += " LEFT JOIN " + RetSQLName("MDK") + " MDK ON  MDK.MDK_NUMREC = SE1.R_E_C_N_O_ AND MDK.D_E_L_E_T_ = ' ' "
    cQuery += " LEFT JOIN " + RetSQLName("MDJ") + " MDJ ON MDJ.MDJ_FILIAL = MDK.MDK_FILIAL AND MDJ.D_E_L_E_T_ = ' ' "
    cQuery += " AND MDJ.MDJ_NUMORC = MDK.MDK_NUMORC "
    cQuery += "  AND MDJ.MDJ_SITUA = 'OR' AND MDJ.MDJ_NUMORC = '" + M->LQ_NUM +  "' "
EndIf
 
cQuery += " WHERE "
If !SuperGetMV("MV_LJNCCFI",,.F.)
    cQuery += "   E1_FILIAL  = '"+xFilial("SE1")+"' AND "
EndIf
cQuery += "   E1_CLIENTE = '"+M->LQ_CLIENTE+"' AND "
If !SuperGetMV("MV_LJNCCLJ",,.F.)
    cQuery += "   E1_LOJA    = '"+M->LQ_LOJA+"' AND "
EndIf
cQuery += "   E1_STATUS  = 'A' AND " //A=Pendiente
cQuery += "   E1_SALDO > 0 AND " //Con saldo pendiente
cQuery += "   E1_TIPO IN ('NCC','RA ') AND "
cQuery += "   SE1.D_E_L_E_T_ = ' ' "
 
cQuery := ChangeQuery(cQuery)
dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery), cAliasQry,.F.,.F.)
 
While !(cAliasQry)->(EOF())
     
    aAdd(aNCCItens,{.F.,;
                    (cAliasQry)->E1_SALDO,;
                    (cAliasQry)->E1_NUM,;
                    STOD((cAliasQry)->E1_EMISSAO),;                    
					(cAliasQry)->RECNO,;
                    (cAliasQry)->E1_SALDO,;
                    SUPERGETMV("MV_MOEDA1"),;
                    (cAliasQry)->E1_MOEDA,;
                    (cAliasQry)->E1_PREFIXO,;
                    (cAliasQry)->E1_PARCELA,;
                    (cAliasQry)->E1_TIPO,;
                    (cAliasQry)->E1_FILIAL})
 
    (cAliasQry)->(DbSkip())
End  
 
(cAliasQry)->(DbCloseArea())
 
Return

04. ASUNTOS RELACIONADOS