Имя: Пароль:
1C
1C 7.7
v7: Разделение страниц из 1с7.7 в 1с8
, ,
0 Ефремов
 
16.04.19
07:10
Добрый день, коллеги!
Создаю отчет в 1с7.7, который надо сохранить в Excel-файле. Отчет разбит по листам и в отчете много длинных строк. Из-за длинных строк, сохранить из 1с7.7 в Excel не получается. Сохраняю отчет в формате 1с: "Таблице (*.mxl)", открываю этот отчет в 1с8 и сохраняю в Excel2007 (*..xlsx). Но проблема в том, что разбивка по листам "слетает" уже в 1с8. В 1с7.7 и Йоксел разбивка по листам есть, а в 1с8 уже нет.
Сохранение из Йоксел тоже не альтернатива - форматирование пропадает. В частности, высота ячеек, где длинный текст переносится на следующую строку, становится меньше необходимой. А руками в Excel править сложно - отчет слишком велик.

Может кто сталкивался с аналогичным переносом табличных документов из 1с7 в 1с8 и подскажет, как сохранить разбивку по листам?
1 SleepyHead
 
гуру
16.04.19
09:16
Переносите данные в 1с8 и формируйте отчёт оттуда.
3 catena
 
16.04.19
09:33
(0)Листы в mxl?
4 Ефремов
 
16.04.19
09:57
(1) Трудоемко.
5 Ефремов
 
16.04.19
09:58
(3) Да, в mxl.
6 VladZ
 
16.04.19
09:58
(0)
1. Чтобы не "расплылись" страницы - нужно высоту строк делать фиксированной.
2. "отчет слишком велик. " - Большие отчеты не несут никакой пользы. Смысл отчетов прост: посмотрел 2-3 цифры -> сделал выводы ->  поправил "курс" -> накопил результат -> начал сначала.

В больших отчетах цепочкой "сделал выводы - поправил курс и т.д." заниматься некогда. В большом отчете обычно так: открыл отчет и утонул в этой куче...

Отсюда вывод:
Не делать больших отчетов. Как следствие - не будет проблем с разбиванием на страницы.
7 1Сергей
 
16.04.19
09:59
(5) Чёт, в первый раз слышу. Может, не листы, а страницы?
8 Ефремов
 
16.04.19
10:07
(6) 1. Невозможно. Отчет типа заявления с большим количеством ссылок на статьи законов и переменным количеством заявителей.
2. С нашими юристами сложно работать. Их ТЗ: "сделай нам красиво". Вначале сделал вывод одного заявления без необходимости вывода в Excel. Потом потребовали вывести весь список заявлений для передачи в стороннюю организацию. А времени отводится на работу, как в начале так и в текущий момент: "сделай вчера". Т.е. "0 целых и 0 десятых".
В отчет выводятся адреса, ФИО, данные паспорта, номера телефонов т.п. Т.е. никаких правок не требуется.
9 Ефремов
 
16.04.19
10:08
(7) Вы правы, страницы.
10 1Сергей
 
16.04.19
10:09
Вариант заполнения через ОЛЕ не рассматривается?
11 Ефремов
 
16.04.19
10:11
(10) На сервере, где запускается 1с, нет Excel'я.
12 Ефремов
 
16.04.19
10:13
(10) Можно использовать для связывания 1с8, но время, время, время...
13 1Сергей
 
16.04.19
10:14
Если бы не сроки, можно было бы xlsx самому собрать. По сути это простая зазипованная xml-ка
14 Ефремов
 
16.04.19
10:15
(13) Если бы этот отчет нужен был бы постоянно, то можно было бы повозиться. А, вполне возможно, что через неделю о нем и не вспомнят.
15 1Сергей
 
16.04.19
10:17
(13) +точнее несколько xml-ок
16 Ефремов
 
16.04.19
10:24
(15) Да, но список этих заявлений несколько тысяч!!! Я даже сомневаюсь, что этого "монстра" можно втолкнуть в Excel-2003. В Excel-2007 сохраняется.
17 1Сергей
 
16.04.19
10:27
(16) Всё же склоняюсь к йокселю. С проблемой высоты ячеек не сталкивался, но думаю это решаемо. можно здесь поискать-поспрашивать http://yoksel.net.ru/forum/
18 Смотрящий
 
16.04.19
10:32
(0) Клюшки при сохранении отчета в xls обрезают текст в ячейте до 256 символов.
Чтобы не жахаться с йкселями, 1сами и прочим - тебе просто надо отчет в excel врукопашную.
Ну или обучить желающих видеть "все красиво" Ctrl-A, Ctrl-V
19 1Сергей
 
16.04.19
10:33
И да, высота ВСЕХ строк должна быть АВТО в макете
20 NikVars
 
16.04.19
10:48
(0) Можешь еще это попробовать. Но шаносов мало.
https://v8.1c.ru/metod/fileworkshop.htm
Сохрани в mxl 7.7. Открой в этой проге. Отсюда можешь и в екселе сохранить.
21 MadDAD
 
16.04.19
11:28
(9) Могу добавить в свою компоненту - http://catalog.mista.ru/public/1026032/ - разбивку на страницы, как в оригинальной таблице.
22 MadDAD
 
16.04.19
11:29
(9) на сколько большая таблица? Если сохранять в mxl, сколько Мб занимает?
23 Ефремов
 
16.04.19
11:40
Пошел по пути подсчета высоты информационной части страницы и дополнил страницу до определенной высоты пустой строкой с программно изменяемой высотой. Пользователям дал рекомендации на установку полей в Excel.
24 Ефремов
 
16.04.19
11:47
(22) Размер *,mxl: 2170522 байта. Но это не предел.
25 Ефремов
 
16.04.19
11:50
(21) Спасибо. Я не знаком с Вашей компонентой. Попробую.
26 VladZ
 
16.04.19
12:18
(8) "С нашими юристами сложно работать" - зачем юристам Excel? Может им лучше формировать файлы Word?
27 MadDAD
 
16.04.19
12:31
https://github.com/DmitryDreytser/v7Moxel/releases - добавлены разрывов страниц при сохранении в xlsx.
28 Ефремов
 
17.04.19
05:15
(26) Вы писали: "Может им лучше формировать файлы Word?" - да, лучше. Но данные у меня в 1с7.7 и при обсуждении ТЗ разговора о сохранении не было. Т.е. надо было только распечатывать отдельные заявления. К тому же, я не умею сохранять отчет 1с7.7 в Word. А MS Office на сервере не установлен.
29 73с
 
17.04.19
06:44
(28) Вместо МС можно пользоваться ОпенОфисом
30 Mikeware
 
17.04.19
07:05
(28) ну с этого и надо было начинать.
Бери вордовский файл-шаблон, с полями. В секции значения переменных устанавливай их в файле. Для старых версий - через компаунд, для новых - в xml. И все.
31 ДенисЧ
 
17.04.19
07:21
(30) @А MS Office на сервере не установлен.@
32 Mikeware
 
17.04.19
07:31
(31) я грамМотный. (на уровне ликбеза, по меньшей мере).

В старых вордовских файлах (которые .doc) - разобрать файл-шаблон(компаунд) через compound.dll , записать  в секцию переменных, собрать.
в новых (которые .docx) - раззиповать, дописать в файл перемнных, зазиповать.
Это не требует наличия офиса.
33 ДенисЧ
 
17.04.19
07:39
(32) Мда... А ты не пробовал заниматься банальным сексом?
34 Mikeware
 
17.04.19
07:40
(33) б-анальным? нет. предпочитаю обычный. даже без гамака.
35 Ефремов
 
17.04.19
09:54
(29) Сейчас не помню конкретно (года два назад экспериментировал), но натыкался на несовместимость OpenOffice и MS Office. Документы MS Excel, OpenOffice портит однозначно. Документы созданные в OpenOffice иногда имеют несовместимость по кодировке с MS Office.
36 Ефремов
 
17.04.19
09:55
(32) Да, неплохо. Когда появится время, попробую такой вариант с ранее подготовленным шаблоном.
37 Mikeware
 
17.04.19
09:58
(36) поля - через variable, тогда они автоматически заполнятся при открытии в ворде.
38 Ефремов
 
18.04.19
10:57
Спасибо всем принявшим участие в обсуждении.
По быстренькому сделал вот что:
1. Высокую первую строку в исходной таблице отчета - чтобы при ошибке подсчета высоты отчета новый отчет гарантированно переходил на новую страницу.
2. Подсчитываю высоту таблицы методом ВысотаСтроки(). Если высота строки  равна 0, то ставлю "умолчательную" высоту. В моем случае 17.25.
3. После печати заявления вставляю пустую строку и устанавливаю ее высоту так, чтобы отчеты были примерно одинаковы по высоте.
4. Отчет выгружаю в *.mxl и с помощью 1с8 конвертирую в Excel_2007.
5. Записал в справку рекомендации по настройке полей для печати из MS Excel.

К сожалению, экспериментировать и "вылизывать" ПО некогда.
39 NikVars
 
18.04.19
11:00
(38) Круто! Готовность решения проблемы определяется его ценностью в виде значимости проблемы как проблемы для сотрудников.
40 Ефремов
 
23.04.19
08:36
Попробовал компоненту http://catalog.mista.ru/public/15605/, использующую SpreadSheet.dll (Йоксел). Для простых отчетов просто замечательно!!!
К сожалению, у меня высота строк, при выводе в Excel, не соответствует тому, что в *.mxl
41 Ефремов
 
23.04.19
08:38
(40) Прошу прощения, ссылка должна быть иной: http://catalog.mista.ru/public/15605/
42 Ефремов
 
23.04.19
08:39
(41) Не, это, оказывается, сайт сам меняет ссылку.
43 MadDAD
 
23.04.19
09:18
(42) У йокселя есть нюанс. Формат Excel 97 не поддерживает  количество строк в таблице больше 65535.

В остальном это просто прекрасный вариант. Честно говоря думал что он уже был испробован.
44 MadDAD
 
23.04.19
09:19
(40) Чтобы высота строк соответствовала - лучше всего убрать автоматическую высоту и сделать фиксированную.
45 MadDAD
 
23.04.19
09:31
Попробуйте мое поделие, может будет лучше - https://github.com/DmitryDreytser/v7Moxel/releases/tag/0.5 тут последняя версия для бесплатного скачивания. На инфостарт пока не выкладывал.

Если будут вопросы по высоте строк - пишите, посмотрим что можно допилить.
46 Ефремов
 
24.04.19
06:13
(44) К сожалению, содержимое ячеек документа имеют большой разброс в количестве символов. При автоматическом переносе строк могут составлять и две и пять строк.
(45) Спасибо! Попробую.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший