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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.08.2009, 17:23   #1  
Alberto Farinacci is offline
Alberto Farinacci
Участник
 
26 / 14 (1) ++
Регистрация: 06.07.2009
Объединение двух скриптов на одном событие OnLoad
Коллеги, всем доброго вечера!

Возникла необходимость помещения 2 скриптов на одно событие OnLoad. Ни как не получается объединить их. Доэтого ни разу не программировал на Java, пользуюсь готовыми скриптами.

Ниже приведены сами скрипты.


Первый скрипт (скрипт открытия фалового менеджера в окне iFrame):

// JavaScript File
function OnCrmPageLoad() {
//Измените название поля на Ваше
var networkPath = new NetworkPath("new_docs");
//Пример добавления параметра к строке запроса
networkPath.Params.Add("test","1");
//Пример удаления параметра из строки запроса
networkPath.Params.Remove("test");
//Пример изменения дефолтного стиля
networkPath.Style.Add("color","red");
//Преобразование текстового поля в ссылку
networkPath.Transform();
}

function NetworkPath(baseControlId) {
nk = this;
nk.ID = baseControlId;
nk.Control = document.all[nk.ID];
/* Путь по умолчанию */
nk.Path = "\\\\server\\documents"; //default path
nk.Window = null;
/* Свойства File Explorer (window.open)*/
nk.Features = new Dictionary(",","=");
/* Если Вы хоите то можете расширить Explorer.aspx и добавить больше парметров строки запроса */
nk.Params = new Dictionary("&","=");
/* Дополнительные стилевые правила */
nk.Style = new Dictionary(";",":");

nk.Transform = function() {
if (nk.Control) {
/* Назначает дефлотный путь если поле с сетевым адресом пустое */
if (nk.Control.DataValue == null) {
nk.Control.DataValue = nk.Path;
}

nk.Control.title = "Дважды щелкните чтобы открыть Network Explorer";
/* Параметры окна по умолчанию */
if (!nk.Features.Exist("width")) {
nk.Features.Add("width",700);
}
if (!nk.Features.Exist("height")) {
nk.Features.Add("height",400);
}
if (!nk.Features.Exist("resize")) {
nk.Features.Add("resize","yes");
}
if (!nk.Features.Exist("toolbar")) {
nk.Features.Add("toolbar","no");
}
if (!nk.Features.Exist("menubar")) {
nk.Features.Add("menubar","no");
}
if (!nk.Features.Exist("titlebar")) {
nk.Features.Add("titlebar","no");
}
/* Прикрепление проверки на события изменения и сохраниения */
nk.Control.attachEvent( "onchange" , nk.Validate );
crmForm.attachEvent( "onsave" , nk.Validate );

/* Задаем стиль поля */
nk.Style.Add("text-decoration","underline");
if (!nk.Style.Exist("color")) {
nk.Style.Add("color","blue");
}
nk.Style.Add("cursor","hand");
nk.Control.style.cssText += ";" + nk.Style.ToString();

/* Обрабатываем двойной щелчок */
nk.Control.ondblclick = nk.Open;
}
}

nk.Validate = function() {
if (nk.Control.DataValue == null) {
return true;
}

/* Проверка \\ UNC пути или сетевого диска */
var regex = new RegExp("^(\\\\|[a-zA-Z]");
if (!regex.exec(nk.Control.DataValue)) {
alert("Не корректный сетевой адрес или диск");
return (event.returnValue = false);
}

return true;
}

nk.Open = function() {
if (nk.Control.DataValue != null) {
nk.Window = window.open( SERVER_URL + "/isv/explorer.aspx?path=" + nk.Control.DataValue + nk.Params.ToString() , "" , nk.Features.ToString());
}
}

nk.Close = function() {
nk.Window.close();
}

/* Пары ключ, значение */
function Dictionary(sep,delim) {
this.list = [];
this.Seperator = sep;
this.Delimiter = delim

this.Add = function(key , value) {
this.list[key] = value;
}

this.Remove = function(key) {
this.list[key] = "";
}

this.Exist = function(key) {
return this.list[key] != null && this.list[key] != "";
}

this.ToString = function() {
var result = new StringBuilder();
result.Append(this.Seperator);
for(var key in this.list) {
if (this.list[key]!="") {
result.Append(key).Append(this.Delimiter);
result.Append(this.list[key]).Append(this.Seperator);
}
}
var tmp = result.ToString();
return tmp.substring(0,tmp.length-1);
}
}

function StringBuilder() {
this.data = [];

this.Append = function(text) {
this.data[this.data.length] = text;
return this;
}

this.Reset = function() {
this.data = [];
}

this.ToString = function() {
return this.data.join("");
}
}
}

OnCrmPageLoad();


Второй скрипт (доработка компании которая нам внедряла проект CRM)

//SN.BEGIN.TEMP!!!!!!!!!!!

document.all.navItemPlan.onclick = function redir()
{
openIsvWin('about:blank', false, -1, ''); document.all.navItemPlanAreaFrame.src='/AdvancedFind/AdvFind_JobPlan.aspx';
}

document.all.navItemFact.onclick = function redir()
{
openIsvWin('about:blank', false, -1, ''); document.all.navItemFactAreaFrame.src='/AdvancedFind/AdvFind_JobFact.aspx';
}

document.all.navItemComp.onclick = function redir()
{
openIsvWin('about:blank', false, -1, ''); document.all.navItemCompAreaFrame.src='/AdvancedFind/AdvFind_Competitor.aspx';
}
//SN.END.TEMP!!!!!!!!!!!!


try { document.all.navQuotes.style.display = 'none';}catch (e) {}
try { document.all.navOrders.style.display = 'none';}catch (e) {}
try { document.all.navInvoices.style.display = 'none';}catch (e) {}
try { document.all.navProducts.style.display = 'none';}catch (e) {}
try { document.all.nav_new_opportunity_opportunity.childNodes[1].innerText = 'Дочерние проекты';}catch (e) {}
try { document.all._NA_SFA.parentNode.style.display = 'none';}catch (e) {}



if (crmForm.all.new_salestatus.DataValue == 1)
{
for (var i=0; i< document.all.tab0.all.length; i++)
{
document.all.tab0.all[i].disabled = true;
}
}
//else
//{
//for (var i=0; i< document.all.tab1.all.length; i++)
//{
// document.all.tab1.all[i].disabled = true;
//}

//}

//try {document.getElementById('{abcd867b-8348-4483-8345-c4decb74d2c2}').style.display = 'none';} catch (e) {}

crmForm.all.new_integratorid.lookupbrowse = 1;
crmForm.all.new_integratorid.AddParam("search", "<fetch mapping='logical'><entity name='account'><all-attributes/><link-entity name='new_accountstatus' from='new_accountid' to='accountid' link-type='inner'><filter type='and'><condition attribute='new_statusname' operator='eq' value='Интегратор'/></filter></link-entity></entity></fetch>");

if (crmForm.FormType == 1)
{
var lookupData = new Array();
var lookupItem= new Object();
lookupItem.id = '{749DE47F-7A2F-DE11-BC01-000C294B775D}';
lookupItem.typename = 'transactioncurrency';
lookupItem.name = 'рубль';
lookupData[0] = lookupItem;
crmForm.all.new_transactioncurrencyid.DataValue = lookupData;
}
Старый 04.08.2009, 17:40   #2  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
Компилирую...

Все еще компилирую...


А ну его, надоело компилировать ...
За это сообщение автора поблагодарили: Артем Enot Грунин (1).
Старый 04.08.2009, 20:35   #3  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
to Alberto Farinacci проблема в чем?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Теги
javascript

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Событие "Назначение записи" для бизнес-процесса Lazarus Dynamics CRM: Функционал 1 22.01.2009 19:54
Не вызывается OnLoad() heon Dynamics CRM: Разработка 3 23.09.2008 22:22
Использование скриптов Paolo Dynamics CRM: Разработка 14 31.07.2008 18:07
Установка CRM для нескольких пользователей на одном ПК Dvar Dynamics CRM: Администрирование 2 01.11.2007 10:00
Событие OnLoad. tatra Dynamics CRM: Разработка 4 09.10.2007 13:29
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:26.