Page 1 of 1

Asociar archivos a una grilla de un formulario

Posted: Tue Apr 16, 2019 10:22 am
by ginoberrios
Estimados

Apelo a su conocimiento para resolver la siguiente duda, ¿existe la posibilidad de asociar un documento copiado (input document) a una grilla (en modo de edición) existente en un formulario, luego de copiar el documento utilizando la función "PMFCopyDocumentCase()"?

Atento a sus respuestas.

Re: Asociar archivos a una grilla de un formulario

Posted: Tue Apr 16, 2019 11:53 pm
by amosbatto
¿Quieres copiar los achivos de un Input Document a un MultipleFile en una grilla? ¿En cual version de ProcessMaker?

Si todavia no existe la variable de la grilla, puedes usar este trigger (asumiendo que cada fila en la grilla contendra un archivo):
Code: Select all
//set to the ID of the Input Document:
$inputDocumentId = '1234567890abcdef1234567890abcdef';
$caseId = @@APPLICATION; 
@=myGrid = array(); //assuming that grid variable doesn't yet exist

$sql = "SELECT * FROM APP_DOCUMENT WHERE APP_UID='$caseId' AND DOC_UID='$inputDocumentId'
   ORDER BY APP_DOC_INDEX";
$aFiles = executeQuery($sql);
$rowNo = 1;
$oAD = new AppDocument();

for (aFiles as $aFile) {
   @=myGrid[ $rowNo ] = array(
       'myFileField' => array(
           array( 
              'appDocUid' => $aFile['APP_DOC_UID'],
              'version' => $aFile['DOC_VERSION'],
              'name' => $aFile['APP_DOC_FILENAME']
           )
       )
   );
   //change the APP_DOCUMENT.APP_DOC_FIELDNAME in the database:
   $aFileInfo = array(
        'APP_DOC_UID' => $aFile['APP_DOC_UID'],
        'DOC_VERSION' => $aFile['DOC_VERSION'],
        'APP_DOC_FIELDNAME' => "[myGrid][$rowNo][myFileField]"
   );
   $oAD->update($aFileInfo);
    
   $rowNo++;
}
Ver:
https://wiki.processmaker.com/3.2/Inter ... date.28.29

Re: Asociar archivos a una grilla de un formulario

Posted: Wed Apr 17, 2019 8:34 am
by ginoberrios
Efectivamente eso es lo que quiero hacer, la variable de la grilla ya existe, y efectivamente sólo tendrá un archivo por fila la grilla.

Estoy utilizando la versión 3.2.1 de Process Maker.

Voy a probar lo propuesto y les cuento los resultados.

Agradecido.