|
Показать оповещение пользователю | ☑ | ||
---|---|---|---|---|
0
DmitrYY
14.01.22
✎
10:10
|
Всем привет! Есть документ у которого есть реквизит "Задача". Требуется чтобы в системе не было двух документов с одинаковой задачей. Нужно при проведении выполнить проверку и показать оповещение пользователю (если уже есть документ с такой задачей), с ссылкой на документ, на которую можно нажать и открыть документ.
Проблемы в проверке нет, есть проблема с выводом оповещения. Проверку я делаю в модуле объекта "ПередЗаписью", а оповещение можно показать только на клиенте. Видимо нужно по другому совсем делать. В общем нужна помощь, как это все сделать? |
|||
1
DmitrYY
14.01.22
✎
10:11
|
(0) Если есть в системе документ с такой задачей, то текущий документ не должен проводиться
|
|||
2
Momus
14.01.22
✎
10:16
|
ОбщегоНазначения.СообщитьПользователю лучше же. Можно сразу проблемный реквизит подсветить
|
|||
3
DmitrYY
14.01.22
✎
10:20
|
(2) дело не в подсветке, мне нужно именно оповещение пользователя, чтобы можно было тыкнуть и открыть документ
|
|||
4
Momus
14.01.22
✎
10:26
|
(3) И это оповещение нужно создавать при любом изменении документа (даже другим пользователем)?
|
|||
5
DmitrYY
14.01.22
✎
10:28
|
(4) не при любом изменении документа, а именно при проведении идет проверка, если проверка не прошла, то показываем оповещение со ссылкой на документ
|
|||
6
Momus
14.01.22
✎
10:31
|
(5) Кто проводит? Текущий пользователь из какой-либо формы? Метод доступен только на клиенте, нужно привязываться в форме. Если документ проводит текущий пользователь из формы документа, то почему не добавить это оповещение в контексте формы?
|
|||
7
Momus
14.01.22
✎
10:33
|
Можно добавить регистр сведений и при проведении делать запись в нем, а обработчиком ожидания проверить сообщения, но все равно нужна открытая форма, где будет вызван этот метод.
|
|||
8
DmitrYY
14.01.22
✎
10:34
|
(6) А как, в модуле формы в событии ПередЗаписью нельзя вызвать серверную процедуру(для проверки существования такого же документа), в событии ПередЗаписьюНаСервере можно сделать проверку, но как вернуть результат проверки на клиент и показать оповещение? Без РС никак?
|
|||
9
Momus
14.01.22
✎
10:39
|
(8) Почему нельзя? Внеконтекстный вызов возможен. Параметром передаем ссылку (или значение реквизита, если документ еще не создан) и возвращаем результат есть такой документ или нет.
|
|||
10
Ryzeman
14.01.22
✎
10:42
|
(8) У тебя по самой логике задаче нужна проверка при интерактивном заполнении поля, что бы пользователь не смог задвоить. Так и сделай её на форме.
Ты хочешь интерактивные на интерактивные действия пользователя интерактивно реагировать (показать на форме оповещение) но при этом используешь серверные процедуры объекта... |
|||
11
Ryzeman
14.01.22
✎
10:43
|
(10)+ к тому же допустим сохранит пользователь задвоенную задачу, а потом из формы списка начнёт проводить, или вообще обработка в регламентном задании. Кто должен увидеть это оповещение будет и где?
|
|||
12
Мимохожий Однако
14.01.22
✎
10:45
|
Перед записью сообщай об ошибке и очищай реквизит задача. При выдаче сообщения есть возможность активировать очищаемый реквизит для правильного ввода. Посмотри в СП СообщениеПользователю.
|
|||
13
DmitrYY
14.01.22
✎
10:46
|
(9) да, оказывается можно, неправильно понял описание из СП. Спасибо
|
|||
14
DmitrYY
14.01.22
✎
10:47
|
(11) оповещение только когда из формы проводится, для формы из списка можно просто вывести сообщение, а для РЗ в журнал записать ошибку.
|
|||
15
DmitrYY
14.01.22
✎
10:48
|
(14) хотя, для формы списка тоже можно наверное вывести оповещение?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |