|   |   | 
| 
 | v7: Некорректное отображение таблицы из 1С в Exсel | ☑ | ||
|---|---|---|---|---|
| 0
    
        never_sleep 28.10.15✎ 12:18 | 
        Сохраняю печатную форму из программы в формат xls. Если открывать в Excel'е табличка отображается некорректно. Пропадает вертикальное направление текста, и пожимаются некоторые колонки по высоте. Но если открыть в Опен-офисе, то все пучком. Проблема в том, что таблички рассылаем в более чем 140 детских садов. А там, в подавляющем большинстве, именно пакет от майкрософта. Проблема усугубляется тем, что со стороны дет.садов, как правило, нет грамотных пользователей, и правка таблицы для них задача нетривиальная. Как быть?     | |||
| 1
    
        cw014 28.10.15✎ 12:19 | 
        1) Формировать руками
 2) Отправлять PDF | |||
| 2
    
        Ёпрст гуру 28.10.15✎ 12:20 | 
        сохраняй йокселем, там не ломается форматирование документа     | |||
| 3
    
        Tatitutu 28.10.15✎ 12:21 | 
        (0) у Злопочинского есть обалденная обработка - она печатную форму в jpg одной кнопкой преобразует и отправляет по почте. В поиск     | |||
| 4
    
        never_sleep 28.10.15✎ 12:37 | 
        (1) Попробуем. Правда, придется накатить в подавляющем большинстве садиков просмотрщик ПДФ (разошлю всем по почте суматру с инструкцией). Главное, чтобы на местах не приспичило никому ничего править.     | |||
| 5
    
        cw014 28.10.15✎ 12:38 | 
        (4) Дык ридер бесплатный     | |||
| 6
    
        never_sleep 28.10.15✎ 12:39 | 
        (3) А там форму приходится на 2 стороны одного листа печатать. С картинкой, боюсь, будут проблемы. Или заблуждаюсь?     | |||
| 7
    
        Dump 28.10.15✎ 12:39 | 
        Пиши напрямую в файл Excel - не через файл-сохранить - и жестко задавай нужные параметры. Правда, возни гораздо больше.     | |||
| 8
    
        never_sleep 28.10.15✎ 12:41 | 
        (5) Ридер уже за 100 метров весит. Тормозит при запуске на нормальных машинах. Ставит вкупе адоб эйр. А в садиках как правило железо лет 10 как устаревшее. Суматра всего несколько мегабайт и без доп мусора.     | |||
| 9
    
        never_sleep 28.10.15✎ 12:42 | 
        (7) Это крайний вариант, надеюсь не дойдет)     | |||
| 10
    
        Dump 28.10.15✎ 12:44 | 
        (9) Главное знать о такой возможности и ее учитывать     | |||
| 11
    
        never_sleep 28.10.15✎ 12:53 | 
        (2) А ей можно воспользоваться не переписывая весь код? Есть заполненный объект "Таблица". Как мне (в двух словах) йокселем сохранить её без потери форматирования в эксель? Или мне изначально нужно использовать вместо "Таблица" объекты Йокселя?     | |||
| 12
    
        cw014 28.10.15✎ 12:55 | 
        (12) Есть код преобразовывающий макет mxl в xls     | |||
| 13
    
        never_sleep 28.10.15✎ 12:55 | 
        (10) А это каким макаром происходит? ОЛЕ?     | |||
| 14
    
        trdm 28.10.15✎ 12:56 | 
        (8) > Ридер уже за 100 метров весит. 
 Можно выбрать адекватную версию: http://www.oldapps.com/foxit_reader.php Я себе 3.3.0.... поставил. | |||
| 15
    
        trdm 28.10.15✎ 12:58 | 
        Можно и адоб ридер присмотреть: http://www.oldapps.com/adobe_reader.php     | |||
| 16
    
        never_sleep 28.10.15✎ 13:01 | 
        (15) Ну у меня везде суматра. Прикипел. Жаль только формы с полями ввода некорректно отображает (на загранпаспорт, например). Плюс в суматре отлично открываются djvu. Для сложных документов у меня адоб ридер свежий стоит, правда. На всякий.     | |||
| 17
    
        Масянька 28.10.15✎ 13:06 | 
        (13) Я сделала в панели инструментов кнопку, на нее повесила внешнюю обработку:
 Перем мСервис; Перем АктивныйКонтекст; Перем ИмяФайла; Перем НачИмяКаталога; Перем ИмяТаблицы; Перем Окна; //******************************************************************************** Процедура ПриОткрытии() НачИмяКаталога = "\\MANAGER2\Desktop"; мСервис = СоздатьОбъект("Сервис"); РасшФормы = СоздатьОбъект("РасширениеФормы"); СтатусВозврата(0); ИмяФайла = ""; Если (мСервис.АктивныйКонтекст(АктивныйКонтекст) = 1) Тогда Если (ТипЗначенияСтр(АктивныйКонтекст) = "Таблица") Тогда // получим имя таблицы Окна = мСервис.СписокТаблиц(); Окна.ПолучитьЗначение(1, ИмяТаблицы); // товарная накладная, акты мРеализация = Найти(ИмяТаблицы, "Реализация"); Если мРеализация > 0 Тогда ИмяФайла = СокрЛП(СтрЗаменить(ИмяТаблицы, "*", "")); // из документа "Реализация" Если Найти(ИмяТаблицы, "mxl") > 0 Тогда // из документа "Счет" мВременно = Сред(ИмяФайла, мРеализация); мДлинаВременно = СтрДлина(мВременно); ИмяФайла = Лев(мВременно, мДлинаВременно - 4); КонецЕсли; КонецЕсли; // счет-фактура мСчетФактура = Найти(ИмяТаблицы, "Счет-фактура"); Если мСчетФактура > 0 Тогда ИмяФайла = СокрЛП(СтрЗаменить(ИмяТаблицы, "*", "")); // из документа "Счет-фактура" Если Найти(ИмяТаблицы, "mxl") > 0 Тогда // из документа "Счет" мВременно = Сред(ИмяФайла, мСчетФактура); мДлинаВременно = СтрДлина(мВременно); ИмяФайла = Лев(мВременно, мДлинаВременно - 4); КонецЕсли; КонецЕсли; // другая печатная форма Если (СтрДлина(СокрЛП(ИмяФайла)) = 0) Тогда ИмяФайла = СокрЛП(СтрЗаменить(ИмяТаблицы, "*", "")); // из документа "Счет-фактура" КонецЕсли; Если (ФС.ВыбратьФайл(1, ИмяФайла, НачИмяКаталога, "Выберите файл", "*.xls|*.xls", "xls") = 1) Тогда СохранитьМакетВфайл = НачИмяКаталога + ИмяФайла; Если ФС.СуществуетФайл(СохранитьМакетВфайл) = 1 Тогда ФС.УдалитьФайл(СохранитьМакетВфайл); КонецЕсли; ТабДокумент = СоздатьОбъект ("ТабличныйДокумент"); ТабДокумент.ЗагрузитьИзТаблицы (АктивныйКонтекст); ТабДокумент.Записать(СохранитьМакетВфайл, 1); КонецЕсли; Иначе Предупреждение("Нет открытой печатной формы."); КонецЕсли; Иначе Предупреждение("Для начала - откройте печатную форму."); КонецЕсли; КонецПроцедуры // ПриОткрытии + mxl_doctor.dll Усё. | |||
| 18
    
        never_sleep 28.10.15✎ 14:48 | 
        (17) Круто конечно. А чтобы это заработало, нужен только mxl_doctor.dll?     | |||
| 19
    
        Масянька 28.10.15✎ 14:53 | 
        (18) Да ничего там крутого нет. 
 По-моему, да. | |||
| 20
    
        dmrjan 28.10.15✎ 17:54 | 
        Можно еще в xlsx выгружать.     | |||
| 21
    
        Злопчинский 28.10.15✎ 18:35 | 
        (3) 
 - ну не у Злопчинского, а у "уважаемого Сергея Михайловича" - и не в jpg, а в PNG - 1эсные моксели прекрасно жмутся в пнг лучше чем в джпег и без потери качества - эта же обработочка йокселем и в эксели сохраняет (у меня ей манагмент отправляет доки клиентам на распечатку, никто не жаловался) - в пдф не делал, лень было (так как лично мне не надо, все собираюсь прикрутить, да все влом, более интересных задач есть) http://catalog.mista.ru/public/14180/ | |||
| 22
    
        Злопчинский 28.10.15✎ 18:36 | 
        (17) сойдет конечно... но не схватит прикрепленную печформу (регламентную отчетность например), а моя схватывает (спасибо Епрсту)     | |||
| 23
    
        Масянька 29.10.15✎ 08:01 | 
        (22) Что значит "прикрепленную"? Моя хватает открытую печ. форму. 
 А Ё не просто "спасибо", а низкий поклон. | |||
| 24
    
        vladimirmir2012 29.10.15✎ 08:49 | 
        (0)У меня так /на примере Йокселя/
 mxl => xls обТаблица01 = СоздатьОбъект ( "ТабличныйДокумент" ); обТаблица01.ЗагрузитьИзТаблицы( Таблица1C ); // --- Формат файла: // 0 или “mxl” – формат MXL (формат встроенных в 1С табличных документов). Файл записывается в формате версии 7 – версии, когда появился поворот текста в ячейке. Поэтому старыми релизами 1С (меньше 23) файл читаться не будет. // // 1 или “xls” – формат Microsoft Excel. При сохранении создается книга с одним листом под названием «Лист 1". В этот лист записывается табличный документ. Если в книгу нужно записывать несколько листов, то // следует использовать объект "КонвертерExcel". // // 4 или “bmp” – формат BMP. Сохраняет изображение документа в формате BMP. // 5 или “jpeg” – формат JPEG. Сохраняет изображение документа в формате JPEG. // 6 или “png” – формат PNG. Сохраняет изображение документа в формате PNG. // обТаблица01.Записать( FullPathToReport02, 1 // 1 или “xls” – формат Microsoft Excel. ); | |||
| 25
    
        Ёпрст гуру 29.10.15✎ 09:12 | 
        (11) на вот, в меню, в панели струментов слепишь такую вот кнопку (можешь еще и акселератор назначить, для удобства):
 http://pics.rsh.ru/img/123_5kgr1rpb.jpg там пропишешь вызов этого https://cloud.mail.ru/public/8amK/1xyHcTWqQ всё собственна, наслаждайся | |||
| 26
    
        Масянька 29.10.15✎ 09:18 | 
        (25) Я уже в (17) положила :)
 Кстати, в очередной раз - Спасибо! :) | |||
| 27
    
        Ёпрст гуру 29.10.15✎ 09:25 | 
        (26) у тебя немного не то - нет сохранения макета. если это таблица РВД (например, вся рег отчетность в 1с-ине) + нет сохранения в PDF     | |||
| 28
    
        Масянька 29.10.15✎ 09:57 | 
        (27) Для pdf у меня другая кнопка. А по отчетности - закдача не стояла. :)     | |||
| 29
    
        never_sleep 05.11.15✎ 13:08 | 
        Ёпрст, Масянька, уважаемый Сергей Михайлович и всем остальным, вам огромное спасибо!     | |||
| 30
    
        botman4 07.11.15✎ 11:35 | 
        А чтобы это заработало, нужен только mxl_doctor.dll?
 чтобы заработало нужно ЗагрузитьВнешнююКомпоненту ("FormEx.dll"); | |||
| 31
    
        Злопчинский 07.11.15✎ 12:17 | 
        (30) набери в яндексе "Проект Йоксель" - выйдешь на страничку разработчика     | |||
| 32
    
        Масянька 09.11.15✎ 10:11 | 
        (29) А кто такой Сергей Михайлович?     | |||
| 33
    
        ДенисЧ 09.11.15✎ 10:13 | 
        (32) Маленькая ты ещё, чтобы знать это ))))     | |||
| 34
    
        Масянька 09.11.15✎ 10:15 | 
        (33) И-и-извините...     | |||
| 35
    
        шаэс 09.11.15✎ 14:01 | 
        (34) ну ты что? Злопчинский же     | |||
| 36
    
        Масянька 09.11.15✎ 14:05 | 
        (35) Там не написано (отечество). 
 Тогда вопрос к ТС: ладно я, а Ё не уважаемый?! :))))))))))) | |||
| 37
    
        шаэс 09.11.15✎ 14:09 | 
        (36) а ты всю ветку читала? например, (21)?     | |||
| 38
    
        Масянька 09.11.15✎ 14:13 | 
        (37) Читала... Даже не подумала... :)))))))))     | |||
| 39
    
        Tatitutu 09.11.15✎ 14:14 | 
        (21) тогда уж : у CheBurator 
 если быть точным )))) | |||
| 40
    
        Масянька 09.11.15✎ 14:16 | 
        (39) Началось... 
 "Кто ж его посадит? Он же - ПАМЯТНИК!" (С) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |