PM-815 Al correr caso con PMtable de dynaform eliminado sale error.

PROBLEMA:
Cuando se elimina un PMTABLE que se uso para crear un dynaform y se corre un caso sale un error impidiendo correr el caso.

Se intentaba buscar el PMTable y argar los datos del dynaform en el mismo.

SOLUCION:
Se agrego una validacion para que cuando no encuentre el pmtable lance un mensaje de warning para advertir al usuario q no se encontro la tabla, pero aun asi mostrar el dynafomr de modo normal.

Cuando se guardan los datos del dynaform tambien se muestra un mensaje advirtiendo q no se pudo guardar los datos en la PM table pero si se guardo con normalidad en la BD.
This commit is contained in:
jennylee
2014-11-12 12:32:15 -04:00
parent 8c7a9bd449
commit d61dcc2778
2 changed files with 69 additions and 55 deletions

View File

@@ -737,6 +737,11 @@ class XmlForm_Field
$aKeys = array ();
$aValues = explode( '|', $oOwner->fields[$this->pmconnection]->keys );
$i = 0;
if($aData == "" || count($aData['FIELDS']) < 1){
$message = G::LoadTranslation( 'ID_PMTABLE_NOT_FOUND' );
G::SendMessageText( $message, "WARNING" );
$sValue = "";
} else {
foreach ($aData['FIELDS'] as $aField) {
if ($aField['FLD_KEY'] == '1') {
// note added by gustavo cruz gustavo[at]colosa[dot]com
@@ -779,6 +784,8 @@ class XmlForm_Field
$sValue = $aData[$this->pmfield];
}
}
}
}
}
return $sValue;

View File

@@ -123,6 +123,11 @@ try {
$aAux = explode( '|', $oForm->fields[$oForm->fields[$sField]->pmconnection]->keys );
$i = 0;
$aValues = array ();
if($aData == "" || count($aData['FIELDS']) < 1){
$message = G::LoadTranslation( 'ID_PMTABLE_NOT_FOUNDED_SAVED_DATA' );
G::SendMessageText( $message, "WARNING" );
$aRow = false;
} else {
foreach ($aData['FIELDS'] as $aField) {
if ($aField['FLD_KEY'] == '1') {
$aKeys[$aField['FLD_NAME']] = (isset( $aAux[$i] ) ? G::replaceDataField( $aAux[$i], $Fields['APP_DATA'] ) : '');
@@ -139,6 +144,8 @@ try {
} catch (Exception $oError) {
$aRow = false;
}
}
if ($aRow) {
foreach ($aValues as $sKey => $sValue) {
if ($sKey != $oForm->fields[$sField]->pmfield) {