Повесил на Onload формы такую штуку
Код:
var fetchBase = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='new_pminvoice'><attribute name='new_invoicenumber'/><attribute name='new_date'/><attribute name='new_organization'/><attribute name='new_account'/><attribute name='transactioncurrencyid'/><attribute name='new_summa'/><attribute name='statuscode'/><attribute name='new_pminvoiceid'/><order attribute='new_invoicenumber' descending='false'/>";
var fetchLayout = "<grid name='resultset' object='10009' jump='new_invoicenumber' select='1' icon='1' preview='1'><row name='result' id='new_pminvoiceid'><cell name='new_invoicenumber' width='100'/><cell name='new_date' width='100'/><cell name='new_organization' width='100'/><cell name='new_account' width='100'/><cell name='new_summa' width='100'/><cell name='transactioncurrencyid' width='100'/><cell name='statuscode' width='100'/></row></grid>";
function OnSearch() {
window.fetchAccounts = new FetchViewer("IFRAME_invoice");
fetchAccounts.Entity = "new_pminvoice";
fetchAccounts.FetchXml = getFetchXml();
fetchAccounts.LayoutXml = getLayoutXml();
fetchAccounts.QueryId = "{8465BADD-CFAC-42CD-A578-7846C1358ED8}";
fetchAccounts.RegisterOnTab(0);
//replaceheaders();
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
function Clear() {
var fields = document.getElementsByTagName("input");
for (var i = 0; i < fields.length; i++) {
if (fields[i].type == "text") {
if ((fields[i].value != null) && (fields[i].value != "")) {
fields[i].value = "";
}
}
}
}
function getFetchXml() {
var fetchQuery = fetchBase;
var currId = crmForm.ObjectId;
fetchQuery += '<link-entity name="new_pmsupreq" from="new_pmsupreqid" to="new_suprequestid">'+
'<link-entity name="new_new_pmrequest_new_pmsupreqmany" from="new_pmsupreqid" to="new_pmsupreqid">'+
'<filter>'+
'<condition attribute="new_pmrequestid" operator="eq" value="' + currId + '" />' +
'</filter>'+
'</link-entity>'+
'</link-entity>';
fetchQuery += '</entity></fetch>';
return fetchQuery;
}
function getLayoutXml() {
return fetchLayout;
}
function FetchViewer(iframeId) {
var Instance = this;
var vDynamicForm;
var m_iframeTab;
var m_iframeDoc;
Instance.Entity = "";
Instance.Iframe = null;
Instance.FetchXml = "";
Instance.QueryId = "";
Instance.LayoutXml = "";
Instance.RegisterOnTab = function(tabIndex) {
Instance.Iframe = document.getElementById(iframeId);
if (!Instance.Iframe)
return alert("Iframe " + iframeId + " is undefined");
m_iframeDoc = getIframeDocument();
var loadingGifHTML = "<table height='100%' width='100%' style='cursor:wait'>";
loadingGifHTML += "<tr>";
loadingGifHTML += "<td valign='middle' align='center'>";
loadingGifHTML += "<img alt='' src='/_imgs/AdvFind/progress.gif'/>";
loadingGifHTML += "<div/><b>Loading View...</b>";
loadingGifHTML += "</td></tr></table>";
m_iframeDoc.body.innerHTML = loadingGifHTML;
if (parseInt("0" + tabIndex) == 0) Instance.Refresh();
else Instance.Iframe.attachEvent("onreadystatechange", RefreshOnReadyStateChange);
}
function RefreshOnReadyStateChange() {
if (Instance.Iframe.readyState != 'complete')
return;
Instance.Refresh();
}
Instance.Refresh = function() {
if (!Instance.Iframe)
return alert("Iframe " + iframeId + " is undefined");
m_iframeDoc = getIframeDocument();
Instance.Iframe.detachEvent("onreadystatechange", RefreshOnReadyStateChange);
var create = m_iframeDoc.createElement;
var append1 = m_iframeDoc.appendChild;
vDynamicForm = create("<FORM name='vDynamicForm' method='post'>");
var append2 = vDynamicForm.appendChild;
append2(create("<INPUT type='hidden' name='FetchXml'>"));
append2(create("<INPUT type='hidden' name='LayoutXml'>"));
append2(create("<INPUT type='hidden' name='EntityName'>"));
append2(create("<INPUT type='hidden' name='DefaultAdvFindViewId'>"));
append2(create("<INPUT type='hidden' name='ViewType'>"));
append1(vDynamicForm);
vDynamicForm.action = prependOrgName("/AdvancedFind/fetchData.aspx");
vDynamicForm.FetchXml.value = Instance.FetchXml;
vDynamicForm.LayoutXml.value = Instance.LayoutXml;
vDynamicForm.EntityName.value = Instance.Entity;
vDynamicForm.DefaultAdvFindViewId.value = Instance.QueryId;
vDynamicForm.ViewType.value = 1039;
vDynamicForm.submit();
Instance.Iframe.attachEvent("onreadystatechange", OnViewReady);
}
function OnViewReady() {
if (Instance.Iframe.readyState != 'complete') return;
Instance.Iframe.style.border = 0;
Instance.Iframe.detachEvent("onreadystatechange", OnViewReady);
m_iframeDoc = getIframeDocument();
m_iframeDoc.body.scroll = "no";
m_iframeDoc.body.style.padding = "0px";
}
function getIframeDocument() {
return Instance.Iframe.contentWindow.document;
}
}
function checkEnter(e) { //e is event object passed from function invocation
var characterCode; //literal character code will be stored in this variable
if (e && e.which) { //if which property of event object is supported (NN4)
e = e
characterCode = e.which //character code is contained in NN4's which property
}
else {
e = event
characterCode = e.keyCode //character code is contained in IE's keyCode property
}
if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
OnSearch(); //submit the form
return false
}
else {
return true
}
}
function setIframeHeight(iframeName) {
var iframeEl = document.getElementById ? document.getElementById(iframeName) : document.all ? document.all[iframeName] : null;
if (iframeEl) {
iframeEl.style.height = "auto";
iframeEl.style.height = getSize() - iframeEl.offsetTop + "px";
}
}
function getSize() {
var myHeight = 0;
if (typeof (window.innerWidth) == 'number') {
//Non-IE
myHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6+ in 'standards compliant mode'
myHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4 compatible
myHeight = document.body.clientHeight;
}
return myHeight;
}
function prependOrgName(url) {
var location = document.location.href;
var org = document.location.search.substring(document.location.search.indexOf('=') + 1, document.location.search.length).toLowerCase();
if (document.location.host.toLowerCase().indexOf(org) != -1) { //IFD
return url;
}
else {
return (url.charAt(0) == '/') ? "/" + org + url : "/" + org + "/" + url;
}
}
function initIframe() {
crmForm.all.IFRAME_invoice.document.body.style.backgroundColor = "#E3EFFF";
setIframeHeight('IFRAME_invoice');
OnSearch();
}
initIframe();
в методе
Код:
function getIframeDocument() {
return Instance.Iframe.contentWindow.document;
}
Ругается ОТКАЗАНО В ДОСТУПЕ.. Из-за чего такая штука может быть?