Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Опять и опять про видимость переменных в управляемом приложении...

Опять и опять про видимость переменных в управляемом приложении...
Я
   Eastert
 
07.10.18 - 11:16
Есть обработка, в модуле объекта обработки хочу, чтобы была переменная, которую будут видеть все процедуры и функции этого модуля. То есть разные процедуры модуля объекта вызываются из обработчиков нажатия разных кнопок формы обработки. Делаю, например, так (Начать() вызывается из процедуры ПриОткрытии формы, а Продолжить() по кнопке на форме):

    Перем МойМассив Экспорт;
    
    Процедура Начать() Экспорт
        МойМассив = Новый Массив();
    КонецПроцедуры
    
    Процедура Продолжить() Экспорт
        МойМассив.Добавить(1);// вот здесь отладка говорит, что МойМассив - Неопределено!

    КонецПроцедуры
 
 
   palsergeich
 
1 - 07.10.18 - 12:04
Потому что надо директивы компиляции указывать!!
Без директивы - по умолчанию - на сервере
 &НаКлиенте  Перем МойМассив Экспорт;

&НаКлиенте    
Процедура Начать() Экспорт
КонецПроцедуры

&НаКлиенте
Процедура Продолжить() Экспорт
        МойМассив.Добавить(1); 
КонецПроцедуры

И все будет работать
   Eastert
 
2 - 07.10.18 - 13:10
(1) И как же из модуля формы вызвать, допустим, процедуру Начать(), которая на клиенте
   Сияющий в темноте
 
3 - 07.10.18 - 13:17
Я этот вопрос разбирал,модуль обработки существует только на сервере и при каждом клиентском вызове он заново компиляется,чтобы это увидеть в конец модуля можно вписать крб записи в журнал или текстовый файл.
когда мы выполняем РеквизитФормыВЗначение с обработкаобьект,модуль заново компиляется.
если из обработки открыты две формы,то каждая будет видеть свой модуль,т.к.их серверные вызовы идут независимо.
   Eastert
 
4 - 07.10.18 - 13:18
(3) понятно
   palsergeich
 
5 - 07.10.18 - 13:25
(2) В данной трактовке вопроса - никак.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует