Blog de OneStream
Recientemente me encontré con un caso en el que necesitaba cambiar los nombres de algunos archivos en el Explorador de archivos. Tenía otra regla de negocio ejecutándose desde un trabajo de gestión de datos que creaba los archivos, los exportaba al recurso compartido y luego los movía al Explorador de archivos de la base de datos de la aplicación para que los usuarios pudieran acceder a ellos. En algunos casos, tuve que modificar el nombre debido a un par de casos de negocio diferentes. Ya había movido y eliminado archivos mediante código, así que supuse que sería sencillo y se basaría en lo que ya sabía y había codificado. No fue así.
Hay varias funciones de BRApi.System relacionadas con la manipulación de archivos; sin embargo, al revisarlas, vi algunas llamadas DeleteFile, GetFile e InsertOrUpdateFile, pero ninguna llamada ChangeName ni Name. No encontré nada que me indicara intuitivamente cómo cambiar el nombre de un archivo. Al final, resultó ser sencillo; simplemente requirió un enfoque y una forma de pensar diferentes sobre BRApi.FileSystem.InsertOrUpdateFile.
En la siguiente captura de pantalla tengo un archivo, TotalCompany_CubeData_OldName.CSV, cuyo nombre quiero cambiar a TotalCompany_CubeData_NewName.CSV.
Paso 1. Creé una regla de extensibilidad que podía ejecutar desde un paso de administración de datos.
Paso 2. Con un objeto XFFileEX y BRApi.FileSystem.GetFile, obtenga el archivo que se va a renombrar. Especifique que se encuentra en la base de datos de la aplicación y pase la ruta completa y el nombre del archivo.
Paso 3. Creé el código que renombrará el archivo. En esencia, en el Paso 2, obtengo el nombre del archivo y luego uso BRApi.FileSystem.InsertOrUpdateFile para insertarlo con el nuevo nombre. BRApi.FileSystem.InsertOrUpdateFile utiliza un objeto XFFile. Este objeto contiene el objeto XFFileInfo, que contiene el nuevo nombre, y el XFFileEx, que contiene el contenido del archivo anterior. Así, se pasa el archivo anterior y su nuevo nombre a BRApi.FileSystem.InsertOrUpdateFile.
El código en su totalidad.
Para mí, la forma diferente de abordar esto fue con BRApi.FileSystem.InsertOrUpdateFile. Lo había usado anteriormente para obtener archivos del recurso compartido y moverlos al sistema de archivos de la base de datos de la aplicación. En ese caso, obtenía el archivo que se iba a mover, con su nombre, y luego lo copiaba a la nueva ubicación usando BRApi.FileSystem.InsertOrUpdateFile, pero con el mismo nombre. Una vez que me di cuenta de que con el objeto XFFileInfo, en lugar de usar el nombre del archivo original (como hacía al mover archivos), podía darle un nuevo nombre, todo lo demás encajaba. Ahora, al ejecutar esta regla de extensibilidad, el archivo se copia, se inserta con un nuevo nombre y el archivo original se elimina.
Para obtener más información sobre OneStream y cómo MindStream Analytics puede ayudarlo a mejorar su planificación, informes y análisis, complete el formulario a continuación.
Descubra el futuro de la gestión financiera con nuestro seminario web informativo y la demostración de Sheets™ para OneStream, una solución pionera de MindStream Software que integra las potentes funciones financieras de OneStream directamente en Google Sheets™.
Transforme su gestión financiera en Hojas de cálculo de Google con Hojas de cálculo para OneStream
OneStream CPM
OneStream se adapta a las necesidades y cambios de su negocio con mayor rapidez y facilidad que cualquier otro producto, ofreciendo una plataforma y un modelo para todas las soluciones de CPM financieras. OneStream emplea flujos de trabajo guiados, validaciones y mapeo flexible para garantizar la calidad de los datos en todas las recopilaciones y análisis, a la vez que reduce el riesgo en todo el proceso financiero auditable.