|   |   | 
| 
 | Сообщить в ПриСозданииНаСервере() | ☑ | ||
|---|---|---|---|---|
| 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) ТС говорит не про обработку заполнения. А про ПриСозданииНаСервере при вводе на основании. И если ты даже в обработке проведения отправишь сообщение - оно будет выведено.
 Я отметил нелогичность и запутанность в работе лопаты. А ты мне про то, что если я буду махать ей по уставу - то проблем не будет. Ну, ок. Уставы мне обсуждать неинтересно. Мне интересна логика работы внутренних механизмов платформы. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |