Многие разработчики, работающие со старыми конфигурациями 1С 7.7, задаются вопросом, как перевести интерфейс платформы на английский язык. Давайте разберем этот процесс по шагам, выясним, какие инструменты для этого требуются, и проанализируем типичные ошибки, возникающие при попытке «адаптировать» код под английский синтаксис.
Для того чтобы интерфейс платформы переключился на английский, недостаточно просто добавить параметр в командную строку. 1С 7.7 в стандартной российской поставке содержит ресурсы (меню, диалоги, сообщения) исключительно на русском языке. Для переключения нам потребуется специальный файл библиотеки 1crceng.dll.
1crceng.dll, предназначенный для вашей версии платформы.Bin, где установлен исполняемый файл 1cv7.exe.После того как нужная библиотека добавлена в системную папку Bin, необходимо указать платформе использовать именно ее при старте. Это делается с помощью параметра командной строки.
Используйте ключ /L ENG (или \L ENG, так как Windows зачастую воспринимает оба варианта). Создайте ярлык для запуска 1cv7.exe и в поле «Объект» добавьте указанный параметр после пути к файлу.
Важное примечание: В стандартной российской версии платформы использование только ключа /L без наличия библиотеки 1crceng.dll в папке Bin не даст результата, так как программа не найдет ресурсов для переключения языка.
Здесь часто возникает главный корень заблуждений. Многие полагают, что при запуске 1С на английском языке, встроенные команды и методы объектов платформы (например, Видимость или Доступность) автоматически станут доступны на английском языке (например, Visible или Enable). Это не так.
Давайте разберем ситуацию, когда вы пытаетесь написать в модуле формы код вида:
// ОШИБОЧНЫЙ КОД
Form.cnOpen.ReadOnly(0);
При выполнении этого кода система выдаст ошибку: Aggregate object property has not been found (ReadOnly). Причина проста: в движке 1С 7.7 все имена методов жестко зашиты на русском языке. Интерпретатор платформы ищет в своей внутренней таблице объект Доступность, а не ReadOnly, независимо от того, на каком языке отображается меню программы.
Если вам нужно программно изменить состояние элемента диалога (например, сделать поле доступным или недоступным), всегда используйте стандартные методы, заложенные в ядро платформы 1С 7.7:
Доступность(Режим). Если необходимо сделать элемент доступным, передайте 1, если недоступным — 0.Видимость(Режим).EnableEdit(Режим).Посмотрим на корректный пример реализации:
// КОРРЕКТНЫЙ КОД
// Устанавливаем доступность элемента cnOpen
Form.cnOpen.Доступность(0);
// Устанавливаем видимость элемента
Form.cnOpen.Видимость(1);
Анализируя архитектуру 1С 7.7, мы приходим к выводу, что любая попытка «перевести» синтаксис методов на английский язык приведет к полной неработоспособности конфигурации. Встроенный язык платформы является одноязычным. Имена методов — это идентификаторы, которые движок 1С ожидает видеть именно в том виде, в котором они были написаны при создании архитектуры платформы. Даже если вы установите 1crceng.dll, вы лишь переведете пункты меню и системные сообщения платформы, но не измените логику встроенного языка.
Помните: Локализация интерфейса и синтаксис языка программирования в 1С 7.7 — это две разные вещи. Работайте с кодом, используя стандартные методы, и ваша программа будет работать стабильно и предсказуемо.