Имя: Пароль:
1C
 
Универсальный механизм печати документов
0 Gesperid
 
17.12.10
15:16
В типовых документы содержат экспортную процедуру - Печать(ИмяМакета, ...) из которой вызываются функции формирования ТабДок в зависимости от ИмяМакета. Затем этот ТабДок выводится на форму печати (УниверсальныеМеханизмы.НапечататьДокумент).

Требуется на каком-либо этапе, зная Ссылку документа, заполучить ТабДок для косметических измений.
1 vS
 
17.12.10
15:18
и?
2 Gesperid
 
17.12.10
15:19
з.ы. требуется т.к. алгоритмы печати меняются чаще макетов (чаще всего унифиц.), а каждый чих переносить процедуры печати во внешнюю печ. форму и синхронизировать с обновлениями уныло.
3 Gesperid
 
17.12.10
15:20
(1) Что и? как получить например из внешней печатной формы сформированный ТабДок?
4 Gesperid
 
17.12.10
16:01
ап
5 skiller3000
 
17.12.10
16:25
хз попробуй оповещением передать получившийся табдок в какую нить обработку где ты внесешь изменения и напечатаешь документ....
6 Поручик
 
17.12.10
16:29
Вызываешь по своему внешнюю обработку, в ней содержится
Функция Печать() Экспорт
которая возвращает сгенерированный табличный документ
7 Gesperid
 
20.12.10
08:12
(6) эээ, вы (0) читали =)
8 Mitriy
 
20.12.10
08:18
(7) в (6) по-моему, вполне внятный ответ на (3)... по крайней мере, гораздо внятней задаваемых вопросов...
9 Gesperid
 
20.12.10
08:37
(8) Ещё раз - я не хочу формировать ТабДокумент сам, а хочу перехватить сформированный. Вопрос - как?
10 Gesperid
 
20.12.10
08:40
(8) Ну или так - у нас есть форма с реквизитом - ссылка на Документ.
Как вывести все 10 стандартных печатных форм добавив внизу подпись?
11 zzerro
 
20.12.10
09:26
(10) Ну так в Прцедуре Печать(...) перед УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент...)
и всавь свой обработчик, если уж оч хочется менять модуль докумета
12 Gesperid
 
20.12.10
09:32
(11) где я написал, что хочу менять модуль документа или что-либо в конфе?
13 Mitriy
 
20.12.10
09:46
(12) тогда тебе не повезло... внешние печатные обработки неудобно, конфигурацию менять неохота... остается только молиться...
14 Gesperid
 
20.12.10
09:49
(13) очень остроумно!
внешние печатные формы удобны для добавления новых, а замещение стандартных - не продумано
15 Mitriy
 
20.12.10
10:01
(14) разве? странно, а я замещаю и не парюсь...
16 hhhh
 
20.12.10
10:02
(14) всё там продумано. Просто там заполняещь поле "Заменяемая печатная форма". Чего-то ты всё придумываешь какие-то проблемы, которых нет.
17 Gesperid
 
20.12.10
10:06
(16) Я в курсе, я имею ввиду замещение на основе стандартных. Т.е. приходится тянуть весь код печати из модуля документа во внеш. печатную форму и вносить, часто незначительные изменения.
А потом с обновлениями синхронизировать эти замещалки. Я понимаю, проблема не глобальная но, всё-таки, у нас - мелких хотелок - море.
18 zzerro
 
20.12.10
11:11
Ну, тогда как вариант, можно слегка откорректировать процедуру
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент...,МойТабличнйДокумент = неопределено)
Например добавить туда один параметр МойТабличнйДокумент , и если он <> Неопределено, тогда присваивать ему сформированный табличный документ и отказаться от вывода табличного документа.
Таким образом во внешних печатных формах просо вызывать экспортную процедуру печати модуля документа с добавленным параметром. И тогда после возвращения в этот параметр сформированного табличного документа делать с ним все что хочется.

Вот!
19 zzerro
 
20.12.10
11:12
сорри, тупанул слегка
20 zzerro
 
20.12.10
11:21
Есть другой вариант, можешь попробоваь в УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент...) обрабатывать какой-нибудь глобальный параметр, и при необъходимости записывать в него сформированный табличный документ и во внешней обработке получать
21 Gesperid
 
20.12.10
11:41
(20) ага, спасибо, я нечто подобное и делаю =)
22 Gesperid
 
20.12.10
11:41
там список ИД надо хранить для ТабДок-ов
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.