Напоминания

Коллеги, подскажите как работают напоминания?
А именно: как происходит проверка на появление новых напоминаний?
Вот предположим, я создал задачу, где стоит галка "Напомнить ответственному". В таблице Reminding появилась новая запись. Как система делает проверку о новых записях в таблице? Где можно найти и отредактировать событие (процесс) делающее 'колокольчик' желтым и меняющее на нем число напоминаний?

Нравится

3 комментария

В странице MainPage, обработчике PageLoadcomplete вызывается клиентский код, который вызывает ядровый метод UserConnection.DBEngine.GetContactCounters() и по возвращаемому значения отображает напоминания и письма. UserConnection.DBEngine.GetContactCounters() в свою очередь вызывает хранимую функцию [fn_GetContactCounters]. Все, что вы можете поменять, это код в главной странице. который меняет кнопку напоминаний.

Ндаа...) Все оказалось сложнее, чем я думал. А могу ли я каким-то образом, при увеличении числа напоминаний или писем, сгенерировать, скажем, сообщение пользователю?

Вот часть джаваскриптового кода, которая Вам нужна. Теоретически можно перед строкой
PageContainer_NewRemindingsCountButton.setCaption(userCounters.newRemindingsCount.toString());
сначала считывать этот Caption и сравнивать с полученным значением, так Вы узнаете изменилось ли количество. Тут же можете вызвать window.open() и открыть окно сообщения.

function updateRemindings(userCounters) {
       var messagePanel = Ext.FormValidator.getVMP();
       if (!messagePanel) {
                       return;
       }                                                                             
       var mi = Ext.get(messageId); 
       var miIsEmpty = Ext.isEmpty(mi);      
       PageContainer_NewRemindingsCountButton.setCaption(userCounters.newRemindingsCount.toString());
       PageContainer_NewRemindingsCountButton.setEnabled(userCounters.newRemindingsCount > 0);
	   if (userCounters.newRemindingsCount && userCounters.newRemindingsCount > 0) {                                                                                                              
                       PageContainer_NewRemindingsCountButton.setButtonStyle('yellow');											   
       } else {
                       PageContainer_NewRemindingsCountButton.setButtonStyle('blue');											   
       }
       PageContainer_UnreadEmailCountButton.setEnabled(userCounters.unreadEmailsCount > 0);											   
       PageContainer_UnreadEmailCountButton.setCaption(userCounters.unreadEmailsCount.toString());
       if (userCounters.unreadEmailsCount && userCounters.unreadEmailsCount > 0) { 
                       PageContainer_UnreadEmailCountButton.setButtonStyle('yellow');
       } else {
                       PageContainer_UnreadEmailCountButton.setButtonStyle('blue');											   
	   }
}
Показать все комментарии