Перейти к содержанию

Перенос арифметических выражений

Длинные арифметические выражения с конкатенацией строк переносятся следующим образом:

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

Пример:

ВременнаяСтрока = ВременнаяСтрока 
                  + ", НП (в т. ч.): " 
                  + обФорматСумм(Спецификация.Итог("СуммаНП"));

или

СуммаВсего = СуммаОтгруженныхТоваров
    + СуммаДополнительныхРасходов;

Неправильно:

ВременнаяСтрока = ВременнаяСтрока + 
    ", НП (в т. ч.): " + 
    обФорматСумм(Спецификация.Итог("СуммаНП"));

СуммаВсего = СуммаОтгруженныхТоваров
+ СуммаДополнительныхРасходов;

При конкатенации длинных строк знак "+" можно писать в конце строки, чтобы не ломать общее форматирование текста. Например,

ТекстЗапроса = ТекстЗапроса +
"ВЫБРАТЬ
|   Контрагенты.Ссылка КАК Ссылка
|ИЗ
|   Справочник.Контрагенты КАК Контрагенты";

Особенности

Наличие дополнительного отступа у перенесенных операндов проверяется по умолчанию, может быть отключено с помощью параметра Проверять наличие дополнительных отступов при переносе.

См. также

Экранирование кода

// sonar:WrappingArithmeticExpressions:off
// sonar:WrappingArithmeticExpressions:on