I have assumed that you have created the new entity using the Advanced Customization Wizard. You can download the latest version of the wizard here: https://community.sagecrm.com/partner_community/m/sage_crm_downloads/default.aspx.
I have also assumed that when the entity was created the option to include child documents was selected.
Our custom entity therefore has the ability to upload images to its 'library'.
I then made sure there was an option for 'Image' in the libr_type field, this is to allow me to indicate that the uploaded file is an image. I then added a dummy field into the project table e.g. proj_projectimage. I made the field read-only using the Field Level Security. I included the field in the default project summary screen - ProjectNewEntry.
Then I added the code to the create script of the 'dummy' field.
var strJump = Values("J"); re = /projectnew/i; r = strJump.search(re) if (r==-1) { var SID var strPath = CRM.URL(220); //the system action 220 is for the person summary screen var arrayFullKeys = strPath.split("?"); //arrayFullKeys[0] contains path up like "/crm/CRM.dll/Do" var arrayKeys = arrayFullKeys[1].split("&"); for (var i=0;i<arrayKeys.length;i++) { var arrayValue = arrayKeys[i].split("="); if (arrayValue[0].toLowerCase()== "sid") { SID = arrayValue[1]; } } //This is used in pages which are linked to from list custom jump. var intRecordId = Values("proj_projectid"); var myRecord = CRM.FindRecord('library',"libr_type='Image' and libr_projectid ="+intRecordId); var pictureURL = arrayFullKeys[0]+"/"; if (!myRecord.eof) { //pictureURL += custom_sysparams.parm_value; pictureURL += myRecord.Libr_FilePath; pictureURL += myRecord.Libr_FileName; pictureURL += "?SID="; pictureURL += SID; pictureURL += "&Act=1282&Mode=0&FileName="; pictureURL += myRecord.Libr_FilePath; pictureURL += myRecord.Libr_FileName; Caption = "<img border=1 width=80 src='"+pictureURL+"'>"; } else { Caption = "No Image Available"; } } else { Hidden = true; }
Note: Because of my earlier assumption that the code for the ASP pages was generated by the Advanced Customization Wizard I can use the fact that the summary page is called projectsummary.asp and the entry page is projectnew.asp. This makes it very easy for me to determine whether I am in looking at an existing record or whether I am in the process of creating one.
To change this for your own entities you will need to look through the code and see where I have referenced the project entity. Just change those references for your own and all should be well.