Ширина табуляции в 1с что это
Редактор текста и модуля — это один из инструментов разработки. Он используется для редактирования текстовых документов и для редактирования программных модулей конфигурации.
Редактор текстов и модулей предоставляет пользователю все основные функции, необходимые при редактировании как простых текстов, так и текстов программных модулей. Конфигуратор 1С:Предприятия 8 использует этот редактор в двух режимах:- для редактирования текстовых документов;
- для редактирования текстов модулей (как составную часть редактора формы).
Редактирование текстовых документов
В режиме редактирования текстовых документов редактор поддерживает все стандартные функции редактирования текста:- создание нового документа или открытие одного из существующих документов;
- ввод и редактирование текста;
- сохранение отредактированного текста;
- печать текста.
В процессе редактирования текста можно переходить к конкретной строке документа, сдвигать блоки текста на позицию табуляции, выполнять поиск и замену и использовать закладки. Закладки могут быть размещены на любой строке текста:
В дальнейшем быстрый переход по закладкам возможен по сочетанию клавиш или команде меню:
Редактирование текстов модулей
Редактирование текстов модулей может выполняться в процессе создания формы объекта прикладного решения, непосредственно при разработке модулей объектов или всего приложения, и при редактировании внешнего текстового файла, содержащего текст модуля.
Помимо стандартных действий, присущих любому текстовому редактору, редактор текстов и модулей имеет ряд специфических особенностей:
Выделение цветом синтаксических конструкций
Для удобства редактирования текстов модулей редактор выделяет цветом элементы встроенного языка: ключевые слова, языковые константы, операторы, комментарии и пр.:
Разработчик может использовать цвета выделения, установленные по умолчанию, или настроить их самостоятельно. В общем случае система сама отслеживает необходимость включения режима выделения цветом. Однако в ситуации, когда система «не знает» о том, что редактируется текст модуля (например, если редактируется внешний текстовый файл, содержащий текст модуля), разработчик может включить режим выделения цветом вручную, используя меню конфигуратора:
Группировка
При просмотре модулей редактор позволяет объединять некоторые синтаксические конструкции языка в группы, сворачивать и разворачивать их. Использование группировки синтаксических конструкций позволяет лучше воспринимать различные части текста, а также переносить и копировать группы целиком:
Свернутый текст замещается специальным маркером, который позволяет просмотреть содержимое свернутой группы в виде подсказки:
Разработчику предоставляется возможность настраивать режим группировки, указывая, какие синтаксические конструкции могут группироваться, и каким должно быть исходное состояние группировки (свернутая или развернутая) при открытии документа. Таким образом, он может настроить, например, использование группировок «по максимуму»:
Области
Разработчик может выделять произвольные области текста, группировать и сворачивать их подобно тому, как сворачиваются инструкции циклов, условий, процедур и функций.
Каждой области текста, которую выделяет разработчик, он может дать собственное имя. Это позволяет простым и понятным образом выделять части модуля, имеющие сходный смысл.
Области могут быть вложены друг в друга или в другие группируемые конструкции языка.
Операции с блоками
Редактор позволяет выполнять ряд операций над выделенными блоками текста модуля: автоматическое форматирование, изменение отступа, добавление/удаление комментариев и переносов строк.
Форматирование модуля
Хорошим стилем написания модулей считается использование синтаксического отступа для выделения управляющих конструкций встроенного языка. Редактор позволяет автоматически форматировать текст при его вводе, и кроме этого, выполнять автоматическое форматирование уже введенного текста.
Результат автоматического форматирования:
Увеличение/уменьшение отступа
Наряду с автоматическим форматированием всего выделенного текста, редактор поддерживает также операции сдвига выделенного блока вправо или влево на шаг табуляции.
Это облегчает ручное форматирование больших фрагментов кода.
Добавление/удаление комментариев
Также редактор содержит очень удобную для разработчика функцию автоматической (одним нажатием мыши) установки и снятия комментариев на выделенный текст. Такая возможность часто используется при отладке модулей:
Добавление/удаление переноса строки
Использование добавления и удаления переноса строки часто применяется при переносе текстов запроса между модулем и, например, консолью запросов.
Таким образом, отладив запрос в консоли запросов, разработчик может просто скопировать текст запроса из консоли, вставить его в модуль и одним движением добавить перенос строки ко всем строкам текста запроса:
Переход по процедурам и функциям
В ситуации, когда модуль содержит большое количество процедур и функций, удобно использовать режим поиска процедур, который поддерживается редактором. Процедуры и функции отображаются в отдельном окне в порядке их расположения в модуле, однако разработчик может отсортировать их по алфавиту. Пиктограммы слева от названия обозначают имеющиеся процедуры и функции, а имена в угловых скобках соответствуют предопределенным процедурам, которые в настоящий момент отсутствуют, но могут быть размещены в данном модуле.
Если установить курсор на той процедуре, которая еще отсутствует в модуле, и нажать Перейти, конструктор автоматически вставит в текст модуля заголовок предопределенной процедуры.
Переход к определению процедур и функций
Редактор позволяет автоматически переходить к определению процедуры или функции, использованной в тексте модуля. Для этого достаточно установить курсор на имени нужной функции в теле модуля и выполнить команду контекстного меню или нажать «горячую» клавишу. В окне редактора будет открыт текст искомой процедуры или функции:
Контекстная подсказка
Редактор предоставляет средство контекстного ввода выражений с использованием системных объектов, их свойств, методов и пр. В процессе ввода текста или при нажатии комбинации клавиш редактор выводит контекстный список, позволяющий выбрать нужное свойство, метод, функцию и т. д., что позволяет быстро и правильно набирать тексты модулей:
Контекстная подсказка также работает и для параметров некоторых методов, если эти параметры задаются строковыми литералами.
Копирование имен объектов и реквизитов
При написании текста модуля разработчик может просто перетаскивать мышью имена объектов или их реквизитов из дерева метаданных в нужное место модуля:
Проверка модуля
Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций встроенного языка, корректность обращений к методам и свойствам объектов «через точку», а также на корректность некоторых параметров, имеющих тип «Строка»:
Кроме этого конфигуратор поддерживает выполнение полной проверки всех модулей, содержащихся в прикладном решении.
В процессе работы с модулем разработчик имеет возможность получать контекстную подсказку по встроенному языку, используя синтакс-помощник. Для этого достаточно установить курсор на интересующий элемент языка и нажатием комбинации клавиш (или по контекстному меню) перейти к описанию этого элемента языка в синтакс-помощнике.
Ограничение доступа к модулю
Для большинства модулей прикладного решения можно установить пароль доступа, защищающий авторские права разработчика конфигурации. При попытке открыть защищенный модуль выводится диалог ввода пароля:
Использование шаблонов
При редактировании текстовых документов и модулей конфигуратор предоставляет разработчику возможность использовать механизм шаблонов для автоматической подстановки часто используемых фрагментов текста.
Строки сравниваются посимвольно по коду символа, для ясности несколько примеров "Строка12" < "Строка2", "8.3.9.2000" > "8.3.8", "8.3.9.2000" > "8.3.10"
С учетом регистра можно сравнить строки через знаки сравнения как в примерах
Сравнение без учета регистра можно произвести функций СтрСравнить. Поддерживается с платформы 8.3.6.
- -1 - первая строка меньше второй
- 1 - первая строка больше второй.
- 0 - первая строка равна второй
Преобразование в строку (Строка, Формат)
В языке 1С есть автоматическое преобразование типа когда все части выражения приводятся к типу первого выражения
Преобразование функцией Строка
при преобразовании появляется символ неразрывный пробел, а он обычно не нужен
"Правильнее" будет преобразовывать функцией формат, которая приводит к строке простые типы и можно воспользоватся конструктором
Строка на разных языках НСтр
Форматирование строки по шаблону СтрШаблон. Поддерживается с платформы 8.3.6.
Очень полезная функция которая позволяет избежать соединения строк и сделать текст более читабельным
Функции СтрСоединить, СтрРазделить. Поддерживается с платформы 8.3.6.
Очень полезные функции улучшают читаемость кода.
СтрРазделить удобна когда необходимо разобрать строку с разделителями, например CSV файл, разбор текста на слова, строки
Аналогично, только наоборот работает функция СтрСоединить, преобразуя массив к строке.
Другие функции работы со строками, которые могут быть полезныСтрСократить (Текст, Количество, Многострочная = Ложь) - сокращает текст до заданной длины заменяя окончание на .
ЭтоКорректныйИдентификатор (Строка) - Проверяет является ли строка корректным идентификатором, строка вида СуммаКонтрагента, _Идентификатор
Когда в 1с встает вопрос разбора большого текста это уже зоопарк из СтрДлина, Сред, СтрНайти для повышения читаемости программ для подобных задач использую свои функции: РазборПрочитатьЦелоеЧисло, РазборПрочитатьШестнадцатеричноеЧисло, РазборПрочитатьНезначимые, РазборПрочитатьИдентификатор,
РазборПропуститьНаборСимволов, РазборПрочитатьСимвол, РазборПрочитатьДоСимвола, РазборНайтиТекст
Управляющие элементы закладки "Интерфейс" позволяет определить используемые экранные шрифты и задать расположение панелей инструментов в окнах.
Настройка шрифтов.
Для установки экранного шрифта, используемого в каком-либо режиме работы системы 1С:Предприятие, следует выбрать в списке наименование этого режима и нажать кнопку "Выбрать шрифт". На экран будет выдан стандартный диалог выбора шрифта. В этом диалоге следует указать наименование, стиль и размер шрифта. Для подтверждения выбора шрифта необходимо нажать кнопку "ОК".
Описание шрифта, установленного для того или иного режима выводится в рамке "Установленный шрифт" справа от списка.
Строки в списке режимов программы имеют следующий смысл:
Пиктограммы в меню.
Многие пункты меню, отвечающие за наиболее часто выполняемые действия, дублируются в соответствующих панелях инструментов. Такие действия имеют свое визуальное представление в виде пиктограммы (небольшого рисунка на кнопке панели инструментов). Программа позволяет включить показ таких пиктограмм в меню, т. е. отражать их слева от соответствующего пункта меню. Для этого установите флажок "Показывать пиктограммы в меню".
Текст
Управляющие элементы закладки "Текст" предназначены для управления встроенным текстовым редактором системы 1С:Предприятие.
Цвет закладок.
Параметр позволяет установить цвет вводимых в текст закладок. Более подробно – см. приложение с описанием текстового редактора.
Открывать текст как модуль.
Параметр, который задает необходимость воспринимать текст, открываемый в текстовом редакторе, как программный модуль, что приведет к использованию соответствующих настроек синтаксического выделения цветом, ширины табуляции и т. д. Отметим, что настройка отображения модулей программы производится только при запуске в режиме "Конфигуратор".
Использование текстового редактора для просмотра программных модулей в режиме работы пользователя (а не в режиме "Конфигуратор") может помочь администратору системы или разработчику конфигурации задачи при отладке того или иного алгоритма обработки данных. Конечным пользователем такая возможность не используется.
Перетаскивание текста.
Включает или отключает возможность "перетаскивания" мышью выделенного текста.
Ширина табуляции.
Параметр задает величину ширины табуляции в пробелах.
Автоотступ.
Включает или отключает режим автоотступа. При включении режима ввод новой строки клавишей Enter приводит к вводу в ней ведущих пробелов (табуляций), используя предыдущую не пустую строку как образец.
Отметим, что этот параметр не влияет на поведение текстового редактора, когда текст отображается как программный модуль.
Тексты модулей
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. Тексты модулей должны быть написаны на русском языке.
Исключение составляют веб-сервисы, имена методов и параметров которых рекомендуется задавать на английском языке (например, метод TestConnection веб-сервиса EnterpriseDataExchange ), а также различные идентификаторы сторонних информационных систем, например, названия полей «внешних» структур данных, которые программно обрабатываются в коде.
1.1. В текстах модулях не допускается использовать букву "ё".
1.2. Кроме того, в текстах модулей не допускается использовать неразрывные пробелы и знак минус "-" в других кодировках (короткое, длинное тире и т.п.).
Такие символы часто оказываются в тексте модулей при копировании из офисных документов и приводят к ряду сложностей при разработке. Например, не работает поиск фрагментов текста, включающих «неправильные» минусы и пробелы; некорректно выводятся подсказки типов параметров процедур и функций в конфигураторе и расширенная проверка в 1С:EDT; указание «неправильного» минуса в выражениях приведет к синтаксической ошибке.
Методическая рекомендация (полезный совет)
2. Программные модули не должны иметь неиспользуемых процедур и функций.
3. Программные модули не должны иметь закомментированных фрагментов кода, а также фрагментов, которые каким-либо образом связаны с процессом разработки (отладочный код, служебные отметки, например, TODO, MRG и т.п.) и с конкретными разработчиками этого кода. Например, недопустимо оставлять подобные фрагменты в коде после завершения отладки или рефакторинга:
Правильно: после завершения отладки или рефакторинга удалить обработчик ПередУдалением из кода.
4. Тексты модулей оформляются по принципу "один оператор в одной строке". Наличие нескольких операторов допускается только для "однотипных" операторов присваивания, например:
5. Текст модуля должен быть оформлен синтаксическим отступом. Для синтаксического отступа используется табуляция (а не пробелы, чтобы при смене числа знаков в табуляции выравнивание текста сохранялось).
Размер табуляции - стандартный (4 символа).
5.1. С крайней левой позиции должны начинаться только:
5.2. Процедуры НачатьТранзакцию и ЗафиксироватьТранзакцию не являются операторными скобками, поэтому текст внутри этих процедур не сдвигается.
7.1. Тексты модулей могут содержать комментарии . Комментарии должны быть достаточно понятными, чтобы пояснять работу модуля или комментируемого оператора. Тексты комментариев должны составляться по правилам русского языка, в деловом стиле, быть эмоционально сдержанными и не содержать слов, не относящихся к функциональности программы.
7.2. Небольшие комментарии пишутся в конце строки, которую комментируют, например:
7.3. Большие комментарии или комментарии к фрагменту кода пишутся перед комментируемым кодом в отдельной строке. Текст выравнивается по левой границе комментируемого фрагмента. Между символами комментария "//" и текстом комментария должен быть пробел.
8. Тексты больших процедур и функций можно разбивать на отдельные сворачиваемые области. При этом имена областей должны удовлетворять требованиям стандарта Правила образования имен переменных
Для автоматического форматирования кода можно воспользоваться обработкой автоформатирования кода и локализации.
Читайте также: