Имя: Пароль:
1C
1С v8
Красиво преобразовать табличный документ в текстовый вид
🠗 (Волшебник 28.04.2025 09:34)
0 Веселый собака
 
26.04.25
14:06
Есть отчет в виде таблицы, с переносами, где строка не влезает и т.п.
Как бы это программно сформировать в виде удобочитаемого обычного текстового файла? Именно уже сформированный табличный документ, писать отдельно вывод всех полей и шапок-подвалов не предлагать.
1 Злопчинский
 
26.04.25
14:12
определи понятие "удобочитаемого текстового файла"
2 Злопчинский
 
26.04.25
14:14
Приведи картинку удобочитаемого текстовго файла кк ты себе это представляешь, при этом просмотр такого файлика на картинке в двух видах, один из которых - немоноширинным шрифтом
3 Веселый собака
 
26.04.25
14:38
(1) Обычный текстовый файл времен DOS, должен помнить
4 Веселый собака
 
26.04.25
14:47
Например в отчете 1С:

Продукт            Цена
Мясо                 20
МылоХозяйственное    
особое              120

Должно получиться так же, а не

Продукт            Цена
Мясо                20
МылоХозяйственное особое              120
5 Garykom
 
гуру
26.04.25
15:28
(0) не вижу проблемы программно кодом обойти в цикле сформированный табдок
и вывести по символам в текстовый файл как надо с переносами на новые строки
и вставками дополнительных символов для выравнивания колонок
6 Garykom
 
гуру
26.04.25
15:36
(5)+ вот у тебя есть две строки и две колонки:
"Мясо", "20"
"МылоХозяйственное особое", "120"

допустим ширина колонок 15 и 10
начинаем выводить по символам

Мясо[тут дополняем до ширина колонки + 1]20[перенос строки]

МылоХозяйственное [тут перенос строки ибо общая длина превышает 15, но пишем больше символов в пределах 15+10 но перенос делаем по пробелу так как с особое уже зашкалит]особое[тут дополняем до ширина колонки + 1]120[перенос строки]
7 Garykom
 
гуру
26.04.25
15:38
(6)+ понятно на практике будет сложней и еще подумать придется
8 maxab72
 
26.04.25
16:29
В какой-то старой типовой были шаблоны для вывода печатной формы под матричный принтер. То ли на 77 то ли уже на 8.0
9 Веселый собака
 
26.04.25
18:23
(6) я ж писал уже, что нужно взять сформированный табличный документ и из него. Руками все выписывать непродуктивно.

вот же какое дело- прекрасно можно его вывести в ворд, в pdf.. а тут проблема.
10 Веселый собака
 
26.04.25
18:24
(8) я думаю, что преобразование там вряд ли делалось, а просто печаталось, как обычный вордовский документ. С 77 я не работал практически, поэтому за мнение не ручаюсь, это мое имхо.
11 Garykom
 
гуру
26.04.25
18:44
(9) так не получится
попробуй сам подумать почему
12 Злопчинский
 
26.04.25
19:14
(6) ширину колонок в текстовом файле в чем считать?
13 maxab72
 
26.04.25
19:22
(10) там именно псевдографика была.
14 d4rkmesa
 
гуру
26.04.25
19:32
(4) Задача бредовая, для каких целей? Я 10 лет назад, наверное, в последний раз видел что-то подобное, "Ашан" заказы в текстовом формате присылал похожие на ASCII Art, пока не перешли все на EDI.
Кстати, 1С вполне корректно сохраняет таб. документ в текст аля CSV т.е. с разделителями, вопрос только в просмотре. Если не нравится, как это выглядит в notepad++ и 1С, можно попробовать поискать просмотрщик или плагин на свой вкус, но нужно понимать, что лучше всего это будет выглядеть в таблице, а не большом текстовом поле.
15 Garykom
 
гуру
26.04.25
21:05
(12) можно пропорционально от кол-ва колонок и ширины файла заданной
еще и содержимое и тип колонок учитывать
например если числа то логично не надо переносить и сделать ширину по максимальному числу
так же даты
для строковых в последнюю очередь по остаточному принципу
16 Веселый собака
 
26.04.25
22:01
(14) да одна организация хочет получать инфу именно в таком виде )
Так что, раскорячиться теперь ради дурной хотелки..

<крепкое слово сказано>
17 Злопчинский
 
26.04.25
22:02
В аакихиединицах ширину задавать?  Как выровнять поля в текстовом файле чтобы он нормально показывался и у тебя в блокноте с картером и у меня в блокноте с ариалом?
.
Или я чего-то не то говорю?
18 maxab72
 
26.04.25
22:13
(17) ставь моноширинный курьер или фикседсис.
19 Веселый собака
 
26.04.25
22:14
(17) в символах )
20 Злопчинский
 
26.04.25
22:21
(19) каждый символ имеет разную ширину
21 MWWRuza
 
гуру
26.04.25
22:33
(17)(20)и у тебя в блокноте с картером и у меня в блокноте с ариалом?

В 1С - никак.
Только в самом средстве просмотра (блокноте?) моноширинный шрифт выбирать. А так, да, количеством символов все определяется.
Но, ни какой гарантии нет, что его не откроет кто-то со своими настройками "блокнота", и все "не разъедется".
Поэтому, решение "TXT" для визуального просмотра - так себе идея. Для того и придуманы всякие ворды, ексели и т.п., и таблицы в них...
22 d4rkmesa
 
гуру
26.04.25
22:56
(16) При такой постановке ничего не получится. Все слишком зависит от того, чем просматривают. Может, им на в самом деле нужно что-то другое, например, текст с данными отчета в email-сообщении, тогда проще таблицу в html сохранять.
23 Веселый собака
 
28.04.25
08:02
(22) да все это понятно. И не так надо подходить- важно, в каком виде потребительская прога rkbtynf жрет текст, а по предоставленной документации оно обработает только моноширинный текст в кодировке 866 и отображать скорее всего на его стороне будет так же.
Возможно имеет смысл выяснить, может потом у них и pdf нормально отобразится. Но- такие условия выставлены, клиент того малость, разговаривать с ним не хочется, слишком много бюрократии и никакой связи с грамотными людьми с его стороны.
В общем, задача есть, она разовая и неприятная, так понятно?
24 Веселый собака
 
28.04.25
08:02
* потребительская прога клиента
25 Мультук
 
гуру
28.04.25
08:05
(0)

Переписать/дописать отчёт на 1С так, чтобы он сразу формировал нужный текстовый документ ?
26 AAA
 
28.04.25
08:12
Задача скорее странная. Можно сделать и как в (25), можно сделать в 1С табличный документ, приспособленный для трансформации в текстовик. Сама по себе постановка непонятная, зачем это вообще?
27 АгентБезопасной Нацио
 
28.04.25
08:56
(3) Ты хочешь с таблицами псевдографикой, "и вот это всё..."? Чтоб на матричнике печатать, чтоль?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс