Отображение результатов расширенного поиска в IFrame
Расширенный поиск очень мощный инструмент поиска данных в CRM системе. И неплохо было бы использовать эту мощь и в других местах системы, помимо собственно формы расширенного поиска. В данном примере сделаем так, чтобы на карточке пользователя отображались его заказы (естественно с помощью расширенного поиска).
- Создайте запрос с помощью Расширенного поиска на объект Заказ (в Вашем случаи, естественно, может быть любой другой). Выберите представление представление и отредактируйте его если хотите изменить отображаемые поля. Далее сохраните созданные шаблон расширенного поиска и скопируйте в буфер обмена ссылку на него.
- Поместите элемент IFrame на форму Пользователя (я для удобства поместил его на отдельную вкладку). В качестве URL’а задайте about:blank (т.е. пустую страницу). Обязательно снимите флажок Ограничить использовать сценариев между кадрами. Я также подредактировал способ отображения айфрейма: растянул его на весь экран и убрал отображение границ.
- Далее поместите следующий код на событие OnLoad формы. Не забудьте только поменять имя айфрема, если оно у Вас отличается, а также обязательно замените ссылку на расширенный поиск (ту что скопировали в буфер обмена).
var iFrame = crmForm.all.IFRAME_view; //Задаем новую урлу для айфрема, равную скопированной в буфер обмена ссылки (за исключением имени сервера и организации) на сохраненный расширенный поиск. iFrame.src = SERVER_URL + "/advancedfind/advfind.aspx?etn=salesorder&QueryId=%7bFEDCE0DC-F946-DE11-B127-000C2943320B%7d&ViewType=4230&AutoRun=True"; //ждем пока загрузится iFrame и выполняем функцию Ready, которая скрывает лишние элементы iFrame.attachEvent( "onreadystatechange" , Ready); function Ready() { var iDoc = iFrame.contentWindow.document; if(iDoc.getElementById("crmMenuBar") != null && iDoc.getElementById("btnBack") != null) { iDoc.getElementById("crmMenuBar").style.display = "none"; // скрываем верхнее меню расширенного поиска iDoc.getElementById("btnBack").style.display = "none"; // скрываем кнопку Назад (расположенную внизу формы расширенного поиска) } }
- Сохраняем, закрываем и публикуем. Вот и все, можете любоваться Вашим творением 🙂
P.S. Мне так и не удалось заставить работать этот скрипта на IE6, но на IE8 он прекрасно работает (и на IE7 тоже должен 🙂 ).
Добрый день,
Функция Ready не работает(( вызывает ошибки на странице, без неё всё отлично)