|  16.05.2011, 17:37 | #21 | 
| MCT | Цитата: поясню: у нас записи на форме создаёт Х человек. хочется сделать одно Правило генерации оповещений, по которому оповещение будет генерится одному из этих Х человек, а именно автору (CreatedBy) изменяемой записи... (ЗЫ: сейчас количество правил = кол-ву авторов = Х) в конечном итоге, я так понимаю, вопрос к полю "Код пользователя", в котором сейчас (AX2009 ru7) я могу указать только конкретного (одного) пользователя спасибо. 
				__________________ Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. | 
|  | 
|  16.05.2011, 17:43 | #22 | 
| Участник | 
			
			именно для того и делалось: код пользователя - оповещение получит соответствующий пользователь
		 
				__________________ Felix nihil admirari | 
|  | |
| За это сообщение автора поблагодарили: Ivanhoe (1). | |
|  16.05.2011, 17:48 | #23 | 
| Участник | 
			
			Всё верно, для этого и делалось   Проект можно перенести на AX2009 - потребуется чуть-чуть допилить, т.к. создание оповещений немного поменялось. 
				__________________ Ivanhoe as is.. | 
|  | 
|  16.05.2011, 22:09 | #24 | 
| MCT | 
			
			еще раз, пжл, для тех, кто в танке   я в стандартное поле "код пользователя" вношу %createdby% ? по кнопке "выбрать" критерий по полю "Создан" надо как-то указывать? (сейчас мы явно указываем там автора) 
				__________________ Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. | 
|  | 
|  16.05.2011, 22:19 | #25 | 
| Участник | 
			
			Т.е. проект вы не смотрели   Там создано новое отдельное поле для указания пользователя из исходной записи, по кнопке "Выбрать" критерий задавать не нужно. 
				__________________ Ivanhoe as is.. | 
|  | 
|  18.05.2011, 17:33 | #26 | 
| Модератор |   
 
				__________________ This posting is provided "AS IS" with no warranties, and confers no rights. | 
|  | 
|  18.05.2011, 17:49 | #27 | 
| Участник | 
			
			Не, в итоге % убрал, а текст забыл поправить. На самом деле, если актуально, могу выложить обновленный проект для AX2009 - в части создания оповещений из кода я сделал наследник от базового класса + ряд правок стандарта. 
				__________________ Ivanhoe as is.. | 
|  | 
|  18.05.2011, 18:00 | #28 | 
| Участник | 
			
			Выкладываю проект для AX2009 SP1 RU6. По сравнению с версией для 4.0: 1. Добавлен новый класс EventNotificationSimple, наследник от стандартного класса. Позволяет делать оповещения напрямую из кода, не нагружая пакетник и лог базы данных. 2. Добавлен джоб tutorialAttentionGrabber(), который позволяет выводить произвольное всплывающее окошко (для этого есть небольшие модификации базовых классов). 3. Поправлены по мелочи ошибки в оповещениях, связанных с кодовыми страницами, UtcDateTime и т.п. Ряд объектов привязан к новому конфиг. ключу - если мешает, нужно его аккуратно удалить. Проект не для коммерческого использования   
				__________________ Ivanhoe as is.. | 
|  | |
| За это сообщение автора поблагодарили: maze (1), Aquarius (1). | |
|  19.05.2011, 10:32 | #29 | 
| Модератор | 
			
			Спасибо. Для полного понимания проекта не хватает меточного файла @RTL. 
				__________________ This posting is provided "AS IS" with no warranties, and confers no rights. Последний раз редактировалось Poleax; 19.05.2011 в 10:36. | 
|  | 
|  19.05.2011, 10:36 | #30 | 
| Участник | 
			
			эхх...    
				__________________ Ivanhoe as is.. | 
|  | 
|  13.08.2012, 11:33 | #31 | 
| Участник | Небольшое дополнение к методу createKeywordMap() 
			
			Во-первых, спасибо за замечательный проект! Очень полезная модификация, делающая возможным настраивать оповещения для других. Также очень удачной оказалась доработка шаблонов оповещений с тем, чтобы в них можно было подставлять значения полей и методов табличного буфера, однако, эта подстановка получилась несколько... мощнее, чем то, что можно доверить пользователям   Вот как был доработан внутренний цикл поиска и "обсчета" макросов из шаблона - блок if (!keywords.exists(keyword)) метода createKeywordMap(), который вызывается из \Data Dictionary\Tables\EventInbox\Methods\initFromBuffer: X++: // по умолчанию вернем в виде значения сам token - так проще "отлаживать" шаблоны keyword_value = #startReplaceToken + keyword + #endReplaceToken; if (match(@"<[a-z_][a-z0-9_]*\(\)>", keyword)) { switch (keyword) { case @"modifiedBy_Name()" : keyword_value = getUserFIO(_buffer.modifiedBy); break; case @"createdBy_Name()" : keyword_value = getUserFIO(_buffer.createdBy); break; default : tblMethodName = strreplace(keyword, '()', ''); if (this.mayEvaluateTableMethodReturnValue(bufferTable.id(), tblMethodName)) { keyword_value = strfmt("%1", bufferTable.callObject(tblMethodName, _buffer)); } break; } } else { bufferFldId = fieldname2Id(_buffer.tableid, keyword); if (bufferFldId) { keyword_value = strfmt("%1", _buffer.(bufferFldId)); } } 
  ). Проверка выглядит вот так: X++: // можно ли дернуть табличный метод для получения его возвращаемого значения и подстановки этого значения вместо имени метода в письмо? private boolean mayEvaluateTableMethodReturnValue(tableId _tableId, SysMethodName _instanceMethodName) { Types returnType; DictMethod dictMethod = new DictMethod(UtilElementType::TableInstanceMethod, _tableId, _instanceMethodName); boolean ret = false; ; if ( dictMethod && dictMethod.parameterCnt() == 0 && dictMethod.displayType() == DisplayFunctionType::Get ) { if (dictMethod.returnType() == Types::UserType) { returnType = extendedTypeId2Type(dictMethod.returnId()); } else { returnType = dictMethod.returnType(); } // является ли тип возвращаемого значения значимым (т.е. не ссылочным)? ret = returnType == Types::String || returnType == Types::RString || returnType == Types::VarString || returnType == Types::Integer || returnType == Types::Int64 || returnType == Types::Real || returnType == Types::Date || returnType == Types::UtcDateTime || returnType == Types::Enum || returnType == Types::Guid || returnType == Types::Time ; } return ret; } | 
|  | |
| За это сообщение автора поблагодарили: Logger (3), Ivanhoe (5), Aquarius (1). | |
|  20.10.2015, 10:38 | #32 | 
| Участник | 
			
			Добрый день,  Ax 2009 SP1 Ru5 большое спасибо за такой полезный проект. установили его. я хотела уточнить. Правильно ли я понимаю, что ,например: Если настроено оповещение на изменение в таблице custTable, и в форме "управление правилами генерации оповещений" в поле "сообщение" группы "оповещать меня" указать custtable.modifiedBy, то в уведомлении в поле сообщение должен быть выведен код пользователя, изменившего запись? Или только на почту в сообщении должен прийти содержимое поля сообщения ? Я настроила оповещение на изменение в таблице custTable, указала группу пользователей,которой рассылать это оповещение, Затем указала в оповещении в поле "сообщение" группы "оповещать меня" custtable.modifiedBy. затем изменила значение поля таблицы клиентов. Пользователям данной группы пользователей и мне пришло уведомление. Тема: Поле Кредитный лимит в таблице Клиенты был изменен уведомление для:Счет клиента: 0050043, ТестКлиент на страничке разное в поле сообщение указано custtable.modifiedBy. Последний раз редактировалось Aquarius; 20.10.2015 в 10:40. | 
|  | 
|  20.10.2015, 10:43 | #33 | 
| Участник | Цитата: 
		
			1.3. Использование мета-тегов в Теме и Сообщении. Можно указать поле или метод записи для подстановки в Тему или Сообщение оповещения. Пример: %itemId% или %getPrice()%.
		
	 Тема и текст письма по почте равны полям в оповещении, т.е. если правильно настроить, то будет и в оповещении, и в e-mail. 
				__________________ Ivanhoe as is.. | 
|  | |
| За это сообщение автора поблагодарили: Aquarius (1). | |
|  20.10.2015, 11:13 | #34 | 
| Участник | 
			
			БОЛЬШОЕ СПАСИБО, все заработало. в  поле "сообщение" подтянулось  на место %modifiedBy%  значение кода пользователя.
		 Последний раз редактировалось Aquarius; 20.10.2015 в 11:19. | 
|  | 
|  11.02.2016, 15:34 | #35 | 
| Участник | 
			
			Возможно кому будет интересно. Простенький обмен сообщения для 2012. С уважением, Дмитрий. | 
|  | |
| За это сообщение автора поблагодарили: Logger (3). | |
| Теги | 
| alert, ax2009, ax4.0, законченный пример, оповещения, полезное | 
|  | 
| 
 |