|
Оповещение о задачах | ☑ | ||
---|---|---|---|---|
0
diabol1k
20.06.16
✎
16:13
|
Добрый день. Подскажите, можно ли как-то сделать, чтобы у начальника производства вместе с пересланной ему задачей или поручением вылезало оповещение о их приходе? Работа в crm модуле.
|
|||
1
Волшебник
модератор
20.06.16
✎
16:14
|
Разрешаю
|
|||
2
aleks_default
20.06.16
✎
16:16
|
(0) Сколько денех платишь?
|
|||
3
xxTANATORxx
20.06.16
✎
16:19
|
(0)как пытался сделать? что не получается?
|
|||
4
diabol1k
20.06.16
✎
16:20
|
(2) Вопрос конечно интересный. Сдам кровь - будет 300 рублей и шоколадка, пойдет?)
Я на прошу мне обработку писать, а подсказать направление, копаться в задачах все же или через бизнес-процессы надо тянуть, али еще как? |
|||
5
polosov
20.06.16
✎
16:21
|
МенеджерРС = РегистрыСведений.НапоминанияПользователя.СоздатьМенеджерЗаписи();
МенеджерРС.Пользователь = ВыборкаДетальныеЗаписи.Пользователь; МенеджерРС.ВремяСобытия = ТекущаяДата(); МенеджерРС.Источник = Источник; МенеджерРС.Описание = Строка(Источник); МенеджерРС.СпособУстановкиВремениНапоминания = Перечисления.СпособыУстановкиВремениНапоминания.ОтносительноТекущегоВремени; МенеджерРС.ИнтервалВремениНапоминания = 300; МенеджерРС.СрокНапоминания = ТекущаяДата() + 180; МенеджерРС.Записать(); |
|||
6
diabol1k
20.06.16
✎
16:22
|
(3) Проблема в том, что не могу понять, откуда именно вытянуть задачи его. Из регистра сведений, из безнесс-процесса.. А я,что-то растерялся от этой задачи немного
|
|||
7
diabol1k
20.06.16
✎
16:22
|
(5) О, спасибо, попробую отсюда и плясать!
|
|||
8
aleks_default
20.06.16
✎
16:23
|
(6) Попробуй ЗадачиПоИсполнителю
|
|||
9
vde69
20.06.16
✎
16:32
|
(7) самое главное продумай, что бы ему письмо падало только 1 раз, а то запустит кто перепроведение за год и почтовый сервак упадет :)
|
|||
10
diabol1k
20.06.16
✎
16:37
|
(8) (9) Тоже спасибо за советы. Огромное
|
|||
11
aleks_default
20.06.16
✎
16:39
|
(10) Задача вообще-то на час с перекурами. Даже если реализовывать с нуля. Но в CRM, возможно, есть уже готовый функционал, надо просто найти и включить.
|
|||
12
FIXXXL
20.06.16
✎
16:40
|
(10) изучи для начала типовые механизмы
в СРМ есть механизм напоминаний может там просто надо галки нужные расставить, а ты уже велосипед собирать пытаешься |
|||
13
diabol1k
20.06.16
✎
16:44
|
(12) Да итак все форму излазил и мануалы прочитал. Начальник требует именно допила с такой функцией, и чтоб еще мог целому профилю групп доступа рассылать напоминание, типа "Слесари, общий сбор!"
|
|||
14
FIXXXL
20.06.16
✎
16:55
|
(13) поищи глобальным поиском и поиском по дереву метаданных что-то типа "Напомин"
|
|||
15
diabol1k
23.06.16
✎
13:30
|
Спасибо все огромное, кто подсказывал вчера! Но теперь встала другая проблема: если создавать поручения, задачи, бизнес - процессы - все оповещения появляются, а сами задачи приходят нормально и сохраняются в календаре. Но если нажав пкм в календаре создать "телефонный звонок", "личная встреча", "прочее", и в них указать участников - то им уже оповещения не приходят. Откуда можно вытянуть эти данные? Если я правильно понял, то точно не из "ЗадачИсполнителя"
|
|||
16
FIXXXL
23.06.16
✎
13:40
|
(15) ну по логике: ты ставишь СЕБЕ напоминание "позвонить Васе"
Васе то зачем по сути знать о твоем намерении позвонить ему или встретиться с ним? тебе надо СООБЩИТЬ Васе о своем намерении встречи, и вот уже это событие идет в напоминания Васе |
|||
17
diabol1k
23.06.16
✎
13:44
|
(16) Ну по логике вещей - да. Напоминалка себе, а участники - просто извещены, что я их собираю на совещание в 5 часов. Но вопрос-то остается: как оповестить Васю о том, что у него совещание в 5, если он не смотрит в календарь?
|
|||
18
diabol1k
23.06.16
✎
13:57
|
Никто не подскажет, да?
|
|||
19
FIXXXL
23.06.16
✎
14:01
|
(17) событие добавления встречи в Васин календарь есть? к нему напоминание можно сделать?
|
|||
20
diabol1k
23.06.16
✎
14:12
|
(19) Событие отображается и в календаре у Васи и в списке событий. К нему можно сделать какое-то стандартное "напоминание", но оно не напоминает в указанное время. А к нему я и хочу как-то сделать напоминание, чтобы у Васи снизу экрана появилось "у вас новое событие"
|
|||
21
Зая Бусечка
23.06.16
✎
14:13
|
(20) а в чём проблема? Подключить обработчик ожидания и в нём проверять...
|
|||
22
diabol1k
23.06.16
✎
14:16
|
(21) Проверять что, в этом у меня и был вопрос! Для оповещения пользователя о задачах я прогонял "ЗадачаИсполнителяЗадачиПоИсполнителю". Тут откуда черпать информацию, я этого не понимаю(
|
|||
23
diabol1k
23.06.16
✎
14:37
|
Господа и дамы, не на что уже надеяться новичку?
|
|||
24
aleks_default
23.06.16
✎
14:49
|
(23)Ну уж точно не на то что кто-то подскажет верный ответ на форуме. Ищи сам, копай. А то так и останешься "новичком".
Телефонный звонок, Личная встреча - это я так понимаю документы(CRM нет у меня). Вот оттуда и бери, наверное. |
|||
25
diabol1k
23.06.16
✎
15:06
|
(24) Ну не знаю, вчера направление подсказали - помогло, да и сам дописал потом, разобрался. Но и за совет спасибо
|
|||
26
FIXXXL
23.06.16
✎
15:33
|
(24) там в документе Событие есть вроде бы ТЧ СписокЗаинтересованных или что-то в этом роде, где участники лежат
по идее должен быть в конфе механизм их оповещения |
|||
27
diabol1k
24.06.16
✎
09:51
|
И вот, начальнику не понравилась идея об автоматическом открытии задач. Что я тут делаю не так :
РезультатМассив = Новый Массив; Пока Выборка.Следующий() Цикл Попытка Объект = Выборка.Ссылка.ПолучитьОбъект(); Объект.ПринятаКИсполнению = Истина; Объект.Записать(); Исключение Продолжить; КонецПопытки; По идеи же, тут должно всплывать напоминание пока задача не будет принята к исполнению? Я правильно понял же? |
|||
28
aleks_default
24.06.16
✎
10:15
|
(27) В этом куске кода никаких напоминаний нет.
|
|||
29
vde69
24.06.16
✎
10:15
|
(27) я знаю как правильно делать, но Вам не понравится...
должно быть отдельное постоянно открытое окно "Задачи мне" (возможно на отдельной вкладке) где динамический список всех текущих задач конкретного исполнителя, но проблема в том, что при более чем 10 (в идеале не более 6) открытых задачах человек перестает этим пользоваться, то есть нужно разработать фильтры и методики которые не дадут навешивать много задач на одного человека... У нас в компании мне это удалось, а вот как к этому подойти у Вас - это вопрос Вашей специфики.... |
|||
30
diabol1k
24.06.16
✎
10:22
|
(29) Самое забавное то, что есть такая вкладка, с реализованной фильтрацией по статусу задчи. Но вот хочется народу,чтоб раз в час еще и окошко всплывало
|
|||
31
diabol1k
24.06.16
✎
10:24
|
(28) Это в общем модуле
&НаСервере Функция ПолучитьСписокоповещений() Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗадачаИсполнителяЗадачиПоИсполнителю.Ссылка, | ЗадачаИсполнителяЗадачиПоИсполнителю.Автор |ИЗ | Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю КАК ЗадачаИсполнителяЗадачиПоИсполнителю |ГДЕ | НЕ ЗадачаИсполнителяЗадачиПоИсполнителю.Выполнена | И НЕ ЗадачаИсполнителяЗадачиПоИсполнителю.ПометкаУдаления | И НЕ ЗадачаИсполнителяЗадачиПоИсполнителю.ПринятаКИсполнению | И ЗадачаИсполнителяЗадачиПоИсполнителю.СостояниеБизнесПроцесса <> ЗНАЧЕНИЕ(Перечисление.СостоянияБизнесПроцессов.Остановлен) | И ЗадачаИсполнителяЗадачиПоИсполнителю.Исполнитель = &Исполнитель"; Запрос.УстановитьПараметр("Исполнитель", ПараметрыСеанса.ТекущийПользователь); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); РезультатМассив = Новый Массив; Пока Выборка.Следующий() Цикл Попытка Объект = Выборка.Ссылка.ПолучитьОбъект(); Объект.ПринятаКИсполнению = Истина; Объект.Записать(); Исключение Продолжить; КонецПопытки; СтруктураСтрока = Новый Структура; СтруктураСтрока.Вставить("Ссылка", Выборка.Ссылка); СтруктураСтрока.Вставить("Автор", Выборка.Автор); РезультатМассив.Добавить(СтруктураСтрока); КонецЦикла; Возврат РезультатМассив; КонецФункции А в модуле управляемого приложения Процедура ОповещениеВкладыш() Экспорт СписокОповещений = Оповещалка.ПолучитьСписокоповещений(); Для Каждого Стр Из СписокОповещений Цикл Если ЗначениеЗаполнено(Стр.Ссылка) Тогда НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Стр.Ссылка); ПоказатьОповещениеПользователя(Стр.Автор, НавигационнаяСсылка, Стр.Ссылка, БиблиотекаКартинок.ВыполнитьЗадачу); Иначе ПоказатьОповещениеПользователя(Стр.Автор, , , БиблиотекаКартинок.ВыполнитьЗадачу); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
32
aleks_default
24.06.16
✎
10:24
|
ищи в глобальным поискомПоказатьОповещениеПользователя(), разбирайся как оно работает
|
|||
33
aleks_default
24.06.16
✎
10:30
|
(31)Ну а как вызывается процедура ОповещениеВкладыш()?
Где-то должен запускаться обработчик ожидания, который с определенной периодичностью выполняет эту процедуру. |
|||
34
vde69
24.06.16
✎
10:30
|
(30) так сделай, что бы при появлении новой задачи эта вкладка активизировалась...
|
|||
35
diabol1k
24.06.16
✎
10:32
|
(33) ага, есть
// ПодключитьОбработчикОжидания("ОповещениеВкладыш", 10); Это я сделал |
|||
36
diabol1k
24.06.16
✎
10:32
|
(34) при новой итак появляется
|
|||
37
aleks_default
24.06.16
✎
10:33
|
У меня это в ПриНачалеРаботыСистемы сделано.
|
|||
38
vde69
24.06.16
✎
10:34
|
(30) они хотят это по тому, что они могут работать в обход задач, убери весь остальной интерфейс и они будут ждать новые задачи как манну небесную...
я понимаю, что психологически это сложно, но у меня привыкли и бух не печатает ТОРГ-12 пока на это нет отдельной задачи... Это своего рода WMS когда система сама говорит чего делать планктону и по-другому работать не позволяет... я вот все хочу где-то внедрить по этому принципу управление офисом в целом... |
|||
39
aleks_default
24.06.16
✎
10:35
|
Ну еще возможность отключения оповещение нужно сделать
|
|||
40
diabol1k
24.06.16
✎
10:55
|
(38) Да ну , мое дело - оповещалку, потом жесткие рамки пусть другие вводят.
(32) я вчера весь день просношался с поиском системы оповещений, но так и не нашел, увы. |
|||
41
FIXXXL
24.06.16
✎
10:56
|
(39) и раскраску строк задач. с привязкой палитры к пользователю :)
|
|||
42
FIXXXL
24.06.16
✎
10:57
|
(40) в СРМ Рарус за это отвечает регистр сведений и рег.задание его опрашивающее по расписанию
т.е. добавил запись в РС, дальше оно само посмотри в своей, может так же реализовано |
|||
43
aleks_default
24.06.16
✎
11:00
|
(42) ПоказатьОповещениеПользователю() регламентным заданием не сделать. Это клиентская процедура.
|
|||
44
vde69
24.06.16
✎
11:01
|
(43) регламентным - нет, фоновым - да
|
|||
45
aleks_default
24.06.16
✎
11:03
|
(44) нет
|
|||
46
vde69
24.06.16
✎
11:11
|
(45)
СообщениеПользователю (UserMessage) Свойства: ИдентификаторНазначения (TargetID) КлючДанных (DataKey) Поле (Field) ПутьКДанным (DataPath) Текст (Text) Методы: Сообщить (Message) УстановитьДанные (SetData) Конструкторы: По умолчанию Описание: Предназначен для хранения параметров сообщения, которые необходимо вывести пользователю. Если сообщение еще не было показано пользователю (такое может быть при работе на стороне сервера, в фоновом задании, внешнем соединении или Web-сервисах), можно получить накопленные сообщения методом ПолучитьСообщенияПользователю. В управляемых формах, в случае выполнения просмотра сообщения, выполняется следующий механизм обработки: Если у сообщения свойство КлючДанных заполнено и не совпадает с ключевым значением основного реквизита текущей формы (ссылкой объекта или ключом записи регистра сведений), то: открывается новая форма объекта, соответствующая значению свойства КлючДанных; если у сообщения свойство ПутьКДанным не заполнено, то в него проставляется имя основного реквизита открытой формы объекта; вызывается показ сообщения в только что открытой форме; выполняется перенос всех соответствующих сообщений из окна первой формы в новую форму (с таким же значением свойств КлючДанных, как у выбранного сообщения). При этом перенесенным сообщениям аналогичным образом проставляется свойство ПутьКДанным, если оно не установлено. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Пример: Процедура ДействиеСОбъектом(ОбъектДанных) ... Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = НСтр("ru = 'В строке 11 табличной части Номенклатура не хватает " + "; en = 'In line 11 of tabular section Nomenclature is missing' ") + НедостающееКоличество + " " + ЕдиницаИзмеренияНоменклатуры; Сообщение.Поле = "Номенклатура[10].Количество"; Сообщение.УстановитьДанные(ОбъектДанных); Сообщение.Сообщить(); КонецПроцедуры; |
|||
47
vde69
24.06.16
✎
11:12
|
Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
Если Задание = Неопределено Тогда Возврат Результат; КонецЕсли; МассивСообщений = Задание.ПолучитьСообщенияПользователю(Истина); |
|||
48
aleks_default
24.06.16
✎
11:25
|
Речь о всплывающем (и пропадающем) окошке с оповещением, а не о СообщениеПользователю(). Оно не мешает работе пользователя.
Хотя что ТС надо я не знаю. |
|||
49
diabol1k
24.06.16
✎
11:33
|
Да все, реализовал я напоминалку эту. Проблема того, что цикл не отрабатывал постоянно в том, что я кодом задал Объект.ПринятаКИсполнению = Истина;
И туплю, почему приходит один раз. А вот новая веселуха в том, что напоминалка показывает только последнюю задачу, а не все доступные. Тяжело быть тугодумом( |
|||
50
diabol1k
24.06.16
✎
11:50
|
Умные товарищи, как сделать вывод всех сообщений?(
|
|||
51
aleks_default
24.06.16
✎
12:00
|
(50) Потому что ты сначала отбираешь задачи не принятые к исполнению а потом проставляешь у них этот признак. Соответственно во второй раз, когда выполняешь запрос, задачи с проставленным в первом цикле признаком в запрос уже не попадают. Ну, думай давай, шевели шариками.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |