|
Сообщить при провести и закрыть | ☑ | ||
---|---|---|---|---|
0
pumba055
15.06.21
✎
15:59
|
Коллеги, задача такая.
Есть два реквизита документа, при проведении документа проверять что один больше другого, если больше, то выводить сообщение пользователю. Соответственно в самой обработке проведения я не делаю сообщить, а то вдруг групповое проведение документов как говориться) Мне надо при нажатии кнопки записать и закрыть - только при проведении когда запускаю его с формы проверить два числа и вывести сообщение пользователю. |
|||
1
Irbis
15.06.21
✎
16:06
|
ПередЗаписью РежимЗаписи.Проведение
|
|||
2
ГдеСобака Зарыта
15.06.21
✎
16:07
|
Зачем при проведении то? Сделай декорацию надпись, при изменении реквизитов обновляй. Пользователь в любой момент времени видит больше у него там или меньше
|
|||
3
pumba055
15.06.21
✎
16:08
|
соответственно при записи я выведу это сообщение, а потом в форме в которой вывелось сообщение оно закроется) и пользователь ничего не увидит
|
|||
4
RomanYS
15.06.21
✎
16:08
|
(1) ОбработкаПроверкиЗаполнения
|
|||
5
pumba055
15.06.21
✎
16:09
|
Одно сравниваемое значение в регистре храниться, другое в документе
|
|||
6
RomanYS
15.06.21
✎
16:10
|
(5) без разницы
(3) оно не закроется, если будет ошибка проверки (Отказ) |
|||
7
Irbis
15.06.21
✎
16:10
|
(4) А не факт, что при любой записи нужно проверять. Но можно и так
|
|||
8
pumba055
15.06.21
✎
16:14
|
Не, не, никаких отказов не нужно! Нужно просто сообщение
|
|||
9
pumba055
15.06.21
✎
16:17
|
ОбработкаПроверкиЗаполнения еще раньше чем Проведение вызывается - т.е. еще хуже((, я при записи или проведении вывела сообщение на форму, а потом при закрытии этой формы он закрывает окно с моим сообщением
|
|||
10
Filin
15.06.21
✎
16:19
|
Ну выводи сообщение в другую форму. Обычно в форму - владельца.
Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Текст сообщения"; Сообщение.ИдентификаторНазначения = Форма.УникальныйИдентификатор; |
|||
11
pumba055
15.06.21
✎
16:22
|
как в обработке проведения узнать форму владельца или просто у формы узнать ее форму владельца
|
|||
12
arsik
гуру
15.06.21
✎
16:23
|
НУ в привяжись к событию в форме документа "ПослеЗаписиНаСервере".
|
|||
13
pumba055
15.06.21
✎
16:26
|
а в форме ПослеЗаписиНаСервере как мне понять что это проведение - что мне нужно или запись - что мне не нужно
|
|||
14
arsik
гуру
15.06.21
✎
16:27
|
Там же параметры есть
|
|||
15
arsik
гуру
15.06.21
✎
16:28
|
+(14) Да и просто проверь. Если документ проведен, то тогда это проведение (бывают конечно исключения, но ими можно пренебречь).
|
|||
16
_Дайвер_
15.06.21
✎
16:32
|
Я бы пересмотрел вообще решение, после проведения сообщения выводить что одно больше другого, ИМХО
|
|||
17
pumba055
15.06.21
✎
16:34
|
ну так хотят для информации)
|
|||
18
_Дайвер_
15.06.21
✎
16:34
|
А вообще в модуле формы есть ПередЗакрытием и ПриЗакрытии , туда копай
|
|||
19
_Дайвер_
15.06.21
✎
16:35
|
Тогда сообщение будет выводиться уже после проведения, в момент закрытия
|
|||
20
_Дайвер_
15.06.21
✎
16:39
|
Или как в (12) , там есть параметры ПараметрыЗаписи в них можешь понять что это проведение
|
|||
21
pumba055
15.06.21
✎
16:39
|
т.е получается ПослеЗаписиНаСервере мне надо сравнить два значения, если есть разница то свои сообщения запихнуть в какую-то промежуточную константу и потом ПриЗакрытии формы выводить эти сообщения
|
|||
22
Filin
15.06.21
✎
16:40
|
(11) Это зависит от конкретного случая. В общем случае это примерно так:
ЭтаФорма.ВладелецФормы.Родитель |
|||
23
pumba055
15.06.21
✎
16:43
|
а еще вопрос - есть ПолучитьСообщенияПользователю() а каким способом они набираются? т.е. как их насоздавать чтобы потом получить
|
|||
24
_Дайвер_
15.06.21
✎
16:45
|
(21) Нет, запись в регистре у тебя у же есть, ссылка на проведенный документ тоже со значением, тебе остается только получить их и сравнить. Никакие константы тебе не нужны. Можно это сделать в одном месте, ничего передавать не надо.
|
|||
25
_Дайвер_
15.06.21
✎
16:46
|
(23)
Глобальный контекст (Global context) ПолучитьСообщенияПользователю (GetUserMessages) Синтаксис: ПолучитьСообщенияПользователю(<УдалятьПолученные>) Параметры: <УдалятьПолученные> (необязательный) Тип: Булево. Признак необходимости удаления полученных сообщений из списка. Истина - удалять. Значение по умолчанию: Ложь. Возвращаемое значение: Тип: ФиксированныйМассив. Описание: Получает массив объектов СообщениеПользователю, которые еще не были выведены пользователю. Такое может происходить при работе в регламентных заданиях, на стороне сервера или в Web-сервисах. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер. Примечание: При удалении сообщений с помощью данного метода не удаляются сообщения, полученные с помощью метода ПолучитьСообщенияПользователю фонового задания. См. также: СообщениеПользователю Глобальный контекст, метод Сообщить Использование в версии: Доступен, начиная с версии 8.2. |
|||
26
pumba055
15.06.21
✎
16:58
|
чтобы ПолучитьСообщенияПользователю их надо насоздавать и где тут об этом написано не вижу
|
|||
27
pumba055
15.06.21
✎
16:59
|
есть пример насоздвать сообщений, а потом их сразу все получить ПолучитьСообщенияПользователю()
|
|||
28
_Дайвер_
15.06.21
✎
17:05
|
(27) Описание:
Получает массив объектов СообщениеПользователю, которые еще не были выведены пользователю. Такое может происходить при работе в регламентных заданиях, на стороне сервера или в Web-сервисах. |
|||
29
_Дайвер_
15.06.21
✎
17:11
|
(27) Тебе это не нужно, используй вообще ПоказатьОповещениеПользователя()
|
|||
30
pumba055
15.06.21
✎
17:12
|
а можно примерчик
|
|||
31
pumba055
15.06.21
✎
17:14
|
в студию)
|
|||
32
_Дайвер_
15.06.21
✎
17:14
|
(30) Сколько тебе платят?)
|
|||
33
pumba055
15.06.21
✎
17:23
|
За поцелуй!
|
|||
34
pumba055
15.06.21
✎
17:26
|
Чмоки чмоки)
|
|||
35
pumba055
15.06.21
✎
17:44
|
Процедура ПослеЗаписи(ПараметрыЗаписи) получается что рановато выводить сообщение в ФормуРодитель, на этом этапе я еще не знаю о том, закрывается после проведения форма или нет, без промежуточной переменной получается никак?
|
|||
36
pumba055
15.06.21
✎
19:11
|
Не получается получить все сообщения, подскажите что не правильно
&НаСервере Процедура Команда1НаСервере() МассивСообщений = Новый Массив; Сообщение1 = Новый СообщениеПользователю(); Сообщение1.Текст = "111"; МассивСообщений.Добавить(Сообщение1); Сообщение2 = Новый СообщениеПользователю(); Сообщение2.Текст = "222"; МассивСообщений.Добавить(Сообщение2); ВсегоСообщений = ПолучитьСообщенияПользователю(); КонецПроцедуры |
|||
37
Mort
15.06.21
✎
21:47
|
(0) Пользователи не читают сообщения. Программируйте с этой точки зрения.
|
|||
38
Mort
15.06.21
✎
21:49
|
Если документ нельзя провести - сообщите техподу ясное послание как отморозить пользователя. Если можно - ничего не говорите пользователю. Всё равно эта обезьяна ничего не запомнит и вам не скажет.
|
|||
39
Mort
15.06.21
✎
21:51
|
Если кого-то возмутило моё предыдущее сообщение:
Если писать программу для идиотов, только идиоты будут её пользоваться. Если пользователь понимает что нужно для проведения документа - он это сделает. А с идиотом Вы не договоритесь. Любыми сообщениями. |
|||
40
ДедМорроз
15.06.21
✎
22:00
|
Есть такое понятие как Уведомление.
Оно всплывает и какое-то время висит,еще можно сделать,чтобы висел колокольчик,чтобы пользователь гарантированно отреагировал. Здесь оно в самый раз. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |