Árvore de páginas

Versões comparadas

Chave

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

...

Punto de Entrada:

MV_LOGLOC

Descripción:
  • Si MV_ LOGLOC = .T. el sistema mostrará una pantalla donde se podrá seleccionar el directorio para guardar una copia del archivo log (Solo si P.E. GPM022LOG está compilado en el RPO)
  • Si MV_ LOGLOC = .F. o el parámetro noexiste  el sistema guardará automáticamente una copia del archivo log en la carpeta donde se esté ejecutando el SmartClient (Solo si P.E. GPM022LOG está compilado en el RPO)

Ubicación en Menú:

Miscelánea | Cálculos | Por Procedimiento.

Eventos:

Visualización de Log de cálculo.

Programa Fuente:

GPEM022.PRX

Función:

LOADMEMO

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cRetorno

String

Cadena de caracteres que indica la ubicación donde fue guardado el archivo log o los errores generados durante el proceso de guardado.

No



Dica
titleImportanteSugerencia


#INCLUDE "PROTHEUS.CH"  
/*
{Protheus.doc} GPM022LOG
Punto de entrada 
Muestra una pantalla para elegir el directorio donde será guardada una copia del archivo log 
@author Alfredo Medrano
@version 1.0
@since   27/04/2021
@return  String
@sample  
*/
User Function GPM022LOG()
    Local cPath     := PARAMIXB[1//Directorio
    Local cArquivo  := PARAMIXB[2//Nombre Archivo
    Local cRetorno  := PARAMIXB[3//Texto de log
    Local lGerLog   := SuperGetMv("MV_LOGLOC",.T.,.F.//parametro creado por el cliente
    Local cDirC     := ""
    Local cPathAbs  := ""
    Local lCopy     := .F.
    Local lOk       := .F.
    Local lSave     := .F.
    Local oDlgDir
    Local oDirC



    Default cPath   := ""
    Default cArquivo:= ""
    Default cRetorno:= ""


    cPathRel :=  GetPvProfStringGetEnvServer() , "StartPath" , "" , GetAdv97() ) 
    cPathRel += "LOG_CALC\" +  cArquivo // ruta relativa con archivo
    cPathAbs := cPath + cArquivo // ruta absoluta con archivo

    If lGerLog  

        DEFINE MSDIALOG oDlgDir FROM 10,05 TO 15, 40 TITLE " Guardar Archivo " // "Directorio"
        @   6,2 Say "Directorio: " SIZE 31,07 OF oDlgDir PIXEL
        @  5,35  MSGET oDirC VAR cDirC SIZE 100, 08 OF oDlgDir PIXEL HASBUTTON ; 
        VALID {|| cDirC:= cGetFile(,"Selecione el directorio",,,.F.,GETF_LOCALFLOPPY+GETF_LOCALHARD+GETF_NETWORKDRIVE+GETF_RETDIRECTORY), IIF(cDirC!="", .T., .f.)}
        DEFINE SBUTTON FROM 20,76 TYPE 1 ACTION (lOk:=.T.,oDlgDir:End()) ENABLE OF oDlgDir
        DEFINE SBUTTON FROM 20, 106 TYPE 2  ACTION  oDlgDir:End() ENABLE OF oDlgDir
        ACTIVATE MSDIALOG oDlgDir CENTERED

        If lOk
           //Verifica si el archivo existe en el directorio del server
            If File(cPathRel,0 ) 
                //Verifica si el directorio destino existe
                If ExistDircDirC )
                    lSave := .T.
                    If substr(cDirC, len(cDirC),len(cDirC) ) != "\"
                        cDirC+= "\"
                    EndIf
                     //Verifica si el archivo existe en el directorio destino
                    If File(cDirC+cArquivo)
                        If !(MsgYesNo("El Archivo " + cArquivo + " ya existe en la ruta especificada. Desea sobrescribirlo ?",; 
                                    "Atención" ))
                            lSave := .F.
                        EndIf
                    EndIf
                Else
                    MsgInfo"El directorio especificado " + cDirC + " no existe. Asigne un directorio valido.", "Atención" )
                EndIf
            EndIf
        EndIf
    Else
         cDirC :=  GetClientDir() // obtiene el directorio en donde se esta ejecutando el SmartClient
         lSave := .T. 
    EndIf

    If lSave
        //Copia el archivo de la carpeta del servidor a la carpeta especificada
        lCopy := CpyS2TcPathRel, cDirC)
        If lCopy
            cRetorno += "El Archivo " + cArquivo + " se envio a la siguiente ruta " + cDirC
            // MsgInfo( "El archivo " + cArquivo + " se guardo correctamente", "Atención" )   
        Endif

        If Ferror() # 0 .And. !lCopy
            cRetorno += "Error de grabación de archivo - Codigo DOS: " + STR(Ferror(),3
            //MsgInfo(  "Error de grabación de archivo - Codigo DOS: " + STR(Ferror(),3), "Atención" )
        EndIf
    EndIf
    

return cRetorno

...