William,<div><br></div><div>Fields with uitype 27 and 28 are hardcoded for Documents module and might not work for other modules.</div><div>To relate Documents module with any other module all you need is this</div><div><div>

<font color="#ff0000"><br class="Apple-interchange-newline"></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<font color="#ff0000">$module-&gt;setRelatedList(Vtiger_Module::getInstance(&#39;Documents&#39;), &#39;Documents&#39;, Array(&#39;ADD&#39;,&#39;SELECT&#39;),&#39;get_attachments&#39;);</font></blockquote></div><br class="Apple-interchange-newline">

I just tried it for Vendors module and it worked for me.</div><div><br><div class="gmail_quote">On 25 June 2012 21:14, William Bejarano <span dir="ltr">&lt;<a href="mailto:william.bejarano@ito-software.com" target="_blank">william.bejarano@ito-software.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello everybody<div><br></div><div>I created a new module and need add a documents field, I used 27 and 28 Uitype in this script, </div>

<div><br></div><div><div><br></div><div>// Just a bit of HTML formatting</div><div>echo &#39;&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;<a href="http://www.w3.org/TR/html4/loose.dtd" target="_blank">http://www.w3.org/TR/html4/loose.dtd</a>&quot;&gt;&#39;;</div>




<div><br></div><div>echo &#39;&lt;html&gt;&lt;head&gt;&lt;title&gt;vtlib Module Script&lt;/title&gt;&#39;;</div><div>echo &#39;&lt;style type=&quot;text/css&quot;&gt;@import url(&quot;themes/softed/style.css&quot;);br { display: block; margin: 2px; }&lt;/style&gt;&#39;;</div>




<div>echo &#39;&lt;/head&gt;&lt;body class=small style=&quot;font-size: 12px; margin: 2px; padding: 2px;&quot;&gt;&#39;;</div><div>echo &#39;&lt;a href=&quot;index.php&quot;&gt;&lt;img src=&quot;themes/softed/images/vtiger-crm.gif&quot; alt=&quot;vtiger CRM&quot; title=&quot;vtiger CRM&quot; border=0&gt;&lt;/a&gt;&lt;hr style=&quot;height: 1px&quot;&gt;&#39;;</div>




<div><br></div><div>// Turn on debugging level</div><div>$Vtiger_Utils_Log = true;</div><div><br></div><div>include_once(&#39;vtlib/Vtiger/Menu.php&#39;);</div><div>include_once(&#39;vtlib/Vtiger/Module.php&#39;);</div><div>




<br></div><div>// Create module instance and save it first</div><div>$module = new Vtiger_Module();</div><div>$module-&gt;name = &#39;Payslip&#39;;</div><div>$module-&gt;save();</div><div>$module-&gt;initWebservice();</div>




<div><br></div><div>// Initialize all the tables required</div><div>$module-&gt;initTables();</div><div>/**</div><div> * Creates the following table:</div><div> * vtiger_payslip  (payslipid INTEGER)</div><div> * vtiger_payslipcf(payslipid INTEGER PRIMARY KEY)</div>




<div> * vtiger_payslipgrouprel((payslipid INTEGER PRIMARY KEY, groupname VARCHAR(100))</div><div> */</div><div><br></div><div>// Add the module to the Menu (entry point from UI)</div><div>$menu = Vtiger_Menu::getInstance(&#39;Tools&#39;);</div>




<div>$menu-&gt;addModule($module);</div><div><br></div><div>// Add the basic module block</div><div>$block1 = new Vtiger_Block();</div><div>$block1-&gt;label = &#39;LBL_PAYSLIP_INFORMATION&#39;;</div><div>$module-&gt;addBlock($block1);</div>




<div><br></div><div>// Add custom block (required to support Custom Fields)</div><div>$block2 = new Vtiger_Block();</div><div>$block2-&gt;label = &#39;LBL_CUSTOM_INFORMATION&#39;;</div><div>$module-&gt;addBlock($block2);</div>




<div><br></div><div>/** Create required fields and add to the block */</div><div>$field1 = new Vtiger_Field();</div><div>$field1-&gt;name = &#39;payslipname&#39;;</div><div>$field1-&gt;label = &#39;PayslipName&#39;;</div>




<div>$field1-&gt;table = $module-&gt;basetable;</div><div>$field1-&gt;column = &#39;payslipname&#39;;</div><div>$field1-&gt;columntype = &#39;VARCHAR(255)&#39;;</div><div>$field1-&gt;uitype = 2;</div><div>$field1-&gt;typeofdata = &#39;V~M&#39;;</div>




<div>$block1-&gt;addField($field1); /** Creates the field and adds to block */</div><div><br></div><div><font color="#ff0000">/** Create required fields and add to the block */</font></div><div><font color="#ff0000">$fieldDoc2 = new Vtiger_Field();</font></div>




<div><font color="#ff0000">$fieldDoc2-&gt;name = &#39;documentoa&#39;;</font></div><div><font color="#ff0000">$fieldDoc2-&gt;label = &#39;documentoa&#39;;</font></div><div><font color="#ff0000">$fieldDoc2-&gt;table = &#39;vtiger_notes&#39;;</font></div>




<div><font color="#ff0000">$fieldDoc2-&gt;column = &#39;documentoa&#39;;</font></div><div><font color="#ff0000">$fieldDoc2-&gt;columntype = &#39;VARCHAR(200)&#39;;</font></div><div><font color="#ff0000">$fieldDoc2-&gt;uitype = 27;</font></div>




<div><font color="#ff0000">$fieldDoc2-&gt;typeofdata = &#39;V~0&#39;;</font></div><div><font color="#ff0000">$block1-&gt;addField($fieldDoc2); /** Creates the field and adds to block */</font></div><div><font color="#ff0000">//$fieldDoc2-&gt;setRelatedModules(Array(&#39;Documents&#39;));</font></div>




<div><font color="#ff0000"><br></font></div><div><font color="#ff0000">/** Create required fields and add to the block */</font></div><div><font color="#ff0000">$fieldDoc3 = new Vtiger_Field();</font></div><div><font color="#ff0000">$fieldDoc3-&gt;name = &#39;documento&#39;;</font></div>




<div><font color="#ff0000">$fieldDoc3-&gt;label = &#39;documento&#39;;</font></div><div><font color="#ff0000">$fieldDoc3-&gt;table = &#39;vtiger_notes&#39;;</font></div><div><font color="#ff0000">$fieldDoc3-&gt;column = &#39;documento&#39;;</font></div>




<div><font color="#ff0000">$fieldDoc3-&gt;columntype = &#39;VARCHAR(200)&#39;;</font></div><div><font color="#ff0000">$fieldDoc3-&gt;uitype = 28;</font></div><div><font color="#ff0000">$fieldDoc3-&gt;typeofdata = &#39;V~0&#39;;</font></div>




<div><font color="#ff0000">$block1-&gt;addField($fieldDoc3); /** Creates the field and adds to block */</font></div><div><font color="#ff0000">//$fieldDoc3-&gt;setRelatedModules(Array(&#39;Documents&#39;));</font></div><div>




<br></div><div><br></div><div><br></div><div>// Set at-least one field to identifier of module record</div><div>$module-&gt;setEntityIdentifier($field1);</div><div><br></div><div>$field2 = new Vtiger_Field();</div><div>$field2-&gt;name = &#39;PayslipType&#39;;</div>




<div>$field2-&gt;label = &#39;Payslip Type&#39;; </div><div>$field2-&gt;columntype = &#39;VARCHAR(100)&#39;;</div><div>$field2-&gt;uitype = 15;</div><div>$field2-&gt;typeofdata = &#39;V~O&#39;;// Varchar~Optional</div><div>




$block1-&gt;addField($field2); /** table and column are automatically set */</div><div><br></div><div>$field2-&gt;setPicklistValues( Array (&#39;Employee&#39;, &#39;Trainee&#39;));</div><div><br></div><div>$field3 = new Vtiger_Field();</div>




<div>$field3-&gt;name = &#39;Month&#39;;</div><div>$field3-&gt;uitype = 23;</div><div>$field3-&gt;typeofdata = &#39;D~M&#39;; // Date~Mandatory</div><div>$block1-&gt;addField($field3);  /** table, column, label, set to default values */</div>




<div><br></div><div>$field4 = new Vtiger_Field();</div><div>$field4-&gt;name = &#39;LinkTo&#39;;</div><div>$field4-&gt;label= &#39;Link To&#39;;</div><div>$field4-&gt;table = &#39;vtiger_payslip&#39;;</div><div>$field4-&gt;column = &#39;linkto&#39;;</div>




<div>$field4-&gt;columntype = &#39;VARCHAR(100)&#39;;</div><div><br></div><div>$field4-&gt;uitype = 10;</div><div>$field4-&gt;typeofdata = &#39;V~O&#39;;</div><div>$field4-&gt;helpinfo = &#39;Relate to an existing contact&#39;;</div>




<div>$block1-&gt;addField($field4);</div><div>$field4-&gt;setRelatedModules(Array(&#39;Contacts&#39;));</div><div><br></div><div>/** Common fields that should be in every module, linked to vtiger CRM core table */</div><div>




$field5 = new Vtiger_Field();</div><div>$field5-&gt;name = &#39;assigned_user_id&#39;;</div><div>$field5-&gt;label = &#39;Assigned To&#39;;</div><div>$field5-&gt;table = &#39;vtiger_crmentity&#39;; </div><div>$field5-&gt;column = &#39;smownerid&#39;;</div>




<div>$field5-&gt;uitype = 53;</div><div>$field5-&gt;typeofdata = &#39;V~M&#39;;</div><div>$block1-&gt;addField($field5);</div><div><br></div><div>$field6 = new Vtiger_Field();</div><div>$field6-&gt;name = &#39;CreatedTime&#39;;</div>




<div>$field6-&gt;label= &#39;Created Time&#39;;</div><div>$field6-&gt;table = &#39;vtiger_crmentity&#39;;</div><div>$field6-&gt;column = &#39;createdtime&#39;;</div><div>$field6-&gt;uitype = 70;</div><div>$field6-&gt;typeofdata = &#39;T~O&#39;;</div>




<div>$field6-&gt;displaytype= 2;</div><div>$block1-&gt;addField($field6);</div><div><br></div><div>$field7 = new Vtiger_Field();</div><div>$field7-&gt;name = &#39;ModifiedTime&#39;;</div><div>$field7-&gt;label= &#39;Modified Time&#39;;</div>




<div>$field7-&gt;table = &#39;vtiger_crmentity&#39;;</div><div>$field7-&gt;column = &#39;modifiedtime&#39;;</div><div>$field7-&gt;uitype = 70;</div><div>$field7-&gt;typeofdata = &#39;T~O&#39;;</div><div>$field7-&gt;displaytype= 2;</div>




<div>$block1-&gt;addField($field7);</div><div>/** END */</div><div><br></div><div>// Create default custom filter (mandatory)</div><div>$filter1 = new Vtiger_Filter();</div><div>$filter1-&gt;name = &#39;All&#39;;</div><div>




$filter1-&gt;isdefault = true;</div><div>$module-&gt;addFilter($filter1);</div><div><br></div><div>// Add fields to the filter created</div><div>$filter1-&gt;addField($field1)-&gt;addField($field2, 1)-&gt;addField($field5, 2);</div>




<div><br></div><div>// Create one more filter</div><div>$filter2 = new Vtiger_Filter();</div><div>$filter2-&gt;name = &#39;All2&#39;;</div><div>$module-&gt;addFilter($filter2);</div><div><br></div><div>// Add fields to the filter</div>




<div>$filter2-&gt;addField($field1);</div><div>$filter2-&gt;addField($field2, 1);</div><div><br></div><div>// Add rule to the filter field</div><div>$filter2-&gt;addRule($field1, &#39;CONTAINS&#39;, &#39;Test&#39;);</div>




<div><br></div><div>/** Associate other modules to this module */</div><div><font color="#ff0000">$module-&gt;setRelatedList(Vtiger_Module::getInstance(&#39;Documents&#39;), &#39;Documents&#39;, Array(&#39;ADD&#39;,&#39;SELECT&#39;),&#39;get_attachments&#39;);</font></div>




<div><br></div><div>/** Set sharing access of this module */</div><div>$module-&gt;setDefaultSharing(&#39;Private&#39;); </div><div><br></div><div>/** Enable and Disable available tools */</div><div>$module-&gt;enableTools(Array(&#39;Import&#39;, &#39;Export&#39;));</div>




<div>$module-&gt;disableTools(&#39;Merge&#39;);</div><div><br></div><div>echo &#39;&lt;/body&gt;&lt;/html&gt;&#39;;</div><div><br></div><div><br></div><div>1)  The maximum upload size it is equal than 0MB.</div><div>2)  When i try upload a document, it isn&#39;t saved (I modified the maximum upload with firebug)</div>




<div>3) In the section &quot;<span style="line-height:20px;text-align:-webkit-center;font-size:11px;white-space:nowrap;font-family:Arial,Helvetica,sans-serif;font-weight:bold">More Information</span>&quot; on &quot;document&quot; cannot attach a file</div>


<div><br></div><div>Thks</div><span class="HOEnZb"><font color="#888888"><div><br></div><div><br clear="all"><div><br></div>-- <br><font size="4"><b>William Bejarano</b></font><br>Ing. Sistemas<br><a href="http://www.ito-software.co" target="_blank">www.ito-software.co</a><br>




<br>
</div></font></span></div>
<br>_______________________________________________<br>
<a href="http://www.vtiger.com/" target="_blank">http://www.vtiger.com/</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Regards<br>Vikas<br>Vtiger Team<br>
</div>