В процессе разработки и отладки программного кода на платформе «1С:Предприятие 8» одним из самых полезных инструментов является визуализация текущих значений переменных. Начинающие разработчики часто сталкиваются с вопросом: где именно найти окно «Локальные переменные» и почему оно может отсутствовать в интерфейсе конфигуратора. В этой статье мы подробно разберем механизмы работы этого инструмента, выясним технические требования для его появления и научимся эффективно использовать его в повседневной работе.
Первым делом проанализируем ситуацию, когда разработчик в режиме отладки не видит соответствующей кнопки или пункта меню. Важно понимать, что окно «Локальные переменные» — это относительно «молодой» функционал платформы. Оно было официально добавлено в конфигуратор, начиная с версии 8.3.7.1759. Если вы работаете в более старых версиях (например, в учебной версии 8.3.3 или в базах на платформе 8.2), этого окна просто не существует в программном коде самой платформы.
Рассмотрим, как проверить вашу версию. Для этого в главном меню выберите Справка -> О программе. Если номер версии ниже 8.3.7, то единственным способом просмотра значений переменных для вас останется использование инструментов «Табло» или «Вычислить выражение».
Если ваша платформа соответствует требованиям (8.3.7 и выше), разберем по шагам, как активировать это окно:
В отличие от классического Табло, которое изначально пустое, окно локальных переменных заполняется платформой автоматически. Рассмотрим подробнее, какие данные туда попадают:
Перем или созданы путем первого присваивания значения.ЭтотОбъект. Развернув её, мы можем проанализировать значения всех реквизитов данного объекта.Проанализируем пример кода:
Процедура РассчитатьСумму(Цена, Количество)
НДС = 0.20;
ИтоговаяСумма = (Цена * Количество) * (1 + НДС);
КонецПроцедуры
В точке останова на строке КонецПроцедуры в окне локальных переменных автоматически отобразятся Цена, Количество, НДС и ИтоговаяСумма с их текущими значениями. Нам не нужно добавлять их вручную, что значительно ускоряет процесс поиска ошибок.
Часто возникает вопрос: зачем нужно отдельное окно, если есть Табло? Рассмотрим ключевые отличия, которые помогут вам выбрать правильный инструмент в зависимости от ситуации:
Табло мы сами вписываем выражения, и они сохраняются там между сеансами отладки. Окно локальных переменных очищается и заполняется заново при входе в каждую новую процедуру.Табло написана переменная, которая недоступна в данном контексте, вы увидите надпись «Ошибка чтения значения». Окно локальных переменных всегда показывает только то, что «видит» программа в данный конкретный момент.Табло такую операцию проделать крайне сложно.Проанализируем ситуацию, когда в локальных переменных находится ТаблицаЗначений или большой Массив. При попытке развернуть такие объекты прямо в окне локальных переменных, отладчик может на некоторое время «зависнуть», так как ему требуется считать данные всех строк из памяти сервера на клиент. В современных версиях платформы (8.3.15+) этот механизм был оптимизирован, но мы рекомендуем для детального анализа больших таблиц использовать контекстное меню и команду «Показать в отдельном окне».
Если вы вынуждены работать на старых конфигурациях, таких как «1С:Управление производственным предприятием 1.3» на платформе 8.2, используйте классический метод:
Выделите имя переменной в тексте кода и нажмите Shift + F9. В появившемся диалоговом окне нажмите кнопку «Добавить в табло». Это позволит вам следить за изменением значения при пошаговом выполнении (клавиши F10 и F11).
Для тех, кто использует современную среду разработки EDT (1C:Enterprise Development Tools), аналогичное окно называется «Переменные» (Variables). Оно обладает расширенным функционалом, позволяя фильтровать значения по типу или имени, что особенно удобно в сложных проектах.
Таким образом, мы выяснили, что окно «Локальные переменные» — это мощный инструмент автоматизации отладки, доступный в современных версиях платформы 8.3. Его использование позволяет экономить время на ручном вводе имен переменных и дает возможность быстро переключаться между контекстами вызовов.