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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.12.2008, 00:19   #1  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
Доступ к полю CRM из script runat server
Подскажите пожалуйста, как можно добраться до значения поля CRM. В CRM есть поле в форме Организация, под именем new_noi, в форме создания новой Организации вставлен iFrame c именем noi нужно, чтобы при сохранении новой организации в iFrame было написано значение поля new_noi.
Код страницы iFrame
<%@ Page Language="C#" %>

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if(Page.IsPostBack)
{noi_s.Text=/* как сюда вставить значение поля CRM new_noi ?*/;}
}
</script>

<html>
<head runat="server" id="Head1">

</head>
<body>

<form id="crmForm" runat="server">
<asp:Label ID="noi_s" runat="server"></asp:Label>
</form>
</body>
</html>


Код на событии onSave
document.frames("IFRAM_noi").document.crmForm.submit();
Старый 17.12.2008, 08:35   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Ну, c фрейма через cross-site scripting можно обращаться к полям родительской формы через конструкцию вида:
Код:
var oNoi = parent.document.forms[0].all.new_noi.DataValue;
Но рас уж вы не ищите легких путей и надо именно с сервера, то необходимо включить режим передачи параметров в настройках iframe, после чего по имени организации, типу объекта и его id вычитывать данные из стандартного сервиса CRM.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 17.12.2008, 12:57   #3  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
А если у странички фрейма сделать входной параметр и ему передавать? Например, строка кода:
Код:

string newnoiStringValue= Request.QueryString["inner_param_newnoi"].ToString();
позволит обработать в страничке aspx запрос типа:
http://prodserver:8081/ChkPrivsInNonuserObj.aspx?inner_param_newnoi=something01231
В данном примере, код C# получит в качестве значения переменной newnoiStringValue="something01231"
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 17.12.2008, 13:01   #4  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Вот здесь ещё примерчик гляньте, как в форму параметр передается: Прайс-листы
Возможно Вам такое подойдет больше.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 17.12.2008, 14:39   #5  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Почему бы и нет, кстати. Адрес страницы IFrame можно динамически формировать при загрузке формы. В этом случае вы легко сформируете запрос и передадите все параметры.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 17.12.2008, 16:11   #6  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
Цитата:
Сообщение от Likefire Посмотреть сообщение
А если у странички фрейма сделать входной параметр и ему передавать? Например, строка кода:
Код:

string newnoiStringValue= Request.QueryString["inner_param_newnoi"].ToString();
позволит обработать в страничке aspx запрос типа:
http://prodserver:8081/ChkPrivsInNonuserObj.aspx?inner_param_newnoi=something01231
В данном примере, код C# получит в качестве значения переменной newnoiStringValue="something01231"
а можно попадробнее. Я так понимаю значения переменной newnoiStringValue="something01231" получино из поля формы? а каким образом?
Старый 17.12.2008, 16:12   #7  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
var oNoi = parent.document.forms[0].all.new_noi.DataValue;
К сожалению так не получится, дело в том, что есть приложение на сервере, написанное на C#, которое должно обрабатывать поля(данные) в форме Организации и обратно их туда подставлять уже обработанные.
Старый 17.12.2008, 16:33   #8  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
2 sakra: давайте посмотрим с такой стороны: для чего Вам нужно значение поля? Для того, чтобы во фрейме выводить некие данные отобранные по получаемому значению? Если так, то Вы можете инициировать вывод фрейма с нужными Вам параметрами (любыми) из той формы, которая этот фрейм содержит. Можете найти место в системе, где у вас инициализируется вывод фрейма, а не скрипт странички, которая во фрейм выводится?
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 17.12.2008, 16:56   #9  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
значение поля нyжно:
1 чтобы во фрейме выводить некие данные отобранные по получаемому значению
2 для того чтобы в это поле подставить отобранное значение (заменить то значение, которое там было и по которому мы искали новое значение, новым значением)
Старый 17.12.2008, 17:21   #10  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
С 1 понятно, а вот 2 - в какой момент должно происходить? Именно в момент вывода на экран фрейма? На самом деле, хотелось бы более конкретно уловие задачи получить, потому что у меня как-то много вариантов получается. Что у вас там такое в этом поле new_noi содержится? Может его раньше модифицировать, это значение? При открытии формы, например?
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
За это сообщение автора поблагодарили: sakra (1).
Старый 17.12.2008, 17:41   #11  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
2 – можно либо по нажатию кнопки submit либо при сохранении формы.

На самом деле поле new_noi такое не одно. Есть программа, которая формирует некоторые данные об организации в зависимости от правовой формы и тд. К примеру, у организации есть правовая форма, значение этого поля передается в iFrame, на основе этого значения в iFreme фильтруются значения в выпадающий списке. Выпадающий список характеризует вид обслуживания, на основе значения в виде обслуживания фильтруется следующий выпадающий список и тд. Так вот у нас получается, что выбрано несколько значений в выпадающих списках. Эти значения, помещаются в соответствующие поля CRM либо при нажатии кнопки в iFrame либо при сохранении формы.
Старый 17.12.2008, 17:45   #12  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
>>Адрес страницы IFrame можно динамически формировать при загрузке формы

Подскажите какой код нужно повесить на onLoad для того, чтобы в iFrame передавался параметр со значением поля CRM.
Старый 17.12.2008, 17:46   #13  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
а точнее, чтобы параметр передавался в строку запроса
Старый 17.12.2008, 22:48   #14  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от sakra Посмотреть сообщение
var oNoi = parent.document.forms[0].all.new_noi.DataValue;
К сожалению так не получится, дело в том, что есть приложение на сервере, написанное на C#, которое должно обрабатывать поля(данные) в форме Организации и обратно их туда подставлять уже обработанные.
Только так и можно обратно подставить.

Цитата:
Сообщение от sakra Посмотреть сообщение
>>Адрес страницы IFrame можно динамически формировать при загрузке формы

Подскажите какой код нужно повесить на onLoad для того, чтобы в iFrame передавался параметр со значением поля CRM.
var parameters = crmForm.all.<поле>.DataValue;
parameters += ... ;
IFrame_<поле>.src = "http://server/custompage.aspx?" + parameters;
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
За это сообщение автора поблагодарили: sakra (1).
Старый 18.12.2008, 10:08   #15  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
так не работает
IFrame_<поле>.src = "http://server/custompage.aspx?" + parameters;

а вот так работает
crmForm.all.IFrame_<поле>.src = "http://server/custompage.aspx?" + parameters;
Старый 18.12.2008, 11:57   #16  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
Если приложение находится не на веб-сервере CRM то есть CRM запускается по адресу http://crm/, а приложение по адресу http://test/test.aspx можно ли передать в поле CRM данные из test.aspx?
методом
var oNoi = parent.document.forms[0].all.new_noi.DataValue;
не получается ((
Старый 18.12.2008, 12:09   #17  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Разместите вашу страницу в том же пуле и приложении, что и crm сервер. Тогда все будет работать как надо.
Должно быть http://crm/test.aspx
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 18.12.2008, 12:34   #18  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
Если разместить в том же пуле, это понятно, что работать будет. А если в другом, то нет средств, чтобы работало?
Старый 18.12.2008, 14:01   #19  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Можно конечно, но тут уже надо заморачиваться несколько глубже, чем просто в родительскую форму параметры передавать. Короче, нужн вместе с параметрами передавать айдишник сущности, по которому с помощью SDK получать эту сущность и пытаться пихнуть значения. Хотя я, честно говоря, ни разу не пробовал пихнуть значения в обход действий формы, если форма открыта. Надо будет попробовать, кстати, хотя не факт, что всё получится, и что не надо будет форму рефрешить.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 18.12.2008, 14:24   #20  
sakra is offline
sakra
Участник
 
24 / 10 (1) +
Регистрация: 11.04.2008
Свем большое спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Мир CRM: Улучшение Dynamics CRM 4.0 производительности и безопасности данных под SQL Server 2008 Blog bot Dynamics CRM: Blogs 0 03.02.2009 02:07
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05
Microsoft Dynamics CRM Team Blog: Reports for CRM 4.0 using SQL Server 2008 and Report Builder 2.0 Blog bot Dynamics CRM: Blogs 0 11.11.2008 08:05
Microsoft Dynamics CRM Team Blog: Making Sense of Server Roles Blog bot Dynamics CRM: Blogs 0 21.08.2008 01:05
Microsoft Dynamics CRM Team Blog: How it Works: SQL Server Reporting Services and Dynamics CRM Blog bot Dynamics CRM: Blogs 0 19.07.2008 04:42

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

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

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