v7: Как ПРОГРАММНО вытащить таблицу MXL из конфы в файл? #532940


#0 by tciban
Уважаемые коллеги! Подскажите как можно программно выгрузить в файл MXL шаблон таблицы? Уточняю вопрос - мне нужно при создании таблицы командой СоздатьОбъект("Таблица") вытащить в MXL шаблон таблицы с целью подредактировать его и подсунуть вместо исходного шаблона. Перехват и подсовывание осуществлю средствами 1С++, вроде позволяют, теперь ломаю голову как можно выгрузить в файл! Помогите советом!
#1 by andrewks
gcomp не спасёт?
#2 by ado
Ну народ пошел. Уже копипейсту их учить нужно.
#3 by ДенисЧ
Скопировать имеющийся шаблон в отдельный новый mxl?
#4 by ado
Ой, прошу пардону, не заметил слова "программно".
#5 by andrewks
я так понял, речь идёт про шаблон в мдэшнике или внеш.обработке. хотя, всяко может быть
#6 by ado
Ему не подойдет.
#7 by andrewks
слушай, сижу вот думаю, для чего может это быть надо именно в такой постановке, и не придумаю никак. скажи, чё хочешь сделать-то? мне кажется, можно это на порядок проще сделать
#8 by tciban
gcomp конечно может помочь, но это не самый лучший способ, т.к. он сгенерит кучу лишних файлов.
#9 by tciban
Кому "ему" :) Это ж я тему и завел!!! LOL!
#10 by tciban
Хочется и шаблон МД-шника и шаблон внешней обработки.
#11 by ado
Внезапно!
#12 by tciban
Я уже писал вроде в ветке помянутой в Я делаю конфу с 2-язычным интерфейсом. Почему выгружать в mxl? потому что буду делать следующий механизм - если табличка шаблона еще не переводилась - выгружаем, переводим автоматом, подсовываем. И она лежит в папочке и если нужно ее можно поправить ручками (все ж автоперевод коряв :. Ну а если есть, лежит, то просто пользуем ее. Ну тут остается конечно вариант когда конфу подправят и забудут поправить переведенный шаблон, но об этом можно пока не замарачиваться, да и варианты есть, можно версии как то запоминать/сравнивать :)
#13 by andrewks
а если в таблице есть шаблоны и выражения?
#14 by tciban
А вы полагаете что я перехвачу только создание и не логадаюсо подменить метод ИсходнаяТаблица? Я просто не опустил все не относящиеся к вопросу ньюансы :)
#15 by andrewks
удачи
#16 by tciban
или это вы думаете ответ? Так ить нет - секции не сохраняться!
#17 by Ёпрст
свой класс + Йоксель для подмены/редактирования макета.
#18 by ado
И чо? Эта хрень сохраняет шаблон ас из. Я что-то вас не понял. Если вы переопределили объект "Таблица", то это уже очень даже относящийся к вопросу ньюанс.
#19 by ado
Сохранятся.
#20 by tciban
Выражения не переводим - я не забочусь о пользовательских данных, не перевожу названия элементов справочников, это будут делать пользователи. Это же относиться и к шаблонам, переводим все кроме того что в [] По поводу не понял! Уж не выражаете ли вы сомнения? Так я все уже перевел в интерфейсе, люди пользуются потихоньку, осталась только проблема с мокселями :)
#21 by ado
Хотя нет, наврал я, секции сохраняются, а выражения почему-то нет :(
#22 by tciban
Блин! ado! Ты гений!!! Сохраняется!!! Как все оказалось просто! Правда вылазит куча ругательств системы на неопределенные переменные... Как бы это для красоты забороть?
#23 by Гость2
А механизм внешних печатных форм не подойдет?   :-)
#24 by tciban
мда... Выражения действительно не сохраняются :(
#25 by tciban
Будем искать дальше
#26 by ado
Да нифига не молодец я. Проверь ячейки с выражениями.
#27 by tciban
точнее признаки Тип в свойствах ячейки...
#28 by Гость2
Все в код
#29 by tciban
Подскажи примерно как йокселем это сделать? Все рано я его уже в конфе использую :) для конвертации в PDF. Не понимаю только как йокселем до шаблона добраться!
#30 by Ёпрст
да уж.. скачай демо-конфу на сайте автора компоненты - там всё есть.
#31 by tciban
Можно подумать она уже не стоит у меня 2 недели как! Впрочем взгляну свежим взглядом...
#32 by ado
Попробуй, что получится, если применить '
#33 by tciban
Уже приступил к пробованию.
#34 by tciban
Хотя про ЗагрузитьИзТаблицы для йокселя меня беспокоит примечание: Следует учитывать потребление памяти для выполнения данного метода. Он работает следующим образом: Объект «Таблица» выгружается в файл в памяти. Для созданного буфера выполняется конвертирование из формата mxl в табличный документ. В результате существует момент, когда в памяти должно одновременно находиться три объекта: Сам объект «Таблица». Образ таблицы в формате mxl. Табличный документ Йокселя. особенно там, дальше, оптимистично так:): Внимание! Если в процессе выгрузки таблицы в файл в памяти (перед загрузкой в объект "Табличный Документ?") произойдет ошибка выделения памяти, то 1С аварийно завершится и помешать этому невозможно. При этом будут потеряны все несохраненные данные.
#35 by ado
У тебя там гигабайтные шаблоны?
#36 by tciban
Маловероятно :) Я, честно говоря, даже не заглядываю в них. Я хочу решить проблему в целом.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С