Всем привет. Прошу объяснить один момент: есть строка
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма)
Она из ДополнительныеОтчетыИОбработкиКлиент, процедура ВыполнитьКлиентскийМетодОбработки(ВыполняемаяКоманда, Форма, ОбъектыНазначения) Экспорт
Вообщем по логике разработчиков в переменной ПараметрыОбработки содержатся (смотреть рисунок).
Но представим что в форме которую мы получили параметры не созданы заранее и вследствии этого параметры передаеваемые в форму улетают в небытие так как им некуда "приземлиться" (причем ошибку никакую не выдает, а просто их пропускает).
Теперь вопросы: контроля в методе "ПолучитьФорму" для параметров не существует? Единственный выход какой? Шерстить коллекцию параметров полученной формы и смотреть встали ли параметры которые туда передавались (пытались передаться)? Ну или я точно(101%) должен уже знать что в форме ждут пустующие параметры...
Ну и следом вопрос: почему параметры должны быть ключевыми чтобы при помощи ПолучитьФорму(... , ... , Параметры) я мог в них поместить значения при вызове формы? (смотреть след рисунок)
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма)
Она из ДополнительныеОтчетыИОбработкиКлиент, процедура ВыполнитьКлиентскийМетодОбработки(ВыполняемаяКоманда, Форма, ОбъектыНазначения) Экспорт
Вообщем по логике разработчиков в переменной ПараметрыОбработки содержатся (смотреть рисунок).
Но представим что в форме которую мы получили параметры не созданы заранее и вследствии этого параметры передаеваемые в форму улетают в небытие так как им некуда "приземлиться" (причем ошибку никакую не выдает, а просто их пропускает).
Теперь вопросы: контроля в методе "ПолучитьФорму" для параметров не существует? Единственный выход какой? Шерстить коллекцию параметров полученной формы и смотреть встали ли параметры которые туда передавались (пытались передаться)? Ну или я точно(101%) должен уже знать что в форме ждут пустующие параметры...
Ну и следом вопрос: почему параметры должны быть ключевыми чтобы при помощи ПолучитьФорму(... , ... , Параметры) я мог в них поместить значения при вызове формы? (смотреть след рисунок)
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
(4)
потому, что надо читать документацию.
почему если галочка есть то они принимают данные если нет то нет.
потому, что надо читать документацию.
Параметры
Параметры формы, в отличие от реквизитов, предназначены для управления функциональностью формы при ее открытии и, грубо говоря, существуют лишь в момент создания и открытия формы. После создания или открытия формы все параметры, кроме ключевых параметров, удаляются, т. к. для дальнейшей работы формы они уже не нужны.
Ключевые параметры – это особый вид параметров, значения которых могут потребоваться и после того, как форма создана. Например, для того чтобы найти именно этот экземпляр формы среди других открытых форм.
Параметры формы, в отличие от реквизитов, предназначены для управления функциональностью формы при ее открытии и, грубо говоря, существуют лишь в момент создания и открытия формы. После создания или открытия формы все параметры, кроме ключевых параметров, удаляются, т. к. для дальнейшей работы формы они уже не нужны.
Ключевые параметры – это особый вид параметров, значения которых могут потребоваться и после того, как форма создана. Например, для того чтобы найти именно этот экземпляр формы среди других открытых форм.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
потому, что надо читать документацию.
почему если галочка есть то они принимают данные если нет то нет.
потому, что надо читать документацию.
Параметры
Параметры формы, в отличие от реквизитов, предназначены для управления функциональностью формы при ее открытии и, грубо говоря, существуют лишь в момент создания и открытия формы. После создания или открытия формы все параметры, кроме ключевых параметров, удаляются, т. к. для дальнейшей работы формы они уже не нужны.
Ключевые параметры – это особый вид параметров, значения которых могут потребоваться и после того, как форма создана. Например, для того чтобы найти именно этот экземпляр формы среди других открытых форм.
Параметры формы, в отличие от реквизитов, предназначены для управления функциональностью формы при ее открытии и, грубо говоря, существуют лишь в момент создания и открытия формы. После создания или открытия формы все параметры, кроме ключевых параметров, удаляются, т. к. для дальнейшей работы формы они уже не нужны.
Ключевые параметры – это особый вид параметров, значения которых могут потребоваться и после того, как форма создана. Например, для того чтобы найти именно этот экземпляр формы среди других открытых форм.
(7) Так я получаю форму методом ПолучитьФорму а не ОткрытьФорму, ПриСозданииНаСервере не срабатывает
Кроме того, применение глобального метода ОткрытьФорму гарантирует выполнение инициализации формы на сервере в обработчике ПриСозданииНаСервере. Этот подход помогает сосредоточить весь код инициализации формы в одном месте и исключает "случайное" обращение к серверу, связанное с инициализацией формы, между строками кода
Вырезка с ИТС
Кроме того, применение глобального метода ОткрытьФорму гарантирует выполнение инициализации формы на сервере в обработчике ПриСозданииНаСервере. Этот подход помогает сосредоточить весь код инициализации формы в одном месте и исключает "случайное" обращение к серверу, связанное с инициализацией формы, между строками кода
Вырезка с ИТС
(11) На самом деле, это не так. Возможно Вы некорректно поставили эксперимент. Проверил на платформе 8.3.16.869, обработчик события "ПриСозданииНаСервере" срабатывает всегда и сразу при вызове метода "ПолучитьФорму", вне зависимости от того, открываем мы потом форму или нет.
И да, Вы правильный сделали вывод в (10): параметры существуют только в обработчике создания формы. Вне его их получение невозможно.
И да, Вы правильный сделали вывод в (10): параметры существуют только в обработчике создания формы. Вне его их получение невозможно.
(5) Проверил, насчет ПолучитьФорму и ОткрытьФорму, для ПолучитьФорму впринципе не будут существовать неключевые параметры, спасибо что натолкнули на эту мысль) В следующий раз пожалуйста не умничайте ответом про "читай документацию", а помогайте советами лучше сразу если можете :)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот