1с БСП

1. Roootru 5 09.12.20 07:49 Сейчас в теме
Всем привет. Прошу объяснить один момент: есть строка
ФормаОбработки = ПолучитьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма", ПараметрыОбработки, Форма)
Она из ДополнительныеОтчетыИОбработкиКлиент, процедура ВыполнитьКлиентскийМетодОбработки(ВыполняемаяКоманда, Форма, ОбъектыНазначения) Экспорт
Вообщем по логике разработчиков в переменной ПараметрыОбработки содержатся (смотреть рисунок).
Но представим что в форме которую мы получили параметры не созданы заранее и вследствии этого параметры передаеваемые в форму улетают в небытие так как им некуда "приземлиться" (причем ошибку никакую не выдает, а просто их пропускает).
Теперь вопросы: контроля в методе "ПолучитьФорму" для параметров не существует? Единственный выход какой? Шерстить коллекцию параметров полученной формы и смотреть встали ли параметры которые туда передавались (пытались передаться)? Ну или я точно(101%) должен уже знать что в форме ждут пустующие параметры...
Ну и следом вопрос: почему параметры должны быть ключевыми чтобы при помощи ПолучитьФорму(... , ... , Параметры) я мог в них поместить значения при вызове формы? (смотреть след рисунок)
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
5. EVKash 8 09.12.20 08:16 Сейчас в теме
(4)
почему если галочка есть то они принимают данные если нет то нет.

потому, что надо читать документацию.
Параметры
Параметры формы, в отличие от реквизитов, предназначены для управления функциональностью формы при ее открытии и, грубо говоря, существуют лишь в момент создания и открытия формы. После создания или открытия формы все параметры, кроме ключевых параметров, удаляются, т. к. для дальнейшей работы формы они уже не нужны.

Ключевые параметры – это особый вид параметров, значения которых могут потребоваться и после того, как форма создана. Например, для того чтобы найти именно этот экземпляр формы среди других открытых форм.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Roootru 5 09.12.20 07:51 Сейчас в теме
Палками не бейте сильно, формы моя слабая сторона, разбираю все по полкам, хочу понять.
3. PowerBoy 3411 09.12.20 07:58 Сейчас в теме
Посмотри параметры здесь:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
4. Roootru 5 09.12.20 08:05 Сейчас в теме
(3) Я знаю что здесь можно посмотреть, я другие вопросы задавал) Мне интересно почему при получении формы параметры "улетают" (передаются в никуда), ну и насчет ключевых не ясно, почему если галочка есть то они принимают данные если нет то нет.
5. EVKash 8 09.12.20 08:16 Сейчас в теме
(4)
почему если галочка есть то они принимают данные если нет то нет.

потому, что надо читать документацию.
Параметры
Параметры формы, в отличие от реквизитов, предназначены для управления функциональностью формы при ее открытии и, грубо говоря, существуют лишь в момент создания и открытия формы. После создания или открытия формы все параметры, кроме ключевых параметров, удаляются, т. к. для дальнейшей работы формы они уже не нужны.

Ключевые параметры – это особый вид параметров, значения которых могут потребоваться и после того, как форма создана. Например, для того чтобы найти именно этот экземпляр формы среди других открытых форм.
6. Roootru 5 09.12.20 08:21 Сейчас в теме
(5) Помогите лушче осмыслить вместо того чтобы острить) В какой момент у меня уже удалятся все не ключевые параметры.
7. EVKash 8 09.12.20 08:25 Сейчас в теме
(6)
после ПриСозданииНаСервере
да
9. Roootru 5 09.12.20 08:27 Сейчас в теме
(7) Так я получаю форму методом ПолучитьФорму а не ОткрытьФорму, ПриСозданииНаСервере не срабатывает

Кроме того, применение глобального метода ОткрытьФорму гарантирует выполнение инициализации формы на сервере в обработчике ПриСозданииНаСервере. Этот подход помогает сосредоточить весь код инициализации формы в одном месте и исключает "случайное" обращение к серверу, связанное с инициализацией формы, между строками кода

Вырезка с ИТС
11. Roootru 5 09.12.20 08:52 Сейчас в теме
(9) Сделаю поправку, ПриСозданииНаСервере отрабатывает, если МЫ ОТКРЫВАЕМ ФОРМУ ПОТОМ, я же вызывал процедуру из полученной формы обходя открытие.
12. dhurricane 09.12.20 17:23 Сейчас в теме
(11) На самом деле, это не так. Возможно Вы некорректно поставили эксперимент. Проверил на платформе 8.3.16.869, обработчик события "ПриСозданииНаСервере" срабатывает всегда и сразу при вызове метода "ПолучитьФорму", вне зависимости от того, открываем мы потом форму или нет.

И да, Вы правильный сделали вывод в (10): параметры существуют только в обработчике создания формы. Вне его их получение невозможно.
13. Roootru 5 10.12.20 02:10 Сейчас в теме
(12) Спасибо большое за поправку, и вправду я пропустил этот момент
8. Roootru 5 09.12.20 08:26 Сейчас в теме
(5) При получении формы у меня сразу отсутствуют параметры как я ее получил, может при методе ОткрытьФорму не ключевые параметры еще сохраняются на время создания формы (не проверял).
10. Roootru 5 09.12.20 08:48 Сейчас в теме
(5) Проверил, насчет ПолучитьФорму и ОткрытьФорму, для ПолучитьФорму впринципе не будут существовать неключевые параметры, спасибо что натолкнули на эту мысль) В следующий раз пожалуйста не умничайте ответом про "читай документацию", а помогайте советами лучше сразу если можете :)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот