Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
HTML
<div id="main-content" class="wiki-content group">
	<h1 id="id-2.1Formulário-ComocriarumformuláriodiretamentenoECM">Cómo>How
		crearto create una formularioform directamentedirectly enin ECM<ECM.</h1>
	<ol>
		<li>Crear<li>Create an unHTML archivofile HTMLwith conthe losfields camposwith conthe elsame mismoname nombreused
			utilizado enin Microsiga Protheus<Protheus.</li>
		<li>Agregar el archivo HTML como un Nuevo Fichero en los<li>Add the HTML file as a New Card Index in the Documents of ECM
			Documentosand check dethe ECMCode ythat verificarwas elgenerated. CódigoThis quecode sewill generó.be Esteused códigoin sethe
			utilizarácreation enof lathe creación del Processo en el futuro<future Process.</li>
	</ol>
	<p>&#160;</p>
	<p>
		<em>*Para más información sobre personalizaciones del formulario For more information about form customizations in ECM, see
			enthe ECM, consultedocumentation. laThe documentaciónObjective deof ECM.this Eldocumentation objetivois de estato
			documentaciónprovide the escare citarwe losmust cuidadostake queto sebuild debena tenerform parafor crearintegration unwith
			formulario para la integración con Microsiga Protheus.</em>
	</p>
	<h2 id="id-2.1Formulário-Exemplodeformulário">Ejemplo de
		formulario<>Sample form.</h2>
	<blockquote>
		<p align="left">&lt;HTML></p>
		<p align="left">&lt;HEAD></p>
		<p align="left">&#160; &lt;TITLE>EjemploTITLE> Example - Customer Cliente&lt;/TITLE></p>
		<p align="left">&#160; &lt;LINK REL=STYLESHEET
			HREF="/webdesk203/wdk/global.css"></p>
		<p align="left">&lt;/HEAD></p>
		<p align="left">&lt;BODY scroll=yes></p>
		<p align="left">&lt;span class="NumSecao"></p>
		<p align="left">&lt;strong>&#160;RegistroRegistration&lt;/strong>&lt;/span></p>
		<p align="left">&lt;HR></p>
		<p align="left">&lt;br></p>
		<p align="left">&lt;form></p>
		<p align="left">&lt;table></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Códigob>Code:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong>&lt;input type="text" size="6"
			name="A1_COD">&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Tiendab>Loja:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong>&lt;input type="text" size="2"
			name="A1_TIENDALOJA">&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Física/Jurídica:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;select name="A1_PERSONAPESSOA"></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="F">Física&lt;/option></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="J">Jurídica&lt;/option></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;/select></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Nombreb>Name:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong>&lt;input type="text" size="40"
			name="A1_NOMBRENOME">&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Nombreb>Trade FantasíaName:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong>&lt;input type="text" size="20"
			name="A1_NREDUCNREDUZ">&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Direcciónb>Address:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong>&lt;input type="text" size="40"
			name="A1_DIREND">&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Tipob>Type:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;select name="A1_TIPO"></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt; option value = "F">Cons. Final > Cons. End &lt;/option></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="L">Productor>Rural RuralProducer&lt;/option></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="R">Revendedor>Reseller&lt;/option></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="S">Solidario>Solidary&lt;/option></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="X">Exportación>Export&lt;/option></p>
		<p align="left">&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;/select></p>
		<p align="left">&#160;&#160;&#160; &lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Municipiob>City:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong>&lt;input type="text" size="60"
			name="A1_MUN">&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160; &lt;tr></p>
		<p align="left">&#160;&#160;&#160; &lt;td align="right"
			width="150" class="Labels">&lt;b>Estadob>State:&lt;/b>&lt;/td></p>
		<p align="left">&#160;&#160;&#160; &lt;td
			class="Normal">&lt;strong>&lt;input type="text" size="2"
			name="A1_EST">&lt;/strong>&lt;/td></p>
		<p align="left">&#160; &lt;/tr></p>
		<p align="left">&#160;&lt;/table></p>
		<p align="left">&lt;/form></p>
		<p align="left">&lt;/BODY></p>
		<p align="left">&lt;/HTML></p>
	</blockquote>
	<h1 id="id-2.1Formulário-Construindoformuláriospararotinasautomáticas">Creación>Building
		deforms formularios parafor rutinasautomatic automáticas<routines.</h1>
	<ol>
		<li>Configurar<li>Configure lathe integraciónintegration parafor GED entrebetween Protheus yand ECM en elin
			Configuradorthe enConfigurator, lain opciónthe <em>Entorno<em>Environment > Totvs ECM > Wizard deGED
				GED<Wizard</em> option.
		</li>
		<li>Utilizar<li>Use la funciónthe <strong>FWECMPutCard</strong> function to parasend enviarthe
			elform formularioto athe ECM, comoaccording muestrato elthe siguienteexample ejemplobelow (elthe card ficheroindex sewill
			crearábe encreated lain carpetathe <em>ERP_MP \ &lt;empresas> \ MP_CARDS</em> enfolder
			in ECM):
		</li>
	</ol>
	<h2 id="id-2.1Formulário-Exemplodecódigo-fonte">Ejemplo>Example of desource
		código-fuente<code.</h2>
	<blockquote>
		<p align="left" style="margin-left: 30.0px;">#include "totvs.ch".</p>
		<p align="left" style="margin-left: 30.0px;">User Function
			FormCliente().</p>
		<p align="left" style="margin-left: 30.0px;">Local cProcessId :=
			"CLIENTE" // si se informa actualice el formulario relacionado con elif provided, it updates the form related to the process,
			procesootherwise, sinocreates creea unonew nuevo<one.</p>
		<p align="left" style="margin-left: 30.0px;">Local cDescription :=
			"FormularioCustomer del registro de cliente"file form".</p>
		<p align="left" style="margin-left: 30.0px;">Local
			cCardDescription := "".</p>
		<p align="left" style="margin-left: 30.0px;">Local aHTML :=
			Array(1,2) // archivos del formulario<form files.</p>
		<p align="left" style="margin-left: 30.0px;">Local aEvents :=
			Array(1,2) // events that eventoswill quenot sebe personalizaráncustomized parafor elthe formulario<form.</p>
		<p align="left" style="margin-left: 30.0px;">Local nFormId</p>
		<p align="left" style="margin-left: 30.0px;">Local aError</p>
		<p align="left">&#160;</p>
		<p align="left" style="margin-left: 30.0px;">aHTML[1][1] :=
			"cliente.html" // nombrefile del archivo<name</p>
		<p align="left" style="margin-left: 30.0px;">aHTML[1][2] :=
			'&lt;HTML>'+; // contenidofile del archivo<content</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;HEAD>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;
			&lt;TITLE>EjemploTITLE>Example - ClienteCustomer&lt;/TITLE>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;LINK
			REL=STYLESHEET HREF="/webdesk203/wdk/global.css">'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;/HEAD>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;BODY
			scroll=yes>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;span
			class="NumSecao">'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;strong>&#160;RegistroRegistration&lt;/strong>&lt;/span>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;HR>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;br>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;form>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;table>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Códigob>Code:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>&lt;input type="text" size="6"
			name="A1_COD">&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Tiendab>Store:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>&lt;input type="text" size="2"
			name="A1_TIENDALOJA">&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Físicab>Individual/JurídicaLegal Entity:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;select name="A1_PERSONAPESSOA">'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="FI">Física>Individual&lt;/option>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="JE">Jurídica>Legal Entity&lt;/option>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;/select>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Nombreb>Name:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>&lt;input type="text" size="40"
			name="A1_NOMBRENOME">&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150" class="Labels">&lt;b>Nombreb>Trade
			FantasíaName:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>&lt;input type="text" size="20"
			name="A1_NREDUCNREDUZ">&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Direcciónb>Address:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>&lt;input type="text" size="40"
			name="A1_DIREND">&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Tipob>Type:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;select name="A1_TIPO">'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="F">Cons. Final&lt;/option>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="L">Productor>Rural RuralProducer&lt;/option>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="R">Revendedor>Reseller&lt;/option>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="S">Solidario>Solidary&lt;/option>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;option value="X">Exportación>Export&lt;/option>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;/select>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;&#160;&#160;&#160;
			&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Municipiob>City:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>&lt;input type="text" size="60"
			name="A1_MUN">&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;tr> '+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td align="right" width="150"
			class="Labels">&lt;b>Estadob>State:&lt;/b>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160;&#160;&#160;
			&lt;td class="Normal">&lt;strong>&lt;input type="text" size="2"
			name="A1_EST">&lt;/strong>&lt;/td>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&#160; &lt;/tr>'+;</p>
		<p align="left" style="margin-left: 30.0px;">' &lt;/table>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;/form>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;/BODY>'+;</p>
		<p align="left" style="margin-left: 30.0px;">'&lt;/HTML>'</p>
		<p align="left">&#160;</p>
		<p align="left" style="margin-left: 30.0px;">aEvents[1][1] :=
			"setEnable" // name nombreof delthe evento<event</p>
		<p align="left" style="margin-left: 30.0px;">aEvents[1][2] :=
			'function setEnable() {'+; // scriptJavaScript enlanguage lenguaje JavaScript<script</p>
		<p align="left" style="margin-left: 30.0px;">'log.info("Prueba deFunction
			llamadacall de funcióntest");'+;</p>
		<p align="left" style="margin-left: 30.0px;">'}'</p>
		<p align="left">&#160;</p>
		<p align="left" style="margin-left: 30.0px;">
			nFormId := <strong>FWECMPutCard(cProcessId,cDescription,cCardDescription,aHTML,aEvents)</strong>
			// devuelvereturns elthe códigoECM delcard ficheroindex en ECMcode
		</p>
		<p align="left" style="margin-left: 30.0px;">If FWWFIsError()</p>
		<p align="left" style="margin-left: 30.0px;">&#160;&#160; aError
			:= FWWFGetError()</p>
		<p align="left" style="margin-left: 30.0px;">&#160;&#160;
			MsgStop(aError[2])</p>
		<p align="left" style="margin-left: 30.0px;">Else</p>
		<p align="left" style="margin-left: 30.0px;">&#160;&#160;
			MsgInfo("FicheroCard actualizadoindex conupdated éxitosuccessfully")</p>
		<p align="left" style="margin-left: 30.0px;">EndIf</p>
		<p align="left" style="margin-left: 30.0px;">Return</p>
	</blockquote>
	<h1 id="id-2.1Formulário-ConstruindoformuláriospararotinasMVC">Creando>Building
		formulariosforms parafor rutinasMVC MVC<routines.</h1>
	<ol>
		<li>Configurar<li>Configure lathe integraciónintegration parafor GED entrebetween Protheus yand ECM en elin
			Configuradorthe Configurator, enin lathe opción EntornoEnvironment > Totvs ECM > GED Wizard de GED<option.</li>
		<li>Utilizar<li>Use el métodothe <strong>GetXMLLayout</strong> method of dethe View parato
			generargenerate elthe HTML .<br />
			<ol>
				<li>Sólo<li>Only losthe componentes Fields yand Grid components sewill convertiránbe a HTML<converted into
					HTML.</li>
				<li>Sólo<li>Only losthe formulariosforms delof tipothe CRUD yand Master/Detail type puedencan be
					exportarseexported ato ECM, yasince queyou nocannot essimulate posibleall simularthe todosevents losfrom eventos dethe
					losother demástypes tipos de formularios de of Microsiga Protheus forms.</li>
				<li>Este<li>This method métodois esjust sóloa unademonstration demostraciónof dehow cómothe esmechanism elis
					mecanismoin en Microsiga Protheus. MVC forms Loshave formulariosan MVCautomatic tienenway unaof
					formagenerating automáticaa deprocess generarwith unform proceso con formulario en ECM en lasin ECM, in the routine 'Related
					'Acciones Relacionadas' de la rutinaActions'.</li>
			</ol></li>
	</ol>
	<blockquote>
		<p align="left">#include "totvs.ch".</p>
		<p align="left">User Function FormView()</p>
		<p align="left">Local oView := FWLoadView("MATA030_MVC")</p>
		<p align="left">Local cProcessId := "CLIENTE" // siif seprovided, informait
			actualiceupdates the elform formulariorelated relacionadoto conthe elprocess, procesootherwise, sinocreates creea unonew
			nuevo<one.</p>
		<p align="left">Local cDescription := "FormularioCustomer del registro de
			cliente"file form".</p>
		<p align="left">Local cCardDescription := "".</p>
		<p align="left">Local aEvents := Array(1,2) // eventosevents quethat sewill
			personalizarán para el formulario<not be customized for the form.</p>
		<p align="left">Local nFormId</p>
		<p align="left">Local aError</p>
		<p align="left">Local aFiles</p>
		<p align="left">Local lHtm := .T.</p>
		<p align="left">Local lEmbedded := .F.</p>
		<p align="left">Local lDocType := .T.</p>
		<p align="left">&#160;</p>
		<p align="left">
			<a href="http://oViewsetOperation(3)" class="external-link"
				rel="nofollow">oView:setOperation(3)</a>
		</p>
		<p align="left">&#160;</p>
		<p align="left">
			aFiles := oView:<strong>GetXMLLayOut(lHtm,lEmbedded,lDocType)</strong>
		</p>
		<p align="left">&#160;</p>
		<p align="left">aEvents[1][1] := "setEnable" // name nombreof delthe evento<event</p>
		<p align="left">aEvents[1][2] := 'function setEnable() {'+; //
			script enJavaScript lenguajelanguage JavaScript<script</p>
		<p align="left">'log.info("PruebaFunction de llamada de funcióncall test");'+;</p>
		<p align="left">'}'</p>
		<p align="left">&#160;</p>
		<p align="left">nFormId :=
			FWECMPutCard(cProcessId,cDescription,cCardDescription,aFiles,aEvents)
			// devuelvereturns elthe códigocard delindex ficherocode enin ECM</p>
		<p align="left">If FWWFIsError()</p>
		<p align="left">&#160;&#160; aError := FWWFGetError()</p>
		<p align="left">&#160;&#160; MsgStop(aError[2])</p>
		<p align="left">Else</p>
		<p align="left">&#160;&#160; MsgInfo("FicheroCard actualizadoindex conupdated
			éxitosuccessfully")</p>
		<p align="left">EndIf</p>
		<p align="left">Return</p>
	</blockquote>
	<h2 id="id-2.1Formulário-UsandoMVCnosformuláriosModelo1">Usando>Using MVC
		MVCModel en los formularios Modelo 1<1 forms</h2>
	<p>Para<p>For rutinasautomatic automáticasroutines delof tipothe ModeloModel 1 (CRUD) type that queuse utilizanonly
		sóloData camposDictionary delfields, Diccionario de Datos se puede utilizar MVC para
		simplificar el proceso de personalización del formulario, de la
		siguiente manerayou can use MVC to simplify the form
		customization process, as follows:</p>
	<blockquote>
		<p align="left">#include "totvs.ch".</p>
		<p align="left">User Function FormTable()</p>
		<p align="left">Local cTable := "SA1"</p>
		<p align="left">Local cProcessId := "MATA030"</p>
		<p align="left">Local cDescription := "ClienteCustomer (rutinaautomatic
			automáticaroutine)"</p>
		<p align="left">Local oView</p>
		<p align="left">Local aEvents := Array(1,2) // eventosevents quethat sewill
			personalizarán para el formulario<not be customized for the form.</p>
		<p align="left">Local nFormId</p>
		<p align="left">Local aError</p>
		<p align="left">Local aFiles</p>
		<p align="left">Local lHtm := .T.</p>
		<p align="left">Local lEmbedded := .F.</p>
		<p align="left">Local lDocType := .T.</p>
		<p align="left">&#160;</p>
		<p align="left">
			<strong>FwAliasMVC(cTable,cProcessId,cDescription)</strong>
		</p>
		<p align="left">&#160;</p>
		<p align="left">oView := FwLoadView("PROTHEUSMVC")</p>
		<p align="left">
			<a href="http://oViewsetOperation(3)" class="external-link"
				rel="nofollow">oView:setOperation(3)</a>
		</p>
		<p align="left">&#160;</p>
		<p align="left">
			aFiles := <strong>oView:GetXMLLayOut(lHtm,lEmbedded,lDocType)</strong>
		</p>
		<p align="left">aEvents[1][1] := "setEnable" // name nombreof delthe evento<event</p>
		<p align="left">aEvents[1][2] := 'function setEnable() {'+; //
			scriptJavaScript enlanguage lenguaje JavaScript<script</p>
		<p align="left">'log.info("PruebaFunction de llamada de funcióncall test");'+;</p>
		<p align="left">'}'</p>
		<p align="left">&#160;</p>
		<p align="left">nFormId :=
			FWECMPutCard(cProcessId,cDescription,cCardDescription,aFiles,aEvents)
			// devuelvereturns elthe códigocard delindex ficherocode enin ECM</p>
		<p align="left">If FWWFIsError()</p>
		<p align="left">&#160;&#160; aError := FWWFGetError()</p>
		<p align="left">&#160;&#160; MsgStop(aError[2])</p>
		<p align="left">Else</p>
		<p align="left">&#160;&#160; MsgInfo("FicheroCard actualizadoindex conupdated
			éxitosuccessfully")</p>
		<p align="left">EndIf</p>
		<p align="left">Return</p>
	</blockquote>
	<p align="left">&#160;</p>
	<p align="left">&#160;</p>
	<p>&#160;</p>
	<p>
		<br /> 
		<br />
	</p>
	<p>&#160;</p>
</div>