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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.03.2005, 11:13   #1  
ES is offline
ES
Участник
 
9 / 10 (1) +
Регистрация: 04.10.2004
Адрес: Краснодар
Thumbs up
Все сделано как описано в статье "Отправка почтовых сообщений новым пользователям". Все работает, но в 2-х уровневой конфигурации. При работе в 3-х уровневой не заменяются переменные в шаблоне. На сколько разобрался проблема в классе SysEmailMessage, метод stringExpand.

public static str stringExpand(str s, map /* string -> string */ idmap)
{
TextBuffer tb = new TextBuffer();
str expandIds()
{
mapIterator it = new mapIterator(idmap);
while (it && it.more())
{
tb.replace('%' + it.key() + '%', it.value());
it.next();
}
return tb.getText();
}
if (!idmap)
return s;

tb.setText(s);

return expandIds();
}

Не происходит присвоение значения it в строке
mapIterator it = new mapIterator(idmap);

может, кто-нибудь подскажет что нужно делать?
Старый 31.03.2005, 13:19   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от ens
Не происходит присвоение значения it в строке
mapIterator it = new mapIterator(idmap);
Как это?

Кстати, код Аксапты можно оформлять при помощи тега [xpp].
См. Теги [Xpp] и [CAL] позволяют публиковать код Axapta и Navision
__________________
полезное на axForum, github, vk, coub.
Старый 31.03.2005, 14:14   #3  
ES is offline
ES
Участник
 
9 / 10 (1) +
Регистрация: 04.10.2004
Адрес: Краснодар
При 2-х уровневой конфигурации значение it
(begin)[("q1" -> "AAA")]
при 3-х уровневой
null
Старый 31.03.2005, 14:24   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
как отлаживаете в трехуровневой?
вы уверены, что смотрите значение it на сервере, а не на клиенте?
__________________
полезное на axForum, github, vk, coub.
Старый 31.03.2005, 14:42   #5  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
См. онлайновую справку:
Цитата:
MapIterators and the maps over which they iterate must be on the same Client/Server side.
Скорее всего, метод stringExpand выполняется у Вас не на той стороне, на которой создан объект idmap.

Решить проблему можно двумя способами:
1. Смотрите, где создается объект idmap и делайте так, чтобы он создавался там, где нужно.
2. Перенестите idmap в начале метода stringExpand() на ту сторону, на которой выполняется метод. Для этого достаточно сделать следующее:
<div class='XPPtop'>X++</div><div class='XPP'>Map         idmapSafe = Map::create(idmap.pack());
MapIterator it = [color=:blue]new[/color] MapIterator(idmapSafe);</div>
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 31.03.2005, 15:41   #6  
ES is offline
ES
Участник
 
9 / 10 (1) +
Регистрация: 04.10.2004
Адрес: Краснодар
Спасибо все заработало!
 


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

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

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