powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Как ускорить создание макетов сложных печатных форм?
7 сообщений из 7, страница 1 из 1
Как ускорить создание макетов сложных печатных форм?
    #39337743
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне тут попалась шабашка по созданию и заполнению сложных печатных форм для частных предпринимателей Украины. Никакие официальные программы эти формы не поддерживают. Оригиналы макетов представлены только в ворде, иногда в pdf, один раз было в экселе, но этим макетом воспользоваться не удалось, так он был сделан через одно место.

В конце концов, я эти формы (около десятка) сделал вручную в 1С, в «семерке» (можно было в «восьмерке», но вынужден был привязываться к конфигурации клиента). В принципе, если рука набита, то за день подобный макет вполне реально сделать. Однако возникли некоторые вопросы по эффективности работы.

Просто тупо лепить макеты довольно скучновано и утомительно. Пробовал ваять в экселе, а потом конвертировать в моксел. Работать можно, но особого прироста производительности не было. Потом формировал макеты в «восьмерке» и сохранял в формате «семерки». Табличный редактор в 1С8х помощнее будет, чем в 1С77, но не всегда полученные файлы открываются в «семерке», есть риск проделать работу зря.

Изучая данный вопрос, открыл для себя процессор FOP, который на базе двух xml-файлов (один файл с данными, другой с xsl:fo разметкой печатного макета) формирует нужный отчет в форматах pdf, rtf и некоторых других. Есть там и превьюер, так, что он вполне может служить альтернативой системе печати в 1С.

Сравнивание двух систем построения макетов печатных форм (в графическом виде – в 1С и в текстовом виде – в FOP) навеяло мысль, что они принципиально отличаются между собой как табличная и блочная верстки в веб-дизайне. В Интернете до сих пор ведутся ожесточенные споры между адептами двух систем верстки.

Потенциальное преимущество текста (хотя «блочность» определяет не текст а сама парадигма ФОП) перед графикой кроется в повышении производительности. Например, если вам нужно набрать пару формул для диплома, то удобно воспользоваться вордом с Microsoft Equation, ну а если нужно сверстать большую статью или книгу со сложной математикой, то гораздо удобней применить TeX (или MathType, тот же TeX, только в ворде). Конечно, формулы набирать в текстовом виде поначалу непривычно, однако тыкание мышкой очень часто проигрывает клавиатурному набору.

Тоже самое и при построении макетов в текстовом виде (в xml-разметке xsl:fo). Поначалу сложно, зато интересно и потенциально более эффективно. Заметим, что в тексте можно набирать и сериализованные xml-файлы для файлов моксел, но принцип «табличности» или «блочности» это не меняет.

Другая возможная выгода, это способность использования чужих макетов. Не знаю как в России, но в Украине, есть программы OPZ (на базе hta) и Medoc (на Net Framework) с сотнями, если не тысячами макетов печатных форм в формате FOP (правда относительно доступными в первой программе и практически недоступными (зашифрованными) во второй). Эти программы также используют экранные формы для ввода и редактирования данных, что с одной стороны удобно, а с другой бестолково, в силу убогой реализации, хотя Медок уже под пару гигабайт будет.

Поэтому логично данные хранить в 1С. Там экранные формы тоже можно делать на базе того же моксела, хотя этот вариант мне кажется не слишком оптимальным (в смысле трудоемкости создания этих форм). Однако вводить очень разнородные данные, различные для разных отчетов в 1С тоже не слишком удобно. В данной шабашке я выкрутился созданием псевдоленточных форм списков данных, которые генерю автоматически для каждого отчета.

Другими словами нужно строить дерево данных, на основании которых будут сформированы xml-данные. Для этого удобно применять ленточные формы списков (как в окнах свойств) с возможностью редактирования независимых таблиц для выбранных элементов. Пока это можно только пытаться имитировать в 1С. Как вариант – использовать экранные формы. Но таковых в FOP'е нет, а рисовать их в 1С муторно. Конвертация блочной верстки ФОП в табличную 1С (xml-сериализация для mxl-файлов) и обратно – весьма нетривиальна задача. Оставаться в парадигме OPZ (Hta + JavaScript + Fop) не очень интересно из-за отсутствия нормального движка базы данных и не слишком удобных экранных форм (может быть просто плохо спроектированных?).

В общем, хочется сделать аналог OPZ, но на базе 1С. Кстати, может кто знает, используется ли FOP в российских отчетных системах?

Интересно выслушать мнения в развитие этой темы.

P.S. Кажется я понял, почему оригиналы макетов любят предоставлять в ворде, а не в экселе. Эксел это типичный табличный процессор, а ворд – блочный. В блочном процессоре (также в отчетах акцесса) сложные формы делать проще, чем в табличном. Для примера можно рассмотреть форму средней сложности «Форма2НДФЛс2015» из «1С:ERP Управление предприятием 2». Обратите внимание на колонки и строки разной ширины. В блочной верстке (в ФОП’е) об этом можно не беспокоиться.
...
Рейтинг: 0 / 0
Как ускорить создание макетов сложных печатных форм?
    #39338206
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
знаю одного мазахиста который формы в ворде делал..потом по Оле заполнял параметрами и все..если они у тебя сразу в ворде то вариант
...
Рейтинг: 0 / 0
Как ускорить создание макетов сложных печатных форм?
    #39338222
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zerroзнаю одного мазахиста который формы в ворде делал..потом по Оле заполнял параметрами и все..если они у тебя сразу в ворде то вариант
FOP предлагает лучшее решение. Из двух текстовых файлов получать профессионально оформленные конечные pdf и rtf файлы. Их остается только распечатать, ну или что-нибудь предварительно отредактировать, если необходимо. Причем можно использовать слои, графику и т.п.
...
Рейтинг: 0 / 0
Как ускорить создание макетов сложных печатных форм?
    #39338259
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryZerroзнаю одного мазахиста который формы в ворде делал..потом по Оле заполнял параметрами и все..если они у тебя сразу в ворде то вариант
FOP предлагает лучшее решение. Из двух текстовых файлов получать профессионально оформленные конечные pdf и rtf файлы. Их остается только распечатать, ну или что-нибудь предварительно отредактировать, если необходимо. Причем можно использовать слои, графику и т.п.
Я за встроенные в 1с формы.. хотя б потому что есть линукс машины и на них может что то не пойти ... а ворд как легкое решение - без всяких заморочек.
...
Рейтинг: 0 / 0
Как ускорить создание макетов сложных печатных форм?
    #39338436
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZerroЯ за встроенные в 1с формы.. хотя б потому что есть линукс машины и на них может что то не пойти ... а ворд как легкое решение - без всяких заморочек.
FOP это как раз кроссплатформенное решение, реализованное на яве. Первоначально написанное под Линукс, а затем портированное под Виндоуз. А ворд то решение легкое, но не совсем удобное. Автоматическая генерация файлов в rtf, здесь будет самое то.
...
Рейтинг: 0 / 0
Как ускорить создание макетов сложных печатных форм?
    #39338441
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmeryZerroЯ за встроенные в 1с формы.. хотя б потому что есть линукс машины и на них может что то не пойти ... а ворд как легкое решение - без всяких заморочек.
FOP это как раз кроссплатформенное решение, реализованное на яве. Первоначально написанное под Линукс, а затем портированное под Виндоуз. А ворд то решение легкое, но не совсем удобное. Автоматическая генерация файлов в rtf, здесь будет самое то.
скинь ссылку ..не пользовался. Может попробуем если сложные формы нужны будут
...
Рейтинг: 0 / 0
Как ускорить создание макетов сложных печатных форм?
    #39338462
Emery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zerroскинь ссылку ..не пользовался. Может попробуем если сложные формы нужны будут
http://xmlgraphics.apache.org/fop/download.html

ФОП – штука хорошая, только немного сложноватая при первоначальном изучении. Тем более что информации на русском очень мало, в основном для старых версий. Но старые версии не поддерживают rtf, только pdf. Далее, насчет верстки печатных макетов. Здесь полная аналогия с интернет вёрсткой. Хороший шаблон получается при ручном наборе. Использование различных графических средств возможно, но качество кода будет менее прозрачным, да и особых преимуществ перед тем же табличным редактором 1С или там редактированием макетов в акцессе, не будет. Я вот думаю, может быть написать некоторые скрипты, чтобы облегчить себе создание печатных макетов для ФОП'а.

Второй вариант это xml-сериализация mxl-файлов. Там структура данных будет не сложнее фоповского формата xsl:fo. Есть некоторые нюансы, но разобраться можно будет. Эти файлы тоже можно пробовать формировать вручную или с помощью собственных скриптов, затем конвертировать их стандартными средствами 1С в формат моксел.

Разница здесь только в способе организации данных: с помощью таблиц или с помощью блоков (div аналог в html-верстке).

Лично я пока еще в раздумьях.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Как ускорить создание макетов сложных печатных форм?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]