Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 сен 2021, 15:17

Уведомление пользователей при изменении статуса документа

Автор isacnew21, 18 мар 2019, 11:50

0 Пользователей и 1 гость просматривают эту тему.

isacnew21

Всем доброго времени суток, прошу подсказать, какой механизм 1С может оповещать всех пользователей находящихся в базе при изменении статуса документа, или например при изменении добавленного реквизита в документе. Суть задачки: на платформе 1С 8.3 в конфигурации КА 2.4, реализовать такого рода механизм оповещения пользователей при изменении "Статуса" документа "Заказ Клиента"

LexaK

1.Создайте план обмена, настройте регистрацию изменений нужных реквизитов документа Заказ,
2.напишите процедуру, которая будет за период (например час) читать документы из ПО в выводить сообщения на экран.
3.при запуске сеанса пользователя поместите эту процедуру в обработчик ожидания.

вот и все для одного варианта, наверняка еще есть куча (например с использованием бизнес процессов, задач) и др.
ответ Понравился? (в смысле пригодился?)

isacnew21

Забыл добавить , что добавляю все изменения с помощью механизма расширения.

alex0402

Цитата: isacnew21 от 18 мар 2019, 14:33Забыл добавить , что добавляю все изменения с помощью механизма расширения.

тогда изучайте механизм оповещения.
Спасибо за Сказать спасибо

AIFrame

Создайте чат в виде обработки 1С. С внешним API, любым удобным.
Пуште POST-запросами в это API свои статусы, а клиенты по кд будут с API эти статусы забирать.
Короче, типичный клиент-серверный чатик.

isacnew21

Цитата: alex0402 от 18 мар 2019, 14:41
тогда изучайте механизм оповещения.
Если идти этим путем, загуглил механизм ПоказатьОповещениеПользователя()
Думаю добавить "ОбщийМодуль" в расширение
Записать туда условие изменения реквизита "Состояние заказа"(тип реквизита ссылка на перечисление, содержащее 3 значения: 1.Заявка на рассмотрении 2.Конкурент 3.Подача заявки)
Процедура ПоказатьОповещениеПользователя()
Если СостояниеЗаказа = ЗаявкаНаРассмотрении Тогда
СообщитьТекст = "ЗаказКлиента № 12345 состояние заказа изменено на Заявка на рассмотрении";
ИначеЕсли СостояниеЗаказка = Конкурент Тогда
СообщитьТекст = "ЗаказКлиента № 12345 состояние заказа изменено на Конкурент";
Иначе СостояниеЗаказка = ПодачаЗаявки Тогда
СообщитьТекст = "ЗаказКлиента № 12345 состояние заказа изменено на ПодачаЗаявки";
КонецЕсли;
КонецПроцедуры

Поправьте пожалуйста, если думаю не в правильном ключе.
Добавлено: 21 мар 2019, 17:00


Цитата: AIFrame от 20 мар 2019, 17:54
Создайте чат в виде обработки 1С. С внешним API, любым удобным.
Пуште POST-запросами в это API свои статусы, а клиенты по кд будут с API эти статусы забирать.
Короче, типичный клиент-серверный чатик.
Попробую погуглить примеры таких обработок.

alex0402

Цитата: isacnew21 от 21 мар 2019, 16:58Если идти этим путем, загуглил механизм ПоказатьОповещениеПользователя()

я имел ввиду
Цитировать
Глобальный контекст.Оповестить (Global context.Notify)
Глобальный контекст (Global context)
Оповестить (Notify)
Синтаксис:

Оповестить(<ИмяСобытия>, <Параметр>, <Источник>)


и

в каждой открытой форме возникает событие:
ЦитироватьОбработкаОповещения(<ИмяСобытия>, <Параметр>, <Источник>)

если сотрудник работает - он увидит оповещение, если  запустил программу, то посмотрит отчеты, и за тем  после каждого события будет получать уведомления.

Если таких событий немного (например 1/час), то все хорошо, если событий много, то будут только мешать.
Спасибо за Сказать спасибо

isacnew21

Уточнил недавно предмет данного задания, он слегка изменился или возможно изначально я не так его понял.
Требуется сделать механизм по описанию похожий на механизм "Задания" "Задачи", а именно, что бы была некая форма, в которой есть возможность:
1. Выбрать документ (например "заказ клиента" или "заказ поставщику")
2. Выбрать реквизит который требуется заменить в этом документе
3. Начальное значение этого реквизита (до изменения)
4. Конечное значение реквизита (на что исполнитель должен его поменять)
5. Исполнитель(пользователь/группа пользователей которым адресуется задание)
6. Сообщение (сообщение исполнителю)
7. Таймер (или срок исполнения задачи)
И собственно кнопка что бы задание отправилось исполнителю.
Конфигурация Комплексная автоматизация 2.4 платформа 8.3.14
Прошу подсказать направление решения данного задания, как сам думаю, нужно создать обработку и в нее запихнуть все необходимые реквизиты, но дело в том что конфигурацию предполагается не снимать с поддержки и пользоваться расширениями в плане доработок.

wise

(7) НИЧЕГО СЕБЕ, не правильно понял... БОЛЬШЕ похоже на ДРУГОЕ задание...

задачи УЖЕ реализованы в КА, так что НАДО только форму самой задачи "перепилить"
вставить туда ссылку на документ(из 1), считать, через Метаданные, все реквизиты, определить Тип выбранного(из 2) и назначить этот Тип реквизитам(из 3 и 4)
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

AIFrame

Если расширениями, то ничего сверхъестественного.
Это одна обработка и один отчет. В остальном можно во всю абузить механизм задач пользователю.
Я еще на ут 10.3 подобное реализовывал в плане уведомлений для техменеджеров о перемещении резервов.

Теги: КА 2 

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск