Довідковий матеріал

Перенесення виразів

1. Якщо довжина рядка перевищує 120 символів, слід використовувати перенесення. Робити рядки довшими за 120 символів не рекомендується, за винятком випадків, коли перенесення неможливе.

1. Якщо довжина рядка перевищує 120 символів, слід використовувати перенесення. Робити рядки довшими за 120 символів не рекомендується, за винятком випадків, коли перенесення неможливе.

2. Довгі арифметичні вирази переносяться таким чином:

  • в одному рядку може міститися більше одного операнда;
  • під час перенесення знаки операцій пишуться на початку рядка (а не наприкінці попереднього рядка);
  • операнди в новому рядку починаються зі стандартного відступу або вирівнюються за початком першого операнда без урахування знаків операцій;
  • параметри в новому рядку починаються зі стандартного відступу або вирівнюються за початком першого параметра.

Приклад:

ИтоговыйПоказатель = ИтоговыйПоказатель 
+ НСтр("ru = ', НП (у т. ч.):'") + " "
+ ФорматСумм(Спецификация.Итог("СуммаНП"));

або

ИтоговыйПоказатель = ИтоговыйПоказатель 
+ НСтр("ru = ', НП (у т. ч.):'") + " "
+ ФорматСумм(Спецификация.Итог("СуммаНП"));

3. Довгі рядкові константи рекомендується переносити за допомогою спеціального символу переходу на новий рядок, наприклад:

Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЗаметкиПоПредмету.КоличествоЗаметок КАК КоличествоЗаметок
|ИЗ
| РегистрСведений.ЗаметкиПоПредмету КАК ЗаметкиПоПредмету
|ГДЕ
| ЗаметкиПоПредмету.Предмет = &Предмет");

або

ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Оновлення адресного класифікатора не потрібне.
|У програму вже завантажено актуальні адресні відомості від %1.'"),
Формат(ДатаПоследнегоОбновленияКЛАДР, "ДЛФ=D"));
Предупреждение(ТекстПредупреждения);

При цьому не слід переносити рядки, що містять текст повідомлення користувачеві (об’єкт СообщениеПользователю).

4. За потреби параметри процедур, функцій і методів слід переносити таким чином:

  • параметри вирівнюються за початком першого параметра або починаються зі стандартного відступу;
  • закривальна дужка та роздільник операторів ";" пишуться в тому самому рядку, що й останній параметр;
  • також допустимий спосіб форматування, який пропонує функція автоформатування в конфігураторі (див. п. 5).

Приклад:

ИменаДокументов = Новый СписокЗначений; 
ИменаДокументов.Добавить(Метаданные.Документы.СтрокаВыпискиРасход.Имя, 
Метаданные.Документы.СтрокаВыпискиРасход.Синоним); 
ИменаДокументов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя, 
Метаданные.Документы.РасходныйКассовыйОрдер.Синоним);

або

ИменаДокументов = Новый СписокЗначений; 
ИменаДокументов.Добавить(Метаданные.Документы.СтрокаВыпискиРасход.Имя, 
Метаданные.Документы.СтрокаВыпискиРасход.Синоним); 
ИменаДокументов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя, 
Метаданные.Документы.РасходныйКассовыйОрдер.Синоним);

5. Складні логічні умови в Если…ИначеЕсли…КонецЕсли слід переносити таким чином:

  • кожну елементарну умову потрібно починати з нового рядка, якщо довжина рядка перевищує обмеження у 120 символів;
  • логічні оператори И, ИЛИ ставляться на початку рядка, а не наприкінці попереднього рядка;
  • усі умови починаються зі стандартного відступу або вирівнюються за початком першої умови без урахування логічного оператора (для вирівнювання виразів відносно першого рядка рекомендується використовувати пробіли.);
  • ключове слово Тогда пишеться в тому самому рядку, що й остання умова.

Приклади:

Если (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозница) 
	ИЛИ (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозницаКомиссия) Тогда 
	Возврат Истина; 
КонецЕсли;
Если ((СтруктураМодуля[Индекс].Блок = Перечисления.ТипыБлоковМодулей.ЗаголовокПроцедуры) 
	ИЛИ(СтруктураМодуля[Индекс].Блок = Перечисления.ТипыБлоковМодулей.ЗаголовокФункции)) 
	И(Найти(ВРЕГ(СтруктураМодуля[Индекс].Текст), КлючБлока)> 0) Тогда

6. Для виконання наведених вище рекомендацій, крім автоматичного форматування тексту програмного модуля, у процесі введення також можна відформатувати вже введений текст. Для цього необхідно виділити блок тексту, який потрібно відформатувати, і вибрати пункт меню Текст — Блок — Форматировать. При цьому текстовий редактор проаналізує текст модуля та виконає його форматування, за якого вміст кожної синтаксичної конструкції буде зміщено вправо на величину табуляції незалежно від початкового розташування рядків (початкових пробілів). У порожніх рядках установлюються знаки табуляції відповідно до синтаксичної конструкції.

Записатися телефоном