Имя: Пароль:
1C
1С v8
Теоретический вопрос про контекст модуля.
0 Lama12
 
23.10.19
11:00
Допустим есть какой-то модуль. Не важно какой.
Можно ли в любой точке модуля  определить список всех переменных, определенных до этой точки, и их значения?
Вопрос чисто теоретический.
Надеюсь решение такой задачи никогда не понадобится, но мало-ли.
1 Mankubus
 
23.10.19
11:01
(0) Отладка - Локальные переменные
2 MM
 
23.10.19
11:01
Из кода нет, но отладчик (1) может показать все переменные в контексте, впрочем даже те, что объявлены позже.
3 hockeyist
 
23.10.19
11:02
(0) Теоретиески нельзя. Для этого потребуется бесконечный кусок кода.
4 Lama12
 
23.10.19
11:11
(1) Это знаю.
(3) Спасибо. Понял. Отстал :-)
5 Фрэнки
 
23.10.19
11:13
немного не понятен вопрос - хоть и теоретический, но все равно не понятен :-)
- Какими средствами можно список определить ?
6 Фрэнки
 
23.10.19
11:17
Вот я выше по коду использовал МояПеременная = Новый Массив;
Тогда в текущем месте синтаксический контроль отработает на эту переменную.
Но бывает разные способы записи выражений, когда переменная уже определена, но значение у нее за задано, т.е. Неопределено
Я иногда в таких местах или случаях делаю проверки переменных на равенство значению Неопределено.
7 Lama12
 
23.10.19
11:18
(5) Допустим у меня есть код:

а=1;
б=2;
в=3;
Сообщить("*");
Сообщить("*-*");


Вот между первым и вторым "Сообщить" я хочу узнать какие переменные в данном контексте доступны, и их значения. При этом я не вижу кода и не знаю что имеется 3 переменных их имена "а", "б", "в" и их значения соответственно 1,2,3.
8 Uzyf
 
23.10.19
11:52
(7) ну если ты сам пишешь этот код, то создавать переменные как элементы структуры, типа
    ПеременныеКода = Новый Структура;
    ПеременныеКода.Вставить("а", 1);
    ПеременныеКода.Вставить("б", 2);
    Для Каждого Переменная Из ПеременныеКода Цикл
        Сообщить(Переменная.Ключ + " = " + Элемент.Значение);
    КонецЦикла;
9 Жан Пердежон
 
23.10.19
11:59
(3) размер модуля конечен