Отправка сообщений пользователям

26.07.16

Задачи пользователя - Адаптация типовых решений

Предполагаю, что в организациях, где работает больше 10-15 человек, сложно звонить каждому и сообщать пользователям какую-либо информацию. Я обыскал на всех ресурсах, так того, что требуется, не нашел.

Скачать файлы

Наименование Файл Версия Размер
Сообщения.rar
.rar 61,60Kb
374
.rar 61,60Kb 374 Скачать

Нашел более подходящее //infostart.ru/public/74444/. Но пришлось немного попотеть что-бы работало на 8.2. 

Итак приступим:

  1. В модуле обычного приложения в процеду ПриНачалеРаботыСистемы добавляем текст

          

          Форма = Обработки.ОповещенияПользователя.ПолучитьФорму("Форма");
         
Форма.Открыть();

     2.  Создаем ОбщийМодуль под названием "опМодуль" в модуле вставляем текст

         

     Функция ВывестиОповещение(ИмяОтчета);
   
     ИмяФайла = ПолучитьИмяВременногоФайла();
   
     Отчет = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ИмяОтчета);
   
     ДвоичныеДанные = Отчет.ХранилищеВнешнейОбработки.Получить();
   
     ДвоичныеДанные.Записать(ИмяФайла);
   
     опФорма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
   
     опФорма.Открыть();
   
     УдалитьФайлы(ИмяФайла);
    КонецФункции

    Процедура
ПроверкаНовыхОповещений() Экспорт

   
     ОтборПользователей = Новый Структура("Пользователь");
   
     ОтборПользователей.Пользователь = ПараметрыСеанса.ТекущийПользователь;
   
     Оповещения = РегистрыСведений.ОповещениеПользователей.Выбрать(ОтборПользователей);
   
     КолОп = 0;
         Пока
Оповещения.Следующий() Цикл
            Если
Оповещения.Просмотрено Тогда
            Продолжить;
            КонецЕсли;
           
КолОп = КолОп + 1;
        КонецЦикла;  
         Если (
КолОп>0) Тогда
   
       ВывестиОповещение("Оповещения пользователя");
         КонецЕсли;
       КонецПроцедуры

       Процедура
ЗадатьИнтервал(Интервал) Экспорт
   
      ПодключитьОбработчикОжидания("ПроверкаНовыхОповещений",Интервал,5);
       КонецПроцедуры

       Процедура
ОчиститьИнтервал() Экспорт
         
ОтключитьОбработчикОжидания("ПроверкаНовыхОповещений");
       КонецПроцедуры

   3.  Создаем регистр сведений "ОповещениеПользователей". Добавляем измерения: "Пользователь" Тип:"СправочникСсылка.Пользователи", "Дата" Тип:"Дата", "Владелец"  Тип:"СправочникСсылка.Пользователи", Ресурсы: "Просмотрено" Тип: "Булево", "Оповещение" Тип: "Строка"

 

   4.  Добавляем в конфигурацию Обработки из файла и пользуемся.

 Принцип Работы:

  При запуске 1с справой стороны в трее открыто оповещение пользователей. Открываем обработку Оповестить, пишим текст сообщения и отметив получателей отправляем сообщение.

  Когда сообщение приходит получателю, то форма оповещени появляется с правой стороны. Что бы сообщение считалось прочитаным, его необходимо открыть двойным щелчком правой клавиши мыши и оно откроется в новом окне как показао на третем изображении. В дальнейшем эти сообщения можно будет просматривать во вкладке "Просмотреные" 

  PS Так же в архиве добавлен отчет для просмотра ознакомления с сообщением пользователей(спасибо за шаблон отчета //infostart.ru/public/20333/

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4371    8    4    

16

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    2897    4    0    

19

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1114    dimanich70    6    

13

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

Адаптация типовых решений Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    1933    13    avmartynov    10    

43

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2020    21    progmaster    7    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. mtv:) 1027 14.01.12 18:14 Сейчас в теме
(0) Идея заслуживает внимания.
2. kojinandrej 59 15.01.12 12:38 Сейчас в теме
3. _LEV_ 16.01.12 09:50 Сейчас в теме
Нужно будет посмотреть. Спасибо.
4. kojinandrej 59 16.01.12 11:07 Сейчас в теме
(3) _LEV_, не зачто пользуйтесь и не забудьте плюсовать
5. fomix 33 17.01.12 09:28 Сейчас в теме
Ломать ради оповещения типовую конфу - О-Д-Н-А-К-О!!!
6. kojinandrej 59 17.01.12 10:55 Сейчас в теме
(5) fomix, а у тебя есть другие варианты???
7. fomix 33 17.01.12 10:57 Сейчас в теме
(6) Да хотя бы через стандартный механизм оповещений
8. kojinandrej 59 17.01.12 13:22 Сейчас в теме
(7) fomix, пользуйся стандартом, если не хочишь пилять. Я выложил для тех, кого стандарт не устраивает!!!!
9. fomix 33 17.01.12 13:24 Сейчас в теме
37. SPonomareff 93 08.06.12 11:37 Сейчас в теме
День добрый.

У меня вопрос по поводу следующей ошибки:


{Обработка.ОповещенияПользователя.Форма.Форма.Форма(6)}: Ошибка при вызове метода контекста (Выбрать)
Оповещения = РегистрыСведений.ОповещениеПользователей.Выбрать(ОтборПользователей);

Что делать?
10. 105raz 18.01.12 06:29 Сейчас в теме
У кого замочек на конфе снят - конечно полезно. Меня, например, заколебало уже обзванивать пользователей с просьбой выйти из базы!
11. ADM1NZ 18.01.12 16:24 Сейчас в теме
12. bahcha8 19.01.12 09:13 Сейчас в теме
Попробовала в УПП, работает хорошо, но если в списке Новые есть уже оповещение - то следующее новое пользователь не получает - никогда не получает.А так оч удобно
13. SergDi 19.01.12 12:01 Сейчас в теме
8.2 я правильно понял, управляемые формы тоже поддерживаются?
14. bahcha8 19.01.12 12:10 Сейчас в теме
8.2, управляемые формы поддерживаются, работаем в толстом клиенте
15. bahcha8 19.01.12 12:27 Сейчас в теме
Да, и время отправки всегда 00:00:00 - не удобно
16. kojinandrej 59 19.01.12 13:29 Сейчас в теме
Так, при получении показывает время отправления сообщения
17. Aleksey-29 19.01.12 13:59 Сейчас в теме
можно и так, только использовать типовое решение правильнее.
Прикрути шаблоны оповещений, будет удобнее.
18. bahcha8 19.01.12 14:46 Сейчас в теме
так время отправление всегда разное, а показывает всегда нули
19. kojinandrej 59 19.01.12 18:21 Сейчас в теме
(18) bahcha8, не знаю как у тебя у меня показывает нормальное время не нули. проверял через какую либо консоль дата и время в регистр записуется?
30. Uncore 1272 07.02.12 17:37 Сейчас в теме
(18) проверьте у измерения Дата в регистре сведений должен стоять состав даты: Дата и время. По умолчанию ставится просто Дата, поэтому и нули во времени.
По поводу проблемы, описанной в (26), предлагаю автору добавить в регистр еще одно измерение НомерСообщения. При записи нового сообщения если уже существует для данного пользователя сообщение, увеличивать номер на 1. И тогда можно отправлять пользователям сколько угодно сообщений, ничего не пропадет :)
32. bahcha8 07.02.12 21:24 Сейчас в теме
(30) Uncore, Про дату - Да, я уже поправила, а вот НомерСообщение - попробую, Спасибо
33. пользователь 07.02.12 21:30
Сообщение было скрыто модератором.
...
20. MOHAX1905 20.01.12 13:54 Сейчас в теме
Конфа всёравно правленная, поэтому воспользуюсь. Спасибо)
21. Гость 20.01.12 14:32
22. Volga1904 24.01.12 19:43 Сейчас в теме
23. Zoba 18 25.01.12 00:45 Сейчас в теме
24. white125 25.01.12 02:09 Сейчас в теме
не знаю насколько целесообразно отправлять пользователям сообщения именно через 1с
25. white125 25.01.12 02:10 Сейчас в теме
а шаблоны сообщений можно добавить?
26. liveAp4u 25.01.12 13:49 Сейчас в теме
Обработка понравилась.
Есть ряд минусов:
1. Ставлю галочку отправить всем, пишу сообщение. В регистр они попадают на ожидаение. Потом еще раз отправляю всем другое сообщение. Весь свписок со старыми извещениями пропадает.
2. Соответсвенно у пользователя та же проблема, что в пункте 1.

Можно как-то решить?
27. rumik007 25.01.12 14:32 Сейчас в теме
мы у себя используем IChat v1.21 b6 + сервер(хотя мона и без него) для локальной сети уже очень давно, очень довольны.

Есть вопросик, если пользователь не в базе, то как с ним связаться ???
55. user1583656 15.04.21 08:06 Сейчас в теме
(27)
А если пользователь не пользуется мессенджером, как с ним связаться через мессенджер? А если не включен компьютер, то как написать ему сообщение на компьютер? А если пользователь не пользуется электронной почтой, то как ему послать электронное письмо.

Это система для тех кто сидит в базе, например для того чтобы пользователи вышли из базы.
28. asg1975 260 01.02.12 09:58 Сейчас в теме
На мой взгляд проще использовать для этого сторонние программы. Тот же IChat. Саму идею плюсую!
29. yalo 01.02.12 10:26 Сейчас в теме
31. itar59 87 07.02.12 18:35 Сейчас в теме
обычный лив мессенджер прекрасно держит под 7 виндой.
34. commo 10.02.12 14:27 Сейчас в теме
Спасибо. Буду пугать пользователей )
35. dryms 249 04.06.12 15:01 Сейчас в теме
Здравствуйте. обработка, конечно интересная, но зачем так ломать типовую конфу. Можно сделать внешнюю обработку, которая рассылает письма пользователям (в справочнике пользователи можно указать е-майл).
36. alma-soft 04.06.12 16:38 Сейчас в теме
спасибо автору за работу, идея хорошая попробуем использовать вот только не всем подойдет изменения в конфигурации ради сообщений хотя если текущих изменений и так много то почему бы не сделать еще одно.
38. Al-77 73 27.06.12 17:27 Сейчас в теме
Я так понимаю если пользователь закроет форму тогда он не увидит сообщение?
39. slelvi 27.06.12 23:05 Сейчас в теме
Как раз нужно подобное реализовать у клиента! возьму идею на заметочку!!!
40. Altair777 644 02.07.12 13:33 Сейчас в теме
Интересно, кто автор этой разработки? Складывается впечатление что не автор публикации.
Ни одного пожелания за полгода не было выполнено. И описание не вполне соответствует действительности.
В частности, измерение "Дата" регистра сведений "ОповещениеПользователей" должен быть не просто "Дата", а "Дата и время".
41. Altair777 644 05.07.12 14:39 Сейчас в теме
Автор! Я тащусь с кода :)

	КолОп = 0;
	Пока Оповещения.Следующий() Цикл
		Если Оповещения.Просмотрено Тогда
			Продолжить;
		КонецЕсли;
		КолОп = КолОп + 1;
	КонецЦикла;  
	Если (КолОп>0) Тогда
		ВывестиОповещение("Оповещения пользователя");
	КонецЕсли;
Показать


Найдите 10 отличий:

	ЕстьОповещение = Ложь;
	Пока Оповещения.Следующий() Цикл
		Если Не Оповещения.Просмотрено Тогда
			ЕстьОповещение = Истина;
			Прервать;
		КонецЕсли;
	КонецЦикла;  
	Если ЕстьОповещение Тогда
		ВывестиОповещение("Оповещения пользователя");
	КонецЕсли;
Показать
42. Altair777 644 05.07.12 15:11 Сейчас в теме
0 > Создаем регистр сведений "ОповещениеПользователей". Добавляем измерения: "Пользователь" Тип:"СправочникСсылка.Пользователи"

Автор не знает что для того чтобы сработал метод:

	ОтборПользователей = Новый Структура("Пользователь");
	ОтборПользователей.Пользователь = ПараметрыСеанса.ТекущийПользователь;
	Оповещения = РегистрыСведений.ОповещениеПользователей.Выбрать(ОтборПользователей);


должно быть так: в качестве полей для отбора могут задаваться измерения или реквизиты, для которых в конфигураторе признак индексирования установлен в значение "Индексировать" или установлен признак "Ведущее".
43. Dr.DragoN 05.07.12 15:18 Сейчас в теме
А корпоративная почта нынче не почёте?)))
44. Altair777 644 05.07.12 15:49 Сейчас в теме
(43) Dr.DragoN, почта - это долго и не факт что будет прочитана. Ведь 1С может быть открыта в терминале, а почтовая программа на локальном компе. И у юзеров будет отмазка.
Я сейчас тоже внедряю нечто подобное. Чтобы при нединамическом обновлении конфигурации разослать сообщения пользователям, а потом через пару минут с чистой совестью завершить их сеансы.
И сообщения хочу принципиально выводить в 1С. Если пользоватль увидел сообщение и не отреагировал - это его проблемы.
А если не увидел, значит он в этот момент не работал в базе и, опять же, это его проблемы :)
45. k352 7 10.09.12 13:32 Сейчас в теме
Вообще то хотелось бы не просто рассылать сообщения, а и закрывать корректно сеансы в 1С.
46. k352 7 12.12.12 11:23 Сейчас в теме
Так есть механизм закрытия сеансов?
47. kojinandrej 59 12.12.12 12:00 Сейчас в теме
48. Tom1 6 24.03.13 14:01 Сейчас в теме
Проще для этих целей было бы использовать net send.
49. luchyk007 30.04.13 08:14 Сейчас в теме
Спасибо, оценим Вашу обработку.
50. Vovus 3 21.08.13 12:10 Сейчас в теме
А где <<?>>опМодуль.ОчиститьИнтервал();
{Форма.Форма.Форма(74,2)}: Переменная не определена (опМодуль)
<<?>>опМодуль.ЗадатьИнтервал(600);
{Форма.Форма.Форма(79,2)}: Переменная не определена (опМодуль)
<<?>>опМодуль.ЗадатьИнтервал(1200);
51. nail_90 5 13.09.13 13:04 Сейчас в теме
Добрый день! При отправлении массового сообщения сервер нагружается на 100 процентов пока большая часть пользователей не прочитает новое сообщение, как можно от этого избавиться ?
52. kojinandrej 59 25.09.13 13:39 Сейчас в теме
Надо время от времени чистить регистр, тогда не будет грузить
53. rom-x 152 15.11.13 09:40 Сейчас в теме
Есть ли какое-нибудь решение для РИБ ? я так понимаю данное не будет работать, просто у нас в справочнике пользователей 1044 записи, я думаю система нехило подвиснет.
54. yurets86 25.11.13 15:59 Сейчас в теме
можно попробывать снизить нагрузку на сервер путем чистки кеша, сделать обработку которая через 1 минуту после отправки сообщение -> очистит кеш базы, имхо, может помочь
Оставьте свое сообщение