AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.02.2016, 03:34   #1  
magicandy is offline
magicandy
Участник
 
111 / 12 (1) ++
Регистрация: 15.07.2014
Проблема с отображением диалогового окна
Коллеги, обращаюсь к вам за помощью. Уже не знаю, где ковырять.

На загрузке формы есть скрипт.
X++:
Mscrm.ScriptLoader.prototype.addIncludeExternalSync(null, '/WebResources/new_jquery.min');
Mscrm.ScriptLoader.prototype.addIncludeExternalSync(null, '/WebResources/new_xrmservicetoolkit.min');
Mscrm.ScriptLoader.prototype.addIncludeExternalSync(null, 'http://crm/ISV/jquery-ui-1.11.4/jquery-ui.min.js');

(function ($) {
    var $mainFrame = parent.document.getElementById("contentIFrame0").contentWindow.document;
    var $head = $($mainFrame).find("head");
    $($head[0]).append("<link rel='stylesheet' href='http://crm/ISV/jquery-ui-1.11.4/jquery-ui.min.css'>");
    $($head[0]).append("<link rel='stylesheet' href='/WebResources/new_DialogAppCSS'>");
    $("<div id='dialogx'><iframe scrolling='no' src='http://www.w3schools.com'></iframe></div>").dialog({
        title: "jQ UI Dialog",
        resizable: false
    });
})(window.xrmjQuery);
Скрипт открывает JQUI диалог. Всё запилено с соответствующей инкапсуляцией.

Итого, когда осуществляется первоначальное откртие карточки, диалог выглядит так, будто игнорирует все ЦСС:



Но после того как обновим страницу (Ф5), всё становится идеально:



В чем может быть косяк?

ЗЫ: CRM13 on-pre. На форме больше нет никакой кастомизации. Это едиснтвенный скрипт. В ИЕ и Хроме результат идентичный.
ЗЫЫ: Ошибок в консоли никаких нет (ну кроме Refused to set unsafe header "Content-Length", естессна)..

Последний раз редактировалось magicandy; 06.02.2016 в 03:50.
Старый 06.02.2016, 12:34   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,066 / 832 (34) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Тяжело что либо посоветовать, кроме как полностью повторять ваш сценарий у себя. Может стоит воспользоваться тем, что уже есть в интернете и не придумывать ничего нового?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Читайте мой блог
Старый 06.02.2016, 14:58   #3  
magicandy is offline
magicandy
Участник
 
111 / 12 (1) ++
Регистрация: 15.07.2014
Мдя Печаль.
Модальный диалог CRM, конечно, проверенный вариант, но смысл был именно в плавающем диалоге.
Цитата:
кроме как полностью повторять ваш сценарий у себя.
А если выложу скрипты и ЦСС-сники ?
Старый 06.02.2016, 15:47   #4  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,066 / 832 (34) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от magicandy Посмотреть сообщение
Мдя Печаль.
Модальный диалог CRM, конечно, проверенный вариант, но смысл был именно в плавающем диалоге.

А если выложу скрипты и ЦСС-сники ?
А чем это отменяет воспроизведение вашего сценария у себя?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Читайте мой блог
Старый 08.02.2016, 23:16   #5  
magicandy is offline
magicandy
Участник
 
111 / 12 (1) ++
Регистрация: 15.07.2014
Вот так заработало, как надо:
X++:
$("<link/>", {
    rel: "stylesheet",
    type: "text/css",
    href: "http://crm/ISV/jquery-ui-1.11.4/jquery-ui.min.css"
}).appendTo("head");
$("<link/>", {
    rel: "stylesheet",
    type: "text/css",
    href: "/WebResources/new_DialogAppCSS"
}).appendTo("head");
Mscrm.ScriptLoader.prototype.addIncludeExternalSync(null, '/WebResources/new_jquery.min');
Mscrm.ScriptLoader.prototype.addIncludeExternalSync(null, '/WebResources/new_xrmservicetoolkit.min');
Mscrm.ScriptLoader.prototype.addIncludeExternalSync(null, 'http://crm/ISV/jquery-ui-1.11.4/jquery-ui.min.js');

(function ($) {
    $("<div id='dialogx'><iframe scrolling='no' src='http://www.w3schools.com'></iframe></div>").dialog({
        title: "jQ UI Dialog",
        resizable: false
    });
})(window.xrmjQuery);
Старый 24.03.2018, 14:06   #6  
magicandy is offline
magicandy
Участник
 
111 / 12 (1) ++
Регистрация: 15.07.2014
Lightbulb
Наткнулся на свой топик двухлетней давности и решил поделиться информацией для ансуппортед-маньяков в свете уже DCRM365. Возможно, кому-то пригодится (ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК ).

В новых турбо-формах метод синхронной загрузки скриптов переехал в parent:
X++:
parent.Mscrm.ScriptLoader.prototype.addIncludeExternalSync(null, "/WebResources/new_somescript.js");
Там же можно найти "родной" jQuery (но старенький).

А вот небольшой хелпер, который ищет контрол по джейквери-селектору:
X++:
var Helper = (function ($) {
        getControl: function (selector) {
            return $($($(parent.parent.document).find("#contentIFrame0")[0]).contents()[0]).find(selector).length > 0 ?
                $($($(parent.parent.document).find("#contentIFrame0")[0]).contents()[0]).find(selector) :
                $($($(parent.parent.document).find("#contentIFrame1")[0]).contents()[0]).find(selector);
        }
    };
})(parent.$);
Пример использования:
X++:
Helper.getControl("#telephone1");
Have fun!
Старый 25.03.2018, 00:08   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,066 / 832 (34) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Вы, конечно, молодец, но подумайте о ситуации, как вы это будете мигрировать на UUI, и, особенно, в контексте работы с Mobile App.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Читайте мой блог
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Проблема внутренней (доменной) авторизации в CRM 2011/2013 при включенном IFD Blog bot Dynamics CRM: Blogs 0 20.06.2014 13:12
Как выбрать ИД записей из диалогового окна? Ion Dynamics CRM: Разработка 1 22.11.2013 11:21
Нет диалогового окна при квалификации интереса -O_o- Dynamics CRM: Прочие вопросы 2 06.03.2013 00:07
Проблема с действиями сервиса(CRM 4.0) Archon Dynamics CRM: Функционал 6 08.07.2009 14:33
Проблема при создании мероприятия ShurikEv Dynamics CRM: Функционал 2 03.11.2008 18:26
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:29.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.