Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 18:41

Редактирование модулей

Автор DF, 15 июл 2008, 10:01

0 Пользователей и 1 гость просматривают эту тему.

DF

Редактирование модулей чаще всего выполняется в процессе создания формы объекта метаданных, а также при разработке модулей документов и расчетов. В этом случае текстовый редактор выступает как составная часть редактора форм и вызывается щелчком мыши на закладке «Модуль» в окне редактора форм.

Для редактирования глобального модуля текстовый редактор вызывается в виде отдельного окна, вне редактора форм. Для этого необходимо открыть окно «КонфигурацияМетаданные» и в меню «Действия» главного меню Конфигуратора выбрать пункт «Глобальный модуль».

Процесс редактирования текста программного модуля ничем не отличается от процесса редактирования текстовых документов — вы можете использовать все возможности редактора текстов, описанные ниже в п. «Ввод и редактирование текста».

В этом разделе будут описаны специфические режимы редактора текстов, которые доступны при редактировании модулей.


DF

Выделение цветом синтаксических конструкций
Для удобства редактирования текстов модулей текстовый редактор имеет функцию выделения цветом элементов встроенного языка системы 1С:Предприятие — ключевых слов, констант различных типов, операторов, комментариев и других. Цвета, которыми будут выделяться разные типы синтаксических конструкций, можно установить в режиме «Настройка параметров системы» (пункт «Параметры» меню «Сервис» главного меню Конфигуратора).

В общем случае, когда текстовый редактор вызывается для редактирования текста модуля, эта функция включается автоматически. Однако в отладочных целях текст модуля может быть расположен во внешнем текстовом файле. Тогда при открытии такого файла Конфигуратор не распознает модуль и будет считать его обычным текстовым документом. В этом случае при редактировании текста будут недоступны выделение цветом синтаксических конструкций и автоматическое форматирование текста модуля. Чтобы указать Конфигуратору, что редактируется модуль, а не текстовый документ, служит пункт «Текст модуля» в меню «Текст» главного меню программы, выполняющий роль переключателя.


DF

Когда он включен (слева от слов «Текст модуля» в меню появляется отметка ), текстовый редактор считает закруженный в него текст текстом модуля и выделяет цветом найденные синтаксические конструкции.

Если этот режим включен при редактировании обычного текстового документа, для вывода текста будет также использоваться шрифт, установленный для текстов модулей в режиме «Настройка параметров системы» (меню «Сервис» главного меню Конфигуратора).

Настройка параметров системы 1С:Предприятие позволяет отключить режим выделения цветом синтаксических конструкций, тогда выбор пункта «Текст модуля» не включит выделение цветом синтаксических конструкций модуля, а будет использовать только установки шрифта модуля и шага табуляции.

Если режим выделения цветом синтаксических конструкций выключен, для вывода текста используются цвета операционной системы.

Кроме того, в режиме «Настройка параметров системы» можно включить признак «Загружать текст как модуль», тогда любой текстовый документ, открываемый в Конфигураторе, будет автоматически считаться текстом модуля.


DF

Форматирование модуля
Редактор текстов системы 1С:Предприятие включает ряд режим, облегчающих разработку модулей

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


DF

Процедура Сформировать()

. . .

// Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;

// Подготовка к заполнению выходных форм данными запроса

Таб = СоздатьОбъект("Таблица");

Таб.ИсходнаяТаблица("Сформировать") ;

// Заполнение полей "Заголовок"

Таб.ВывестиСекцию("Заголовок") ;

Пока Запрос.Группировка("Товар") = 1 Цикл

// Заполнение попей Товар

Таб.ВывестиСекцию("Товар");

КонецЦикла;

// Заполнение полей "Итого"

Таб.ВывестиСекцию("Итого");

// Вывод заполненной формы

Таб.Опции(1, 0, 1, 0) ;

Таб.Показать("Сформировать", "");

КонецПроцедуры

DF

В данном фрагменте строки, расположенные внутри структурных операторов Если...Тогда...КонецЕсли и  Пока...Цикл...КонецЦикла, смещены вправо, чтобы подчеркнуть их «вложенность». Текст модуля, отформатированный с использованием синтаксического отступа, удобнее в восприятии и проще в отладке.

Текстовый редактор системы 1С:Предприятие предоставляет функции автоматического форматирования управляющих конструкций встроенного языка. В режиме установки параметров системы (меню «Сервис» главного меню Конфигуратора, закладка «Модули») можно выбрать один из двух видов отступа.

Синтаксический отступ выполняет автоматическое форматирование текста модуля, смещая вправо текст, расположенный внутри управляющих конструкций типа Если...Тогда...КонецЕсли, Пока...Цикл...КонецЦикла и подобных. Смещение выполняется за счет добавления в начало строк необходимого количества знаков табуляции.

«Обыкновенный» отступ автоматически выравнивает текст строки по левой границе предыдущей строки.

Если автоотступ отключен, никаких дополнительных символов в текст добавляться не будет.

Кроме форматирования текста модуля в процессе ввода, можно также автоматически отформатировать уже введенный текст. Для этого необходимо выделить блок текста, который требуется отформатировать (о выделении блока текста см. п. «Выделение текста» на стр. 16), и выбрать пункт «Форматировать» из подменю «Блок» меню «Текст» главного меню Конфигуратора.

Блок текста также можно целиком сдвигать вправо или влево с шагом табуляции. Для этого необходимо выделить блок текста и выбрать команду «Сдвинуть вправо» («Сдвинуть влево») из подменю «Блок» меню «Текст» главного меню Конфигуратора.

Текстовый редактор системы 1С:Преднриятис осуществляет автоматическое удаление пробелов на концах строк. Это выполняется при записи модуля.


DF

Вставка/удаление признака комментария
При отладке модулей зачастую бывает необходимо на время «отключить» некоторые строки модуля, чтобы они не исполнялись при работе системы. Обычно это выполняется путем превращения таких строк в комментарии — добавлением перед ними признака комментария «//». Позднее, чтобы опять «включить» закомментированные строки в работу, признак комментария удаляется.

Для выключения (и последующего включения) больших фрагментов модуля удобно использовать режим автоматической установки признаков комментария у всех строк выделенного блока.

Для этого следует выделить блок текста и выбрать пункт «Добавить комментарий» («Удалить комментарий») из подменю «Блок» меню «Текст» главного меню Конфигуратора.

При удалении комментария, если перед строкой установлено несколько признаков комментария, удаляется только один.


DF

Переход по процедурам и функциям модуля
При значительном количестве имеющихся в модуле описаний процедур и функции удобно использовать режим поиска процедур, который предоставляет редактор текстов системы 1С:Прсдприятие.

Если воспользоваться пунктом «Процедуры и функции модуля» из меню «Действия» главного меню Конфигуратора, на экран будет выдан диалог, содержащий список всех процедур и функции редактируемого модуля.

Имена процедур и функций в списке выдаются в порядке их расположения в модуле. Если включена опция «Сортировка», список будет отсортирован по алфавиту.

Для перехода к нужной процедуре или функции необходимо выделить ее имя в списке и нажать кнопку «Перейти».


DF

Синтаксический контроль модуля
Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций встроенного языка.

Для выполнения синтаксического контроля модуля необходимо воспользоваться пунктом «Синтаксический контроль» из меню «Действия» главного меню Конфигуратора. При синтаксическом контроле неглобального модуля сначала будет выполнен контроль глобального модуля, а затем — редактируемого модуля.

При наличии ошибок в модуле их список будет выдан в окне сообщений с указанием номеров строк модуля, в которых обнаружены ошибки.

Для перехода к строке модуля, вызвавшей ошибку, следует дважды щелкнуть мышью по сообщению об ошибке в окне сообщений. Если модуль, содержащий ошибку, закрыт, он будет открыт автоматически.

Если ошибки не обнаружены, в окно сообщений будет выдано сообщение об отсутствии ошибок в модуле.

В режиме настройки параметров Конфигуратора (пункт «Параметры» меню «Сервис» главного меню Конфигуратора) можно включить режим автоматической проверки модуля. В этом случае, если модуль был изменен, при закрытии окна модуля или при сохранении конфигурации в целом будет выполняться синтаксический контроль модуля.

Режим автоматической проверки удобно использовать, когда производится отладка какого-либо элемента конфигурации, и часто выполняется запуск системы 1С:Предприятие при помощи пункта «1С:Предприятие» из меню «Сервис» главного меню Конфигуратора.

Для синтаксического контроля всех модулей конфигурации за раз следует выбрать пункт «Полный синтаксический контроль» из меню «Конфигурация» главного меню Конфигуратора. Сообщения о найденных ошибках будут выдаваться в окно сообщений. В дальнейшем к строкам модулей с ошибками можно переходить двойным щелчком мыши, как это описано выше.

В процессе исправления ошибок в модулях можно получить подсказку по встроенному языку, вызвав Синтакс-Помощник и найдя в нем описание нужного элемента встроенного языка (см. п. «Синтакс-Помощник», стр. Ошибка! Закладка не определена.).

Подсказку по конкретному элементу языка (оператору, процедуре функции, атрибуту, методу) можно получить, если поместить курсор в модуле па этот элемент языка и нажать клавиши Ctrl+F1. В Синтакс-Помощнике будет выдано описание выбранного элемента встроенного языка.


DF

Синтаксический контроль запросов
В редактируемом модуле отдельно может быть выполнен синтаксический контроль запросов (см. книгу «1С:Преднриятие. Описание встроенного языка»).

Для выполнения синтаксического контроля запросов необходимо воспользоваться пунктом «Синтаксический контроль запросов» из меню «Действия» главного меню Конфигуратора.

После выбора этого пункта на экран будет выдан список существующих в редактируемом модуле запросов.

В этом списке следует выделить имя запроса и нажать кнопку «ОК» для выполнения контроля.

Поиск существующих в модуле запросов производится по символьной строке вида

//{{ЗАПРОС(<имя_запроса>)

поэтому рекомендуется оставлять эти строки в тексте запроса, полученном при помощи Конструктора запросов, или добавлять их в собственноручно составленный запрос.

При обнаружении ошибок в выбранном запросе курсор будет установлен на первую строку запроса, а в окне сообщений будет выдан список ошибок с указанием номеров строк запроса (не модуля!), в которых эти ошибки обнаружены. Номера строк отсчитываются от первой строки запроса.


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск