Перенос выражений
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. При длине строки более 120 символов следует использовать переносы. Строки длиннее 120 символов делать не рекомендуется, за исключением тех случаев, когда перенос невозможен.
2. Длинные арифметические выражения переносятся следующим образом:
- в одной строке может находиться более одного операнда;
- при переносе знаки операции пишутся в начале строки (а не в конце предыдущей строки);
- операнды на новой строке предваряются стандартным отступом, либо выравниваются по началу первого операнда без учета знаков операций.
СуммаДокумента = СуммаБезСкидки
+ СуммаРучнойСкидки
+ СуммаАвтоматическойСкидки;
СуммаДокумента = СуммаБезСкидки
+ СуммаРучнойСкидки
+ СуммаАвтоматическойСкидки;
3.1 Длинные строковые константы рекомендуется переносить с помощью специального символа перевода на новую строку, например:
ТекстЗапроса =
«ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЗаметкиПоПредмету.КоличествоЗаметок КАК КоличествоЗаметок
|ИЗ
| РегистрСведений.ЗаметкиПоПредмету КАК ЗаметкиПоПредмету
|ГДЕ
| ЗаметкиПоПредмету.Предмет = &Предмет»;
ТекстПредупреждения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр(«ru = ‘Обновление адресного классификатора не требуется.
|В программе уже загружены актуальные адресные сведения от %1.'»),
Формат(ДатаПоследнегоОбновленияКЛАДР, «ДЛФ=D»));
ПоказатьПредупреждение(,ТекстПредупреждения);
При этом не следует переносить строки, содержащие текст сообщения пользователю (объект СообщениеПользователю ).
3.2. В общем случае при конкатенации строк знак «+» рекомендуется писать в начале строки, так же как и при переносе арифметических выражений (см. п.2), например:
ПоляОтбора = «Номенклатура,Характеристика,Склад»
+ ДополнительныеПоляОтбора;
3.3. При конкатенации длинных строк знак «+» можно писать в конце строки, чтобы не ломать общее форматирование текста. Например,
ТекстЗапроса = ТекстЗапроса +
«ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка
|ИЗ
| Справочник. Номенклатура КАК Номенклатура»;
4. При необходимости параметры процедур, функций и методов следует переносить следующим образом:
- параметры выравниваются по началу первого параметра, либо предваряются стандартным отступом;
- закрывающая скобка и разделитель операторов «;» пишутся в той же строке, что и последний параметр;
- также допустим и способ форматирования, который предлагает функция автоформатирования в конфигураторе (см. п. 5).
ИменаДокументов = Новый СписокЗначений;
ИменаДокументов.Добавить(Метаданные.Документы.СтрокаВыпискиРасход.Имя,
Метаданные.Документы.СтрокаВыпискиРасход.Синоним);
ИменаДокументов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя,
Метаданные.Документы.РасходныйКассовыйОрдер.Синоним);
ИменаДокументов = Новый СписокЗначений;
ИменаДокументов.Добавить(Метаданные.Документы.СтрокаВыпискиРасход.Имя,
Метаданные.Документы.СтрокаВыпискиРасход.Синоним);
ИменаДокументов.Добавить(Метаданные.Документы.РасходныйКассовыйОрдер.Имя,
Метаданные.Документы.РасходныйКассовыйОрдер.Синоним);
5. Сложные логические условия в Если…ИначеЕсли…КонецЕсли следует переносить следующим образом:
- каждое элементарное условие нужно начинать с новой строки, если длина строки превышает ограничение в 120 символов;
- логические операторы И , ИЛИ ставятся в начале строки, а не в конце предыдущей строки;
- все условия предваряются стандартным отступом, либо выравниваются по началу первого условия, без учета логического оператора (для выравнивания выражений относительно первой строки рекомендуется использовать пробелы).
Если (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозница)
ИЛИ (ВидОперации = Перечисления.ВидыОперацийПоступлениеМПЗ.ПоступлениеРозницаКомиссия) Тогда
Возврат Истина;
КонецЕсли;
Если ((СтруктураМодуля[Индекс].Блок = Перечисления.ТипыБлоковМодулей.ЗаголовокПроцедуры)
ИЛИ(СтруктураМодуля[Индекс].Блок = Перечисления.ТипыБлоковМодулей.ЗаголовокФункции))
И(Найти(ВРЕГ(СтруктураМодуля[Индекс].Текст), КлючБлока)> 0) Тогда
6. Для выполнения перечисленных выше рекомендаций, кроме автоматического форматирования текста программного модуля, в процессе ввода можно также отформатировать уже введенный текст. Для этого необходимо выделить блок текста, который требуется отформатировать, и выбрать пункт меню Текст — Блок — Форматировать . При этом текстовый редактор проанализирует текст модуля и выполнит его форматирование, при котором содержимое каждой синтаксической конструкции будет сдвинуто вправо на величину табуляции независимо от первоначального расположения строк (лидирующих пробелов). В пустые строки устанавливаются знаки табуляции в соответствии с синтаксической конструкцией.
Для автоматической расстановки переносов строк можно воспользоваться приложенной обработкой.
Как убрать перенос строки 1с
СокрЛП(СтрЗаменить(КороткоеОписание, Симв(13), «»)) не работает
в семерке такого нету
Ладно. Тогда может. код ПС — 10.
РазделительСтроки не предлогать ?
есть масса вариантов по замене конца строк
СтрЗаменить(КороткоеОписание, Симв(13) + Симв(10), «»)
если долго долго долго.
Резулт=»»;
Для атом=1 по СтрКоличествоСтрок(ТВояСтрока) Цикл
Резулт=Резулт+СтрПолучитьСтроку(ТВояСтрока,Атом);
КонецЦикла
То пожалуй, то конечно.
7.7 убрать разделители строк
тут веселей:
Убрать разделитель строк.
1с Предприятие 7.7 Убрать перевод строки из ячейки Excel, если в ячейке перенос строк
При импорте из Excel при формировании наименования элемента справочниа Материалы переносится символ переноса строки (вертикальная палка)(в исходной ячейке слова переносятся). Пытался функцией Найти определить место разделителя строк
Найти (Наим, РазделительСтрок). Возвращает число 0. Смотрел СтрКоличествоСтрок (Наим). Выдает = 1. Даже штатная обработка REFIMPORT.ERT записывает элемент справочника с символом переноса строки. Функция глРазложить не помогла.
Подскажите как избавиться от этой напасти.
Удалить символы перевода строки
Файл Excel был сохранен как файл CSV (разделители — запятые) (в Сохранить как есть такой формат). При просмотре видны символы перевода строк. При считывании пытаюсь заменить их на пробелы, но не получается. Делаю так:
Пробовал и Символ(013) — не помогло. Как быть?
5. CheBurator 3116 19.02.08 02:41 Сейчас в теме
1. НужнаяСтрока=СтрЗаменить(ИсходнаяСтрока,РазделительСтрок,» «);
2. считывая строки будешь вместо «одной» строки с символом перевода строки получать одну строку ДО СИМВОАЛ ПЕРЕВОДА СТРОКИ — на нем ТЕКУЩАЯ СТРОКА КОНЧАЕТСЯ.
6. readkey 27.12.18 21:19 Сейчас в теме
Текст = СтрЗаменить(Текст, Символы.ВК + Символы.ПС,»»);
AdmKmpt; anchovy; John_d; Sergey_Borisovi4; ak_nikolay; maksa2005; alexex; Liss111; Pim; jaroslav.h; user997156; VKuser2084886; 1v7; AtPups000; + 14 – Ответить
7. Alex1c 28 09.04.19 22:11 Сейчас в теме
Символы.ВК + Символы.ПС
не работает ((
8. Denis_CFO 48 10.04.19 06:08 Сейчас в теме
(7) СтрЗаменить(Текст, Символ(182),»»);
user878885; chock23; + 2 – Ответить
11. user591316_amixeev 24.11.20 18:36 Сейчас в теме
(7) Нужно двумя отдельными командами
Текст = СтрЗаменить(Текст, Символы.ПС,""); Текст = СтрЗаменить(Текст, Символы.ВК,"");
Feelthis; unknown181538; + 2 – Ответить
12. Xershi 1427 24.11.20 18:43 Сейчас в теме
(11) на самом деле может быть и больше различных символов.
Нужно сначала узнать какой конкретно там символ, а затем его добавить в массив замен и заменить.
10. mixha 18.11.20 04:46 Сейчас в теме
(6)а у меня заработало, спасибо)
9. user635667 137 28.10.20 16:47 Сейчас в теме
НужнаяСтрока = СтрЗаменить(ИсходнаяСтрока,Символы.ПС,"");
13. celeron1000 03.12.21 13:09 Сейчас в теме
(9) У меня такой вариант работает
14. yura371 20.07.22 16:09 Сейчас в теме
Я удалил символ ¶, с помощью СокрЛП
15. Cooler 22 20.07.22 21:29 Сейчас в теме
Я удалил символ ¶, с помощью СокрЛП
Выдающееся достижение! А если еще в середине строки — просто гениальное!
16. Scroudge 2 25.09.22 17:44 Сейчас в теме
после того, как задолбался, написал
Функция ФильтрСтроки(Строка) Строка = СтрЗаменить(Строка,Символы.ПС,""); Строка = СтрЗаменить(Строка,Символы.ВК,""); Строка = СтрЗаменить(Строка,Символы.Таб,""); Строка = СтрЗаменить(Строка,Символы.НПП,""); Строка = СтрЗаменить(Строка,Символы.ПФ,""); Строка = СтрЗаменить(Строка,Символы.ВТаб,""); Строка = СтрЗаменить(Строка,Символ(182),""); Для КодСимвола= 0 По 31 Цикл Строка = СтрЗаменить(Строка,Символ(КодСимвола),""); КонецЦикла; Строка = СокрЛП(Строка); Возврат Строка Конецфункции