![]() |
![]() |
![]() |
|
скорректировать разницу между пробелами и символами | ☑ | ||
---|---|---|---|---|
0
Stim213
19.09.11
✎
09:25
|
Имеется значения колонок таблицы. Колонок всего 2. Что-то типа прайс-листа:
молоток 100р дисковая метательная пила 500р необходимо программно дополнить строки пробелами, чтобы колонки выровнялись относительно друг друга, так: молоток 100р дисковая метательная пила 500р Если задавать количество "пробелов" фиксированным значением, скажем, дополнением до 50симв, то колонка "поплывет" - ширина пробелов и символов разная в текстовом поле 1С. 20 пробелов ~ 12 символов. Как сделать так, чтобы вторая колонка точно выровнялась по центру? Отношение ширины пробела к ширине символа точно не известно. |
|||
1
Stim213
19.09.11
✎
09:26
|
вот, кста и пример - когда редактировал, вторая табличка имела одинаковое количество символов в строке. И она поплыла
|
|||
2
andrewks
19.09.11
✎
09:26
|
моноширинный шрифт
|
|||
3
lxs
19.09.11
✎
09:27
|
Убрать нах все пробелы и сделать разделителем точку с запятой, выгружать в csv. Еще вопросы?
|
|||
4
FIXXXL
19.09.11
✎
09:27
|
(0) сделать макет с переносом в названии и центрировании значений во второй колонке не предлагать?
|
|||
5
Stim213
19.09.11
✎
09:29
|
(4)не предлагать. Эту текстовую табличку надо вложить в тело эл. письма. Вложения не предлагать.
|
|||
6
Stim213
19.09.11
✎
09:29
|
(2)точно. ща буду пробовать
|
|||
7
andrewks
19.09.11
✎
09:29
|
|
|||
8
lxs
19.09.11
✎
09:30
|
(5) использовать html не предлагать?
|
|||
9
unregistered
19.09.11
✎
09:30
|
Либо использовать табличный документ, либо моноширинные шрифты. Третьего не дано.
|
|||
10
Stim213
19.09.11
✎
09:32
|
(8) теги не сработают
|
|||
11
lxs
19.09.11
✎
09:32
|
+(8)
<table> <tr> <td>молоток</td> <td>100р</td> </tr> </table> |
|||
12
lxs
19.09.11
✎
09:32
|
(10) Почему? Твой почтовик не умеет отправлять письма в html-формате?
|
|||
13
Stim213
19.09.11
✎
09:33
|
(11) нифига
|
|||
14
lxs
19.09.11
✎
09:35
|
Насколько мне известно, при использовании ИнтернетПочта и Exchange отправка в html реальна. А при приеме в тот же аутлук сообщение будет отображаться в том формате, в каком оно было отправлено, если только очень умный пользователь не отключил сам руками это в настройках.
|
|||
15
lxs
19.09.11
✎
09:35
|
(13) что нифига? обоснуй.
|
|||
16
Stim213
19.09.11
✎
09:35
|
(12)мне из 1С надо отправлять письма. через стандартные типовые процедуры. Там нет html, там только текст
|
|||
17
andrewks
19.09.11
✎
09:36
|
если ограничиваться plain-text'ом и моноширинным шрифтом, надо помнить, что у юзеров на "той" стороне, принимающих почту, шрифт отображения тела письма может быть произвольным
|
|||
18
Stim213
19.09.11
✎
09:36
|
(15) напрямую - не форматирует
|
|||
19
Stim213
19.09.11
✎
09:37
|
(9) а как же вариант - скорректировать все пробелами. главное - точно их как-то высчитать
|
|||
20
lxs
19.09.11
✎
09:39
|
(16) из 1С стандартными типовыми.. это используя документ Электронное письмо что ли?
|
|||
21
andrewks
19.09.11
✎
09:41
|
(19) это не вариант
|
|||
22
Stim213
19.09.11
✎
09:42
|
(20) нет, используя типовые процедуры и функции отправки писем, типа ЭлектроннаяПочта.ОтправитьПочтовоеСообщение(УчетнаяЗапись, ПараметрыПисьма)
|
|||
23
andrewks
19.09.11
✎
09:43
|
вариант: вывести в таблицу, сохранить в png, прикрепить к письму
|
|||
24
andrewks
19.09.11
✎
09:43
|
или в pdf
|
|||
25
Stim213
19.09.11
✎
09:44
|
(23)(24) нет. Там прикреплений, именно пдф -очень много. Табличку нужно именно в тело письма
|
|||
26
andrewks
19.09.11
✎
09:48
|
короче, явно указать шрифт ты только в html сможешь.
но тогда лучше табличку делать |
|||
27
lxs
19.09.11
✎
10:07
|
Конфа какая?
|
|||
28
FIXXXL
19.09.11
✎
15:06
|
вот еще как делал:
Иначе //в текстовый док МаксСтр = 0; //самая длинное название Для Каждого стр Из ВыгрузкаТабДок Цикл Если МаксСтр < СтрДлина(СокрЛП(стр.НаименованиеПолное)) Тогда МаксСтр = СтрДлина(СокрЛП(стр.НаименованиеПолное)); Иначе Продолжить; КонецЕсли; КонецЦикла; ТабДок = Новый ТекстовыйДокумент; Для Каждого стр Из ВыгрузкаТабДок Цикл СокрНаименование = СокрЛП(стр.НаименованиеПолное); ФорматНаименование = ДобавитьПробеловКСтроке(СокрНаименование, МаксСтр-СтрДлина(СокрНаименование)); ТабДок.ДобавитьСтроку(""+ФорматНаименование+" "+стр.UID); КонецЦикла; КонецЕсли; Функция ДобавитьПробеловКСтроке(ИсходнаяСтрока, КоличествоПробелов) Если КоличествоПробелов=0 Тогда Возврат ИсходнаяСтрока; КонецЕсли; ии=0; Пока ии < КоличествоПробелов Цикл ИсходнаяСтрока = ИсходнаяСтрока+" "; ии = ии + 1; КонецЦикла; Возврат ИсходнаяСтрока; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |