Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki:2.-desarrollo-app:2.3.-entender-codigo:c.-eventos:4.-before-edit:start [2017/08/09 17:42] – ↷ Page moved from wiki:2.-desarrollo-app:2.3.-entender-codigo.xml:c.-eventos:4.-before-edit:start to wiki:2.-desarrollo-app:2.3.-entender-codigo:c.-eventos:4.-before-edit:start ejetorowiki:2.-desarrollo-app:2.3.-codigo:c.-eventos:4.-before-edit:start [2023/04/28 13:23] (actual) – [Nodo BEFORE-EDIT] ary
Línea 1: Línea 1:
 +{{indexmenu_n>1}}
 +===== Nodo BEFORE-EDIT =====
  
 +Aquí se podrán poner todas y cada una de las acciones que se han explicado en la parte de acciones. \\
 +\\
 +Su ámbito es a nivel de **coll**, como el resto de eventos.\\
 +
 +\\
 +Este evento se ejecuta cuando alguien entra a editar un objeto de una colección, justo antes de que se pinten los controles en pantalla.\\
 +
 +
 +\\
 +Asignamos el valor **0** a la bandera "MAP_BANDERA" y se comprueba si hay recibos, dando mensaje error si los hubiera.
 +  
 +<code xml>
 +<before-edit>
 +<action name="runscript">
 + <include file="todo1_recibos.vbs"/>
 + <script language="VBScript">
 + This("MAP_BANDERA")=0
 + CheckRecibosPendientes
 + If This("MAP_NOPAGA")=1 Then
 + AppData.FailWithMessage -8100,"El Cliente tiene recibos pendientes."
 + End If
 + </script>
 +</action>
 +</before-edit>
 +</code>
 +\\
 +
 +\\
 +**Ejecución de script**. En este ejemplo busca si hay llamadas para un cliente en una fecha determinada.\\
 +
 +<code xml>
 +<action name="runscript">
 + <script language="VBScript">
 + dim c
 + set c=appdata.GetCollection("Llamadas")
 + c.filter="IDCLIENTE=" + CSTR(this("ID")) + " AND FEMISION&gt;='" + cstr(This("FEMAIL")) + "'"
 + c.Startbrowse
 +
 + //En caso de que haya, se rellenará la bandera "MAP_LLAMADAS"
 + if not c.currentItem is nothing then
 + this("MAP_LLAMADAS")=1
 + end if
 + c.EndBrowse
 + </script>
 +</action>
 +</code>
 +\\
 +
 +Se **comprueba el usuario** para asignarle los permisos que le correspondan.\\
 +\\
 +<code xml>
 +<action name="runscript">
 + <script language="VBScript">
 + if this("TRIDUSUARIO")&lt;&gt;AppData.CurrentUser("ROWID") then
 + this("MAP_DISABLE")=1
 + else
 + if this("ESTADO")="3" then
 + this("MAP_DISABLE")=0
 + else
 + if this("ACTUALIZADO")=1 then
 + this("MAP_DISABLE")=1
 + else
 + this("MAP_DISABLE")=0
 + end if
 + end if
 + end if
 + </script>
 +</action>
 +</code>
 +\\
 +**Se lanza pantalla de confirmación.**\\
 +\\
 +<code xml>
 +<script language="VBScript">
 + if This("IDSPGMCIERRE") =0 then
 + ok=AppData.UserInterface.MsgBox ("¿Continuará con la resolución de la avería?","ATENCION!",4)
 + If ok=6 Then
 + ' ha dicho si
 + This("MAP_INDTERMINA")=0
 + else
 + ' ha dicho no
 +     This("MAP_INDTERMINA")=1
 + end if
 + end if
 +</script>
 +</code>
 +
 +
 +<code javascript>
 + <before-edit>
 +        <action name="runscript">
 +          <script language="javascript">
 +          self.MAP_GROUP=1;
 +          </script>
 +        </action>
 +        <action name="runscript">
 +          <script language="javascript">
 +            self.MAP_GROUP=1;
 + self.MAP_TOTAL_PAGES=2;
 +
 + var v=ui.getView(self);
 +
 +            self.MAP_X=3;
 +            self.MAP_Y=2;
 +            self.MAP_X2=3.5;
 +            self.MAP_Y2=2.3;
 +            
 +            self.MAP_XMASY=self.MAP_X+self.MAP_Y;
 +            self.MAP_XMASY2=self.MAP_X+self.MAP_Y2;
 +            self.MAP_X2MENOSY2=self.MAP_X2-self.MAP_Y2;
 +            self.MAP_XENTREY=self.MAP_X/self.MAP_Y;
 + self.MAP_FECHADMY=new Date();
 + self.MAP_FECHAYMD=self.MAP_FECHADMY;
 + self.MAP_FECHAHORA=self.MAP_FECHADMY;
 +
 + </script>
 +        </action>
 +      </before-edit>
 +</code>
 +
 +<code javascript>
 + <before-edit>
 +        <action name="runscript">
 +          <script language="javascript">
 + self.executeNode ("cambiarMenu('BASICO','1SELECT.png',##FLD_MAP_COLOR1##)");
 +   </script>
 +        </action>
 +      </before-edit>
 +</code>
 +
 +<code javascript>
 + <before-edit>
 +        <action name="setval" field="MAP_VERSIONAPP" value="##VERSION##" />
 +        <action name="setval" field="MAP_VERSIONFRAME" value="##FRAME_VERSION##" />
 +        <action name="setval" field="MAP_VERSIONXONELIVE" value="##LIVEUPDATE_VERSION##" />
 +        <action name="setval" field="MAP_DISPOSITIVO" value="##DEVICE_MODEL##" />
 +        <action name="setval" field="MAP_FABRICANTE" value="##DEVICE_MANUFACTURER##" />
 +        <action name="setval" field="MAP_DEVICE_TYPE" value="##DEVICE_TYPE##" />
 +        <action name="setval" field="MAP_IMEI" value="##DEVICEID##" />
 +        <action name="setval" field="MAP_MID" value="##MID##" />
 +        <action name="setval" field="MAP_ORIENTATION_SCREEN" value="##CURRENT_ORIENTATION##" />
 +        <action name="setval" field="MAP_OS_VERSION" value="##DEVICE_OSVERSION##" />
 +        <action name="setval" field="MAP_OS" value="##DEVICE_OS##" />
 +        <action name="setval" field="MAP_DENSITY" value="##CURRENT_DENSITY##" />
 +        <action name="setval" field="MAP_VEROPER" value="0" />
 +        <action name="setval" field="MAP_RESOLUTIONWIDTH" value="##SCREEN_RESOLUTION_WIDTH##" />
 +        <action name="setval" field="MAP_RESOLUTIONHEIGHT" value="##SCREEN_RESOLUTION_HEIGHT##" />
 +        <action name="setval" field="MAP_DENSITY2" value="##CURRENT_DENSITY_VALUE##" />
 +        <action name="runscript">
 +          <script language="javascript">
 +            self.MAP_GROUP = 1;
 + self.MAP_TOTAL_PAGES = 7;
 + self.MAP_ESPECIAL = 0;
 + self.executeNode("grupos(1)");
 +            self.MAP_RECORDSRX = replica.getRecordsRX().toString() + "/" + replica.getTotalRecordsRX().toString();
 +            self.MAP_RECORDSTX = replica.getRecordsTX().toString() + "/" + replica.getTotalRecordsTX().toString();
 +            self.MAP_RECORDSPEND = replica.getRecordsPend();
 +            self.MAP_LOG = replica.getLog();
 +            ui.executeActionAfterDelay("refresh",10);
 +            if( self.MAP_VERSIONXONELIVE == "##LIVEUPDATE_VERSION##"){
 +              self.MAP_VERSIONXONELIVE = "No Instalado";
 +            }
 +            if( self.MAP_MID.indexOf("'",1) &gt; 0){
 +              self.MAP_MID = self.MAP_MID.replace(/'/gi,"");
 +            }
 +          </script>
 +        </action>
 +      </before-edit>
 + </code>