Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
01 фев 2023, 19:43

Передача значения переменной в обработчик команды

Автор Wallesss, 02 ноя 2022, 13:13

0 Пользователей и 1 гость просматривают эту тему.

Wallesss

Здравствуйте, как передать значение переменной из процедуры в обработчик команды, созданной программно?

&НаСервере
Процедура Кнопка()
ПеремЧисло=5999;
     Кмд = ЭтаФорма.Команды.Добавить("КомандаПередачи");
     Кмд.Действие = "ПолучениеЗнач";
     Кмд.Заголовок = "Передать значение";

     //Добавляем саму кнопку
     Кнопка = ЭтаФорма.Элементы.Добавить("Кнопка1", Тип("КнопкаФормы"), ЭтаФорма);
     Кнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
     Кнопка.ИмяКоманды = "КомандаПередачи";
КонецПроцедуры

&НаКлиенте
Процедура ПолучениеЗнач(Команда)
Сообщить(ПеремЧисло);
КонецПроцедуры

Очевидно, что данный код не скомпилируется, т.к. в процедуре "ПолучениеЗнач" не определена переменная "ПеремЧисло". Можно ли в процедуре "ПолучениеЗнач" получить значение "ПеремЧисло" без использования реквизитов формы?

LexaK

Wallesss,
Цитироватьполучить значение "ПеремЧисло" без использования реквизитов формы?
используйте глобальные переменные (доступные НаКлиенте)
если помогло нажмите: Спасибо!

antoneus

А почему нельзя использовать реквизиты формы?

LexaK

еще в файл можно писать, и наверно в хранилище, в общем варианты есть,
а вообще команда работает в каком-то контексте, так и работайте с данными этого контекста (и реквизиты формы тоже к ним относятся)
если помогло нажмите: Спасибо!

Wallesss

LexaK, глобальные переменные - признак низкой культуры разработки (гкод).

Wallesss


LexaK

Цитата: Wallesss от 02 ноя 2022, 13:52LexaK, глобальные переменные - признак низкой культуры разработки (гкод).
это к автору топика! (сам не использую, но надо же что-то было посоветовать? это же форум!)  :D 
если помогло нажмите: Спасибо!

Wallesss

LexaK, хранилище я пытался использовать. Но каким образом передать в обработчик команды адрес временного хранилища?

Wallesss

Цитата: LexaK от 02 ноя 2022, 13:54
Цитата: Wallesss от 02 ноя 2022, 13:52LexaK, глобальные переменные - признак низкой культуры разработки (гкод).
это к автору топика! (сам не использую, но надо же что-то было посоветовать? это же форум!)  :D 
Я что ли использую?

LexaK

ЦитироватьЯ что ли использую?
так сейчас насоветуем...

саму задачу опишите, для чего создаете такие извороты изыски ?

а по поводу
Цитировать
Цитата: Wallesss от 02 ноя 2022, 13:52antoneus, примитивно.

так задача в этом и заключается: решить ее с минимальными затратами (иначе получается всеми "любимы" гов..код)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск