Показать сообщение отдельно
Старый 09.07.2010, 09:14   #8  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Всем спасибо, отдельное спасибо slivka_83 за помощь по личке. Ошибка крылась на онлоаде формы, исправленный код кому надо выкладываю (аспх страницу можно не трогать):
Код:
var nnId = "new_group_scan"; // entity 1:N relationship id
var lookupTypeCode = 10040; // entity type code
var lookupViewId = "7FCA6B20-8753-DF11-9CD0-003048743D05"; // the view id of referenced entity

var lookupSrc = "/" + ORG_UNIQUE_NAME + "/ISV/lookup/lookupmulti.aspx";
var lookupArg = "/" + ORG_UNIQUE_NAME + "/_root/homepage.aspx?etc=" + lookupTypeCode +"&viewid=" + lookupViewId;

var lookupEntityTypeCode;
var navId = document.getElementById("nav_" + nnId);
if (navId != null)
{
 var la = navId.onclick.toString();
 la = la.substring(la.indexOf("loadArea"), la.indexOf(";"));

 navId.onclick = function()
 {
     eval(la);
  
     var areaId = document.getElementById(nnId + "Frame");
     if(areaId != null)
     {
         areaId.onreadystatechange = function()
         {
             if (areaId.readyState == "complete")
             {
                 var frame = frames[window.event.srcElement.id];
                 var li = frame.document.getElementsByTagName("li"); 

                 for (var i = 0; i < li.length; i++)
                 {
                     var action = li[i].getAttribute("action");
                     if(action != null && action.indexOf(nnId) > 1)
                     {
                         lookupEntityTypeCode = action.substring(action.indexOf("\(")+1, action.indexOf(","));
                         li[i].onclick = CustomLookup;
                         break;
                     }
                 }
             }
         }
     }
 }
}


function CustomLookup()
{
 var lookupItems = window.showModalDialog(lookupSrc, lookupArg, "dialogWidth:800px; dialogHeight:600px;");

if (lookupItems)
{
if ( lookupItems.items.length > 0 )
{
var commandAssociate = new RemoteCommand("AssociateRecords", "AssociateOneToMany");

var i = 0;
var objs = lookupItems.items;
var iLength = objs.length;

for(i = 0; i < iLength; ++i)
{
commandAssociate.SetParameter("childType", lookupEntityTypeCode);
commandAssociate.SetParameter("childId", objs[i].id);
commandAssociate.SetParameter("parentType", crmFormSubmit.crmFormSubmitObjectType.value);
commandAssociate.SetParameter("parentId", crmFormSubmit.crmFormSubmitId.value);
commandAssociate.SetParameter("relationshipName", nnId);

if (!commandAssociate.Execute().Success)
{
break;
}
}
}


try
{
auto(lookupEntityTypeCode);
}
catch(e)
{
}
}
}

Последний раз редактировалось Tarasov E; 09.07.2010 в 10:18.