|
Сообщить в ПриСозданииНаСервере() | ☑ | ||
---|---|---|---|---|
0
SeiOkami
15.12.20
✎
11:25
|
Такой вопрос. У меня документ вводится на основании другого. При создании на сервере происходит доп. проверка и вывод сообщения. Но это сообщение в результате выводится не на новой форме, а в той, из которой её вызвали.
Привязка ни к объекту ни к форме ничего не даёт. Даже использовал ИдентификаторНазначения в объекте СообщениеПользователю. Всё равно текст выводится в том окне, из которой начали ввод на основании. |
|||
1
ДенисЧ
15.12.20
✎
11:27
|
Это нормально
|
|||
2
Cyberhawk
15.12.20
✎
11:27
|
||||
3
SeiOkami
15.12.20
✎
11:40
|
(2), пункт 2 касается блокирующих проверок. У меня просто сообщение.
|
|||
4
SeiOkami
15.12.20
✎
11:40
|
(1), да, с этой фигнёй постоянно сталкиваюсь, но всё руки не доходят разобраться. Может где есть какое-то адекватное описание сего феномена
|
|||
5
ДНН
15.12.20
✎
11:46
|
(0) А если сообщать в ПриОткрытии?
|
|||
6
SeiOkami
15.12.20
✎
11:51
|
(5), при открытии норм, но стрёмно передавать сообщение между ПриСозданииНаСервере и ПриОткрытии
|
|||
7
craxx
15.12.20
✎
12:00
|
(6) а чего такого? создаешь реквизит на форме, туда пишешь в ПриСозданииНаСервере сообщение, оттуда при открытии его выводишь
|
|||
8
craxx
15.12.20
✎
12:00
|
(7) Реквизит на форме = реквизит формы
|
|||
9
SeiOkami
15.12.20
✎
12:03
|
(7), это всё равно не объяснит происходящее. А костылей можно гору придумать)
|
|||
10
ДенисЧ
15.12.20
✎
12:14
|
(4) Адекватное - есть. В ПриСоздании формы ещё нет. Куда сообщения выводить?
|
|||
11
fisher
15.12.20
✎
12:16
|
Странно. Была аналогичная фигня, когда пытался из модуля объекта пробросить сообщение в нужную форму. Тут видать схожий генезис - сервер и связи с формой на клиенте нет (в первом случае - вообще, во втором - еще, т.к. на клиенте форма еще не создана).
Фича такая, в общем. Обидная. Могли бы и поднапрячься. |
|||
12
fisher
15.12.20
✎
12:18
|
(10) Сообщения на сервере попадают в буфер сообщений. А на клиенте, когда буфер будет обрабатываться, форма уже будет. И ИдентификаторНазначения на нее будет указывать. Так что реальных препятствий нет. Явно фича отработки.
|
|||
13
ДенисЧ
15.12.20
✎
12:25
|
(12) Буфер к чему привязываться будет? Нет ещё формы. От слова совсем.
|
|||
14
fisher
15.12.20
✎
12:36
|
(13) УникальныйИдентификатор формы в этот момент уже сформирован. А именно он и используется в качестве ИдентификатораНазначения.
|
|||
15
acht
15.12.20
✎
12:49
|
(14) Ты еще предложи к закрытой форме собощения цеплять
|
|||
16
fisher
15.12.20
✎
13:25
|
(15) К закрытой форме цеплять сообщения смысла нет. А к открываемой - есть.
|
|||
17
acht
15.12.20
✎
13:49
|
(16) Ты подменяешь понятия. "Открываемая" форма - это совсем не то же самое, что "создаваемая". Ни создаваемая, ни закрытая форма не отображаются на экране и не привязаны к окну.
|
|||
18
fisher
15.12.20
✎
18:24
|
(17) Ты прав. Но технически я не вижу особой проблемы при открытии формы на клиенте и проверке буфера сообщений сопоставить идентификаторы форм и направить сообщения в нужную форму, несмотря на то что в момент посылки сообщения окна для этой формы еще не было создано. Было бы удобно. Почему нет? Ты думаешь, что вот прямо в момент отправки сообщения НА СЕРВЕРЕ выполняется его диспетчеризация прямо в конкретное окно клиентского приложения НА КЛИЕНТЕ?
|
|||
19
Fragster
гуру
15.12.20
✎
18:27
|
Лично я считаю отказ от глобального окна сообщений из ОФ - ошибкой, приводящей вот к таким вот артефактам.
|
|||
20
Classic
15.12.20
✎
19:44
|
(16)
Как это нет. А если сообщение описывает. почему форма не открылась? Все правильно. ПриСозданииНаСервере - до создания формы, ПриОткрытии - после создания. Строго говоря форму вообще можно не открывать. ПолучитьФорму(), повызывать процедуры, гудбай. Куда сообщения писать? |
|||
21
SeiOkami
16.12.20
✎
08:47
|
Лол, а почему обычно сообщения ПриСозданииНаСервере() нормально выводятся?
Нет, ПриСозданииНаСервере форма уже есть, она просто ещё не передана на клиент. Это не "ПередСозданиемФормы". И не событие "ОбработкаПолученияФормы". Иначе бы мы не могли с ней работать. И она не имела бы идентификатор. Если вызывать сообщение в ПриСозданииНаСервере(), то оно нормально выводится. Но именно в случае при вводе на основании происходит такой баг. Скорее всего есть ещё ситуации, мне кажется, что сталкивался. Ну если же это не баг, а фича, то хотелось бы понять в чём её смысл. И странно, что ИдентификатораНазначения в объекте СообщениеПользователю не помогает... |
|||
22
nikneim
16.12.20
✎
08:54
|
Комплексная автоматизация 2 (2.4.12.102)
Добрый день! Задача в следующем, в Расширении конфигурации в документе «Заказ Клиента» в Форме добавил ТЧ СПРОС(Дефицит), а в Обработчике Подбор товаров в документ продажи в форме Запроса Количества и Серий добавил Поле ввода "Количество Всего"как связать их без Корзины чтоб при вводе "Количество всего" сразу перекидывалось в ТЧ Спроса , какие процедуры и функции нужно дописать или подменить. То есть при подборе и вводе количества он закидывает в корзину а затем через "Перенести в документ" переносится в ТЧ Товары. Надо чтобы также при вводе КОЛИЧЕСТВО ВСЕГО перекидывалось в ТЧ СПРОС(Дефицит). |
|||
23
fisher
16.12.20
✎
10:05
|
(20) > Куда сообщения писать?
Этот вопрос не стоит. При любых непонятках сообщения и так выводятся просто в активную форму. |
|||
24
acht
16.12.20
✎
10:31
|
(23) Вот весь вопрос в определении этой формы - слишком много противоречивых сценариев.
Например, ты вывел сообщение из ПриСозданииНаСервере а потом в ПриОткрытии выдал Отказ = Истина. Что делать с сообщениями? Напоминаю, что перед этим ты топил за привязку сообщений, выводимых из ПриСозданииНаСервере к идентификатору созданной, но еще не открытой формы =) |
|||
25
fisher
16.12.20
✎
12:50
|
(24) > Что делать с сообщениями?
Выводить, конечно. Если есть конкретная форма-адресат - выводим в нее. Если нет или не удалось его найти - в активную форму. И это не моя идея или предложение. Это то, как по моему мнению сейчас и происходит. Вопрос только в существующих противоречивых сценариях, когда платформа почему-то не может определить адресата и выводит вместо него в активную. В частности - в сабжевом случае. Причем прочитай (21) - ТС пишет, что сообщения в ПриСозданииНаСервере() выводятся нормально. Проблема только при вводе на основании. Так что если тебя интересует, что на самом деле произойдет с сообщением из ПриСозданииНаСервере при отказе открытия - ты легко можешь это проверить на практике, а не в теории. |
|||
26
acht
16.12.20
✎
13:46
|
(25) > Проблема только при вводе на основании
Которая происходит в ОбработкаЗаполнения, и в общем случае выпоняется вообще без клиента. Ну, например, при МойОбъект.Заполнить(Данные) на сервере. Кому там что информационно сообщать? А вот про сообщения об ошибках и существует стандарт https://its.1c.ru/db/v8std#content:396:hdoc, пункт второй. Который обеспечивает нормальную логику пр иработе как на клиенте из формы, так и на сервере без клиента. |
|||
27
fisher
16.12.20
✎
14:24
|
(26) ТС говорит не про обработку заполнения. А про ПриСозданииНаСервере при вводе на основании. И если ты даже в обработке проведения отправишь сообщение - оно будет выведено.
Я отметил нелогичность и запутанность в работе лопаты. А ты мне про то, что если я буду махать ей по уставу - то проблем не будет. Ну, ок. Уставы мне обсуждать неинтересно. Мне интересна логика работы внутренних механизмов платформы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |