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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.02.2010, 12:16   #1  
a__ is offline
a__
Участник
 
6 / 13 (1) ++
Регистрация: 23.12.2009
Добавление на форму любого текста или Html кода.
Ранее столкнулся с проблемой, что в CRM 3.0 нельзя добавлять на форму во вкладке свой произвольный текст. Вот тут было обсуждение, но приемлемого решения так и не нашлось.

Собственно вот способ добавления любого текста, html контролов, таблиц, в общем всего в рамках html.

Небольшое отступление: Когда в CRM выводится какой-то атрибут на форму, то создаются две ячейки, для названия атрибута и для самого контрола и присваиваются им id.
Вот например для атрибута типа text (<input ..> немного подсократил) создался такой текст:
Код:
<td id="new_profit_c" class="n">Ожидаемая прибыль (p.)</td>
<td id="new_profit_d"><input type='text' id="new_profit"  value="6000"></td>
Собственно имеем:
Id самого атрибута: id="new_profit"
Id ячейки для названия: id="new_profit_c"
Id ячейки для вывода контрола: id="new_profit_d"

Если в настройках атрибута убрать галку с "Отображать подпись в форме" и в форматировании выбрать "Два столбца" то у нас на форме останется одна ячейка шириной во всю форму ввода с Id ячейки для вывода контрола Id="new_profit_d". Это нам даст так сказать "оперативный простор"

И так, если добавить новый атрибут и добавить его на форму в необходимое нам место, то:
1. он будет иметь в БД значение null, так как новый и если мы его в коде уберем, то и его значение и останется null и на запись формы он влиять не будет.
2. мы сможем его заменить на то, что нам надо без каких либо последствий.

Теперь меняем в onload:
Код:
//проверяем на существование
if(window.document.getElementById("new_profit_d") != null)
{
	//Поехали
	var elem = window.document.getElementById("new_profit_d");
	
                //1. если нам нужна просто строка с текстом
	elem.innerHTML = "";
	elem.innerText = "Вот наша строка с текстом";
	
	//2. если нам нужна например кнопка с вызовом произвольной javascript функции
	//как добавлять свои javascript функции описано много где на форуме и т.п.
	elem.innerText = "";			
	elem.innerHTML = "<input type='button' id='movemonth' name='movemonth' onclick='move_months();' value='Обновить месяца'>";
			
	//3. можно вставить свою таблицу
	elem.innerText = "";			
	elem.innerHTML = "<table border='1'><tr><td>Тест 1.1</td><td>Тест 1.2</td></tr><tr><td>Тест 2.1</td><td>Тест 2.2</td></tr></table>";
	elem.style.height="100%"; //необходимо чтобы таблица отображалась полностью по высоте

	//4. все что душе угодно в рамках html  
	//Например можно в javascript функции вызвать WebService, получить там необходимые 
	//произвольные данные из других объектов, связанных представлений и т.п. 
	//и вывести их на этой форме в табличке и т.п :)
	//Была у меня как-то такая задача, вывести на форме список объектов из связанного представления, раньше отвечал что нельзя, а теперь можно :)
}
Вот так. Может конечно способ известный, но ранее не встречал.
Будет ли работать в CRM 4.0 не знаю, но думаю что да или с некоторыми нюансами.

С уважением к Вам и т.п.
За это сообщение автора поблагодарили: Bondonello (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавление текста в панель MS CRM 4 farlander Dynamics CRM: Разработка 6 19.11.2009 09:04
Мелкомягкий CRM: Добавление кнопок Следующая/Предыдущая на форму объектов Blog bot Dynamics CRM: Blogs 0 19.08.2009 15:05
Dynamics CRM Tools: Workflow: Add rich HTML content in email body Blog bot Dynamics CRM: Blogs 0 13.08.2009 15:05
Добавление контрола на форму загрузки файла bstan Dynamics CRM: Разработка 7 27.01.2009 17:01
CRM UK Blog: Converting HTML E-mail To Plain Text Blog bot Dynamics CRM: Blogs 0 14.07.2008 13:05

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

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

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