Нерастягивающийся пробел с переводом строки

1. PlatonStepan 38 07.09.23 04:42 Сейчас в теме
Как вы справляетесь с макетами, где в ячейке выравнивание по ширине, но при этом есть длинный филлер с подчёркиванием?
При этом, если поле филлера заполнено, то подчёркивания не нужны.

Для примера прикладываю картинку.

В компьютерной типографии есть множество пробельных символов, с различными свойствами ширины, разрыва строки, растяжениями, но в 1С это всё представлено скудно см. примеры в mxl таблице.

Чтобы в одной ячейке с выравниванием по ширине избежать ненужных длинных пробелов перед филлером с подчёркиванием, можно было бы применить пробел нулевой ширины ZWSP, но он не работает в mxl.

Пока пришёл к решению, что можно имитировать филлер с подчёркиванием через сочетание пробела с диакритическим символом подчёркивания - C̲O̲M̲B̲I̲N̲I̲N̲G̲ ̲L̲O̲W̲ ̲L̲I̲N̲E̲ (U+0332)

Статья про всякие символы и пробелы с ссылками: "Типографская раскладка для 60-процентной клавиатуры / Хабр" https://habr.com/ru/articles/659471/
Прикрепленные файлы:
пробельные_символы.mxl
Найденные решения
10. PlatonStepan 38 08.09.23 09:58 Сейчас в теме
У каждого додика своя методика XD
Вот к чему пришёл

Функция ПолучитьФиллер(ДлинаСтроки)
	
	Строка0 = Формат(0, СтрШаблон("ЧЦ=%1; ЧН=; ЧВН=; ЧГ=", Формат(ДлинаСтроки, "ЧН=; ЧГ=")));
	ДиакрПодчеркивания = Символ(818);
	СпецПробел = Символ(8197);
	СтрокаЗамены = СтрШаблон("%1 %2", СпецПробел, ДиакрПодчеркивания);
	
	Возврат СтрЗаменить(Строка0, "0", СтрокаЗамены);
	
КонецФункции
Показать


Результаты приложил, + вариант, предлагаемый форумом.

Спецпробел это
four-per-em space
U+2005 8197
Also known as "mid space". One fourth of an em wide. HTML/XML named entity:  
Прикрепленные файлы:
Таблица.mxl
Sashares; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 07.09.23 06:40 Сейчас в теме
(1)Текст разбить на строки. Буквы последней строки уместить в отдельное объединение ячеек, филлер выполнить в виде нижней границы объединения оставшихся ячеек в строке. Остальные филлеры выполнить так же.
5. PlatonStepan 38 07.09.23 10:56 Сейчас в теме
(2)
текстовые блоки не должны разбиваться на строки, без необходимости.
разбивать блоки на ячейки также считаю не корректно
7. Sashares 35 07.09.23 12:39 Сейчас в теме
(5)Не используя простые/стандартные способы, вы сами себе этим проблемы создаете.

текстовые блоки не должны разбиваться на строки, без необходимости.

Добавить линию после текста это и есть необходимость разбивания блока на строки/ячейки.
То что вы считаете не так, ну ваше дело.
8. PlatonStepan 38 08.09.23 02:53 Сейчас в теме
(7)
1) Незнание "КАК" не означает "НИКАК" :)

Я поднял вопрос о способах реализации именно в описанных рамках, а вы мне про стандарты какие-то...

Это как я спросил бы рецепт плова, а вы начинаете советовать шашлык :)
9. Sashares 35 08.09.23 09:15 Сейчас в теме
(8)
1) Незнание "КАК" не означает "НИКАК" :)

Так никто не говорит, что никак. Может как-то и возможно. Просто в этом нет особого смысла.
Все используют основные возможности табличного документа.
Это сделать легко, это очевидно, это просто в поддержке, если кому-то после вас потребуется вносить изменения в этот макет.

Это как я спросил бы рецепт плова, а вы начинаете советовать шашлык :)


Немного не та аналогия.
Вы спросили как удалить гланды, с пояснением, что открывать рот при этом вы не считаете необходимостью))
3. SlavaKron 07.09.23 09:40 Сейчас в теме
А в чем вообще цимес филлера? Я имею в виду, если форма заполняется из 1С, а не вручную. Есть поле для описания, есть поле для значения.
Прикрепленные файлы:
6. PlatonStepan 38 07.09.23 11:44 Сейчас в теме
(4)
чтобы строка
"телефон: _____________"

была в одну строку, а
"почтовый адрес: ___________________________________________________________________________________________"

не рвался в
"почтовый                                                                     адрес:
_____________________________________________________"
4. Vitaly1C8 07.09.23 10:00 Сейчас в теме
Вместо символа _ использовать в качестве подчеркивания Линию в макете;
Если съедет текст, часть текста будет подчеркнута этой линией;
Чтобы этого не произошло, использовать моноширный шрифт;
10. PlatonStepan 38 08.09.23 09:58 Сейчас в теме
У каждого додика своя методика XD
Вот к чему пришёл

Функция ПолучитьФиллер(ДлинаСтроки)
	
	Строка0 = Формат(0, СтрШаблон("ЧЦ=%1; ЧН=; ЧВН=; ЧГ=", Формат(ДлинаСтроки, "ЧН=; ЧГ=")));
	ДиакрПодчеркивания = Символ(818);
	СпецПробел = Символ(8197);
	СтрокаЗамены = СтрШаблон("%1 %2", СпецПробел, ДиакрПодчеркивания);
	
	Возврат СтрЗаменить(Строка0, "0", СтрокаЗамены);
	
КонецФункции
Показать


Результаты приложил, + вариант, предлагаемый форумом.

Спецпробел это
four-per-em space
U+2005 8197
Also known as "mid space". One fourth of an em wide. HTML/XML named entity:  
Прикрепленные файлы:
Таблица.mxl
Sashares; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот