Как запустить и отладить минимальный код в 1С 7.7?

Программист 1С v7.7 IT и автоматизация бизнеса
← На главную

Переход в разработку на платформе 1С 7.7 может вызвать определенные трудности, особенно если у вас уже есть опыт работы с современными языками программирования, такими как C#, или более новыми версиями платформы 1С 8.x. В этой статье мы подробно разберем, как создать свою первую обработку, написать корректный код для версии 7.7 и запустить процесс отладки.

Различия в архитектуре: почему F5 не всегда помогает

Проанализируем ситуацию, с которой сталкивается начинающий разработчик. В современных IDE нажатие клавиши F5 обычно компилирует проект и запускает его в режиме отладки с выводом в консоль. В 1С 7.7 логика иная. Конфигуратор — это среда проектирования метаданных и написания кода, а исполняется этот код в отдельном приложении — "1С:Предприятие".

Когда мы нажимаем F5 в конфигураторе, система просто запускает клиентское приложение. Если вы создали внутреннюю обработку в дереве конфигурации, вам придется найти ее в интерфейсе запущенной программы (через меню, которое нужно предварительно настроить). Чтобы ускорить процесс, мы разберем более эффективный метод — использование внешних обработок.

Шаг 1: Создание внешней обработки

Рассмотрим по шагам, как создать минимальный исполняемый файл, который не требует изменения всей конфигурации:

  1. В режиме Конфигуратора выберем пункт меню Файл -> Новый.
  2. В появившемся списке выберем Внешняя обработка. Система создаст файл с расширением .ert.
  3. Сохраним этот файл на диск под понятным именем, например, TestMetadata.ert.

Использование внешних обработок — это стандарт де-факто при разработке и отладке в 7.7. Это позволяет изменять код и проверять его работу без перезапуска всей системы и без необходимости сохранения (принятия) изменений в основной конфигурации.

Шаг 2: Создание интерфейса и привязка кода

В 1С 7.7 код не выполняется "сам по себе" при открытии файла (если он не написан в специальной предопределенной процедуре). Нам нужно создать кнопку, которая инициирует выполнение нашего алгоритма.

  1. Перейдем на закладку Форма нашей новой обработки.
  2. Разместим на форме элемент управления Кнопка.
  3. Щелкнем правой кнопкой мыши по кнопке и выберем Свойства.
  4. На закладке Дополнительно найдем поле Формула. Это критически важный момент: в 1С 7.7 именно в это поле записывается имя процедуры, которая должна выполниться при нажатии. Напишем там: Сформировать().

Теперь перейдем на закладку Модуль (внизу окна обработки) и опишем саму процедуру.

Шаг 3: Написание кода (синтаксис 7.7 против 8.x)

Типичная ошибка при переходе с 1С 8.x — использование конструкций вроде Для Каждого или обращение к коллекции Метаданные.Справочники. В версии 7.7 объектная модель метаданных плоская и доступ к ней осуществляется иначе.

Разберем пример кода, который выведет количество справочников и их идентификаторы в окно сообщений:


Процедура Сформировать()
    // В 7.7 количество объектов метаданных получается вызовом метода без параметров
    КолвоСправочников = Метаданные.Справочник();
    
    Сообщить("Всего справочников в системе: " + КолвоСправочников);
    
    // Используем классический цикл Для
    Для Номер = 1 По КолвоСправочников Цикл
        // Доступ к конкретному объекту метаданных по индексу
        ИмяСправочника = Метаданные.Справочник(Номер).Идентификатор;
        Сообщить("Справочник №" + Номер + ": " + ИмяСправочника);
    КонецЦикла;
КонецПроцедуры

Проанализируем важный нюанс: функция Сообщить() выводит данные не в консоль конфигуратора, а в специальное Окно сообщений в пользовательском режиме "1С:Предприятие". Если вы его не видите, проверьте меню Вид -> Окно сообщений в запущенной программе.

Шаг 4: Запуск и отладка

Выясним, как правильно запустить отладку, чтобы иметь возможность идти по шагам:

  1. Установка точки останова: В модуле обработки установим курсор на строку внутри процедуры Сформировать() и нажмем F9. Появится красная отметка.
  2. Запуск системы: Нажмем F5 в конфигураторе. Запустится "1С:Предприятие".
  3. Открытие обработки: В запущенном предприятии выберем Файл -> Открыть и укажем наш файл TestMetadata.ert.
  4. Выполнение: Нажмем кнопку на форме обработки.

В этот момент фокус автоматически вернется в конфигуратор (если он был запущен в режиме отладки), и выполнение программы остановится на вашей точке. Теперь мы можем использовать стандартные инструменты отладки:

Особенности работы с типами данных

Для разработчика на C# важно помнить, что 1С 7.7 — это язык с мягкой типизацией. Рассмотрим пример из обсуждения: Сообщить("Текст: " + Значение). Если Значение является числом, система автоматически приведет его к строке при сложении со строковым литералом. Явное использование функции Строка() не является ошибкой, но часто избыточно.

Однако будьте осторожны: если вы допустите ошибку в имени метода (например, напишете Метаданные.Справочники() вместо Метаданные.Справочник()), конфигуратор не выдаст ошибку при сохранении. Ошибка "Объект не обнаружен" возникнет только в момент выполнения кода. Именно поэтому навык работы с отладчиком и использование внешних файлов .ert являются критически важными для выживания в экосистеме 7.7.

← На главную