Всем привет!
Данная доработка дает возможность использовать в шаблонах сообщений детали пользовательских запросов (аналогично отчету Word).
В архиве - сервисы, которые нужно залить. Поскольку дорабатывал для 3.4.0, потому настоятельно рекомендую перед заливкой сравнить их с исходными.
Или следуя инструкции вставить необходимый код в нужные места в тех же сервисах. (Инструкция в архиве)
Спасибо Дмитрий,
Проверил на конфигурации 3.3.2.244, если подменить сервисы, все отрабатывает корректно
Здравствуйте Марина,
В ходе удаленного подключения проведенного в рамках инцидента 0100907 было показано, что на коробочной версии 3.3.2 все работает корректно. Не корректная работа в Вашем случае, связана с доработками в базовых скриптах интеграции с Outlook. Ждем от вас бэкап базы данных для решения вопроса в Вашем случае
Проверили еще раз
В 3.3.2 (коробка)
[javascript]
function AddSection(UserReportData, ID, TablePath, ParentID, ParentFieldPath,
PrimaryFieldUID, Caption, MainTable) {
var Section = new Object();
Section[spnID] = ID;
Section[spnTablePath] = TablePath;
Section[spnParentID] = ParentID;
Section[spnParentFieldPath] = ParentFieldPath;
Section[spnPrimaryFieldUID] = PrimaryFieldUID;
Section[spnCaption] = Caption;
Section[spnMainTable] = MainTable;
var Sections = GetSections(UserReportData);
Sections(ID) = Section;
return Section;
}
[/javascript]
Сервисы с вложения Дмитрия Павлова
[javascript]
function AddSection(UserReportData, ID, TablePath, ParentID, ParentFieldPath,
PrimaryFieldUID, Caption, MainTable, Top) {
var Section = new Object();
Section[spnID] = ID;
Section[spnTablePath] = TablePath;
Section[spnParentID] = ParentID;
Section[spnParentFieldPath] = ParentFieldPath;
Section[spnPrimaryFieldUID] = PrimaryFieldUID;
Section[spnCaption] = Caption;
Section[spnMainTable] = MainTable;
Section[spnTop] = Top?((Top>0)?Top:-1):-1;
var Sections = GetSections(UserReportData);
Sections(ID) = Section;
return Section;
}
[/javascript]
Необходимо все оставить как в 3.3.2
[javascript]
function AddSection(UserReportData, ID, TablePath, ParentID, ParentFieldPath,
PrimaryFieldUID, Caption, MainTable) {
var Section = new Object();
Section[spnID] = ID;
Section[spnTablePath] = TablePath;
Section[spnParentID] = ParentID;
Section[spnParentFieldPath] = ParentFieldPath;
Section[spnPrimaryFieldUID] = PrimaryFieldUID;
Section[spnCaption] = Caption;
Section[spnMainTable] = MainTable;
var Sections = GetSections(UserReportData);
Sections(ID) = Section;
return Section;
}
[/javascript]
т.е убрать строчку Section[spnTop] = Top?((Top>0)?Top:-1):-1; и аргумент Top с функции AddSection в скрипте scr_UserReportCommon
Всем привет!
Доработан механизм вставки детали в сообщение при автоматическом его отравлении.
Для применения обновления необходимо обновить файл scr_MailUtils и scr_OutlookUtils.
Рекомендую перед обновлением сверить Ваши файлы с исходными.
Спасибо Дмитрий, очень пригодилась ваши доработки.
Для того что бы использовать функциональность в 3.3.2.157 XRM
необходимо:
1.
"Яворский Алексей" написал:убрать строчку Section[spnTop] = Top?((Top>0)?Top:-1):-1; и аргумент Top с функции AddSection в скрипте scr_UserReportCommon
2. Добавить системную переменную MSOutlookMaxFileSize

3. Удалить весь код между
[javascript]
/* MODULE INCIDENTS */
...
/* MODULE INCIDENTS */
[/javascript]
если у Вас нет модуля инциденты
Отредактированные скрипты для XRM 3.3.2 (без модуля инциденты) во вложении
Дмитрий просьба исправить грамматическую ошибку в коде
var Message = 'Ошыбка при обработке деталей шаблона сообщения.';
функция ReplaceDetailTemplate скрипт scr_MailUtils.
Еще момент, при формировании письма с окна просмотра отчетов FastReport, при нажатии Send by E-mail -> PDF version у меня вылетает эта ошибка.
Ошибка происходит в функции ReplaceDetailTemplate на строчке
[javascript]
var Sections = Params.Template.Query.Sections;
[/javascript]
а вызывается ф-ия тут
[javascript]
function InternalSendMessage(Message, Params) {
ReplaceDetailTemplate(Message, Params);
if (Params.Template) {
...
[/javascript]
Как бы в обычном письме Params.Template не определен, т.е нужно вызывать ReplaceDetailTemplate так :
[javascript]
function InternalSendMessage(Message, Params) {
if (Params.Template) {
ReplaceDetailTemplate(Message, Params);
var Prop = '';
try {
Prop = toJSON(Params.MessageLinks);
} catch (e) {
Prop = '';
}
...
[/javascript]