|
Подскажите как реализовать. | ☑ | ||
---|---|---|---|---|
0
mzelensky
21.01.13
✎
09:24
|
Доброго всем!
Попытаюсь обрисовать ситуацию общими словами: Имеется некий первичный документ в базе (назовем его "Док1") (это что-то вроде реализации). Для данного документа предусмотрена стандартная печатная форма (назовем "СтандартныйМакет1") (что-то вроде Торг-12). Есть консолидирующий документ в котором указывается наш "Док1" (на самом деле там много чего еще указывается, но для простоты ток его), нажимается волшебная кнопка и на выходе получаем формализованный электронный документ в фармате xml (естественно по определенным правилам). Данная цепочка работает хорошо и проблем нет. НО!!! Сейчас прикрутили механизм внешних печатных форм (чтобы можно было подцплять НЕ стандартные печатные формы в нашим докам) - допустим это "Макет2". Естественно весь механизм формирования печатной формы идет во внешней обработки. И вот тут встает проблема - при формировании формализованного документа мне необходимо учитывать структуру и наполнение (контекст) печатной формы дока. Т.е. если в печатном документе написано "номенклатура Ном1, арт. Артикул1", то в формализованном должно быть написано именно так и никак иначе! В первом случае у меня с этим проблем не было, но во внешних печатных формах можно сделать структуру совсем иной. Как соблюсти условие - идентичности печатного и формализованного дока?!?!?! |
|||
1
Нуф-Нуф
21.01.13
✎
09:26
|
Я бы тоже покурил твоей травы
|
|||
2
mzelensky
21.01.13
✎
09:26
|
(0) В голове крутится несколько идей:
1) При формировании печатного дока записывать данные куда-нить в регистр, а потом формировать электронный док по этому регистру 2) Перед созданием формализованного дока формировать печатную форму, выгружать е куда-нить в "текст" и пытаться как-то распарсить |
|||
3
mzelensky
21.01.13
✎
09:26
|
(1) Присажуйся - у меня много!
|
|||
4
mzelensky
21.01.13
✎
09:27
|
(1) если описать проще и короче -
Есть печатная форма документа. а есть формализованная электронная. Нужно чтобы данные ПОЛНОСТЬЮ совпадали. Как сделать?! |
|||
5
mzelensky
21.01.13
✎
09:28
|
(4) разумеется при условии возможности использования внешних печатных форм.
|
|||
6
Maxus43
21.01.13
✎
09:29
|
во внешней печ форме добавь ещё 1 макет, типа "Структура". Там в одном столбце - "типовые", во втором названия из данной ПФ
|
|||
7
Maxus43
21.01.13
✎
09:29
|
>>типа "Структура"
всмысле назови его так |
|||
8
mzelensky
21.01.13
✎
09:31
|
(6) это что-то типа:
"1) При формировании печатного дока записывать данные куда-нить в регистр, а потом формировать электронный док по этому регистру" ??? |
|||
9
Maxus43
21.01.13
✎
09:32
|
(8) зачем плодить лишние сущности, если структуру всю можно описать в самой Внеш Печ форме
|
|||
10
mzelensky
21.01.13
✎
09:36
|
(7) боюсь этого не хватит. Печатные формы сложные - там по 2-3 таблицы с множеством колонок + шапка + подвал тоже с большим количеством данных.
+ для выгрузки в электронный формат мне нужно знать не только наполнение, но и структуру таблиц. Т.к. там есть определенные реквизиты где указываются: количество колонок таблицы, наименование шапок таблицы и т.д.. А после этого описания уже идут данные при этом если ты указал ,что в первой колонке "Номенклатура", то естественно так выгружать и должен. |
|||
11
Maxus43
21.01.13
✎
09:37
|
(10) если у тебя не хватит воображения чтоб формализованно описать структуру печ формы, то я хз чем помочь
|
|||
12
mzelensky
21.01.13
✎
09:45
|
(11) ясно. Но в любом случае ты предлагаешь описывать все это это прям в макете?! Так скажем техническом макете.
|
|||
13
Maxus43
21.01.13
✎
09:48
|
(12) самый простой способ, не зависящий от других объектов. Это же имеет смысл только у определённой ПФ. Можно не в макете - ТЗ (Структуру, Дерево, файлик левый xml и т.п.) запихать в двоичные данные макета. как удобней
|
|||
14
Defender aka LINN
21.01.13
✎
09:48
|
(4) Лучше расскажи - а с чего бы им НЕ совпадать? Юзеры шаловливыми ручками правят печатные формы перед печатью?
|
|||
15
Maxus43
21.01.13
✎
09:50
|
(14) не, в ПФ может быть другой порядок колонок, свои псевдонимы. И выгрузка должа быть такой же. Как я понял
|
|||
16
Defender aka LINN
21.01.13
✎
09:53
|
(15) Та при чем тут вообще печатные формы? Они у всех нормальных людей формируются по данным документа, которые всегда доступны - выгружай как угодно.
|
|||
17
Maxus43
21.01.13
✎
09:54
|
(16) это у автора спроси, не привязывайся к слову Печ Форма
Вообще смысл - хранить где-то алгоритм выгрузки (формат выгрузки) |
|||
18
Defender aka LINN
21.01.13
✎
09:56
|
(17) Ну, автор постоянно твердит про печатную форму. После такого как-то сложно не привязываться к этому :)
|
|||
19
Maxus43
21.01.13
✎
09:56
|
(18) между строк читай) пора привыкнуть к автору)
|
|||
20
mzelensky
21.01.13
✎
09:59
|
(14) нет. НЕ совпадать могут по простой причине. Есть поле "Номенклатура" (это справочник). В одной печатной форме выводит "краткое наименование" в другой "полное". Это все зависит от самой процедуры "Печать".
Следовательно если распечали с "Кратким", то и в формализованном должно быть с "Кратким". Это самый простой пример. |
|||
21
mzelensky
21.01.13
✎
10:04
|
(16) Твержу про печатные формы по одной простой причине!
Печатная форма (то, что на листике) - это грубо говоря ОРИГИНАЛ. то, на что ставится печать, подписи, прошивается если нужно и кладекся в архив. Формализованный документ - э то электронная копия оригинала. Они должны полность совпадать. В документообороте везде фигурирует именно электронная версия, но если кто-то захочет (кому-то потребуется), то ты должен предъявить ОРИГИНА (тот самый на листике). Соответственно если в электронной версии номенкларута называется "Ном 1_краткое", а в печатной "Ном 1_полное", то это КОСЯК! |
|||
22
mzelensky
21.01.13
✎
10:05
|
(15) верно понял
|
|||
23
Maxus43
21.01.13
✎
10:16
|
(22)>(17). придумывай как хранить формат выгрузки...
>>но если кто-то захочет (кому-то потребуется), то ты должен предъявить ОРИГИНА (тот самый на листике). так правда не получится, ПФ - это не формализованное представление выгрузки, т.е. её всё равно придётся описывать самому |
|||
24
Defender aka LINN
21.01.13
✎
10:21
|
(20) Печатная форма - это процедура, т.е. код. Написанный тобой. Если в коде написано полное наименование - то и пиши полное наименование, кто ж тебе мешает, я не пойму?
|
|||
25
mzelensky
21.01.13
✎
10:32
|
(24) Я уже говорил. Если это стандартная процедура печати, то проблем нет!
Но имеется возможность подключения внешних печатных форм. Следовательно тот самый код будет уже во внешней обработки, а там может быть написано совсем иначе! |
|||
26
mikeA
21.01.13
✎
10:33
|
(24) видимо нужно соответствие того, что распечатали, тому, что ушло в электронном виде. причём распечатать могут разными способами
|
|||
27
Maxus43
21.01.13
✎
10:36
|
(25) если делать не универсально - то процедуру Выгрузки - тоже в ПФ наепиши, и вызывай её, а не встроенную в док
|
|||
28
mikeA
21.01.13
✎
10:37
|
(25) imho допиливать внешние обработки придётся. чтобы каждая сохраняла куда-то данные, по которым потом можно создать XML с нужной структурой. иначе как ты определишь, что было распечатано?
|
|||
29
Defender aka LINN
21.01.13
✎
10:37
|
(25) В таком случае печатные формы должны быть формализованы.
З.Ы. А куда будешь бежать, если документ два раза распечатали? |
|||
30
mzelensky
21.01.13
✎
10:39
|
(27) не вариант.
|
|||
31
mzelensky
21.01.13
✎
10:40
|
(28) браво! Я уже час пытаюсь тут узнать как это лучше сделать
|
|||
32
mzelensky
21.01.13
✎
10:42
|
(29) если его просто 2 раза распечатают, то никаких проблем не будет (они будут полностью идентичны). Если же что-то изменять и потом распечатаюст, то это уже на совести пользователя. но этого не будет.
Бизнес-процесс представляет собой цепочку, которая по большому счету формируется автоматически без участия пользователя. Короче говоря над этим пока можно не запариваться. |
|||
33
Defender aka LINN
21.01.13
✎
10:50
|
(32) Не юли. Куда бежать будешь, если распечатают 2 (3, 4, n) разных печатных форм?
|
|||
34
Sinus1984
21.01.13
✎
10:53
|
ну как вариант добавить регистр сведений и фигачить туда кто, что, по какому документу напечатал.
|
|||
35
mzelensky
21.01.13
✎
11:06
|
(33) В формализацию пойдет последний на момент создания формализации.
Для одного документа они не будут разные. Не в этом сейчас задача/проблема. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |