![]() |
![]() |
![]() |
|
Печать из журнала документов Ø |
☑ | ||
---|---|---|---|---|
0
Иппонец
19.12.06
✎
11:53
|
Есть журнал документов,у него кнопка печать.
Задача-Вывести на печать документ.У документа есть Процедура Печать() Помогите плиз. Вот начало кода в модуле журнала Процедура ВыводНаПечать() ТекДок = ТекущийДокумент.ТекущийДокумент(); //Как здесь обратиться к процедуре Печать() дока? КонецПроцедуры // ВыводНаПечать |
|||
1
Макс 1С
19.12.06
✎
11:56
|
а что поиск отменили?
|
|||
2
Uho
19.12.06
✎
11:57
|
Процедура ВыводНаПечать()
ОткрытьФорму(ТекущийДокумент(),"Печать"); КонецПроцедуры // ВыводНаПечать В ПриОткрытии() документа: Если Форма.Параметр="Печать" Тогда Печать(); СтатусВозврата(0); Возврат; КонецЕсли; |
|||
3
Иппонец
19.12.06
✎
12:06
|
(2) Большой пасиб))
|
|||
4
Ученый
19.12.06
✎
12:19
|
Рекомендации от Uho не являются достаточно професииональными и нуждаются в дополнениях и уточнениях.
Применительно к посту 2 желательно также добавить следующий код. В процедуре Печать() для каждого документа журнала: Если Форма.Параметр="Печать" Тогда Таб.Напечатать(0); Иначе Таб.Показать(); КонецЕсли; Указанный код избавит пользователя от излишних телодвижений. Кроме того, если документ имеет несколько печатных форм, требуется сначала выдать список печатных форм для выбора, а затем установить переменную НомерТекущейФормы. Иногда также требуется выбрать процедуру печати, поскольку их может быть несколько. С учетом изложенного, в качестве параметра при открытии формы правильнее передавать список значений (команду печати и номер текущей формы). |
|||
5
Uho
19.12.06
✎
12:24
|
(4) "Рекомендации от Uho не являются достаточно професииональными и нуждаются в дополнениях и уточнениях." - это с чего это такая уверенность???
|
|||
6
Uho
19.12.06
✎
12:27
|
+5
"Таб.Напечатать(0);" почему ты уверен, что пользователь не захочет посмотреть документ перед печатью? "а затем установить переменную НомерТекущейФормы" с чего ты взял, что у автора есть такая переменная? |
|||
7
Макс 1С
19.12.06
✎
12:34
|
(4) НомерТекущейФормы - определяется в ПРиОоткрытии()
|
|||
8
Ученый
19.12.06
✎
12:37
|
7.С учетом результата выбора формы пользователем это выбор значение может нуждаться в переопределении.
(6) Речь идет о типовых конфигурациях. Для самописных могут быть другие механизмы выбора печатных форм, которые тоже нужно учесть при печати из журнала с передачей параметров. 5.Сужу по глубине ответов на форуме и другим признакам. |
|||
9
Uho
19.12.06
✎
12:42
|
(8) "Речь идет о типовых конфигурациях" ты видимо сам с собой разговариваешь? Автор ни слова про типовую не сказал.
"Сужу по глубине ответов на форуме и другим признакам" - ок, судите дальше |
|||
10
Макс 1С
19.12.06
✎
13:02
|
(8) ну так и где же твой ответ на (0)??
|
|||
11
smaharbA
19.12.06
✎
13:10
|
Напечатаю без изменения модуля формы, без ВК
|
|||
12
Ученый
19.12.06
✎
13:17
|
10. А разве (4) не ответ???
Но можно сделать круче. Я рекомендую универсальную вещь, не требующую изменения модулей журналов и документов. Будет работать в любых журналах и печатать любые документы, а также и сама по себе(не из журналов). Вместо кнопки на форме журнала- горячая клавиша, нажатие которой перехватывает FormEx. Вместо копания в модулях- внешняя обработка, в которую передается парамером текущий документ журнала. Из этой же обработки без открытия формы организуется печать документа (при необходимости- с выдачей диалога выбора печатной формы, если их обнаружено несколько). В качестве обработки можно использовать следующую http://strastin.narod.ru/prod61.htm |
|||
13
Ученый
19.12.06
✎
13:19
|
11.Можно, путем эмуляции нажатий кнопок клавиатуры.
|
|||
14
Макс 1С
19.12.06
✎
13:32
|
(12) по мне нет... а если у дока нет переменой " НомерТекущейФормы" ??
|
|||
15
Uho
19.12.06
✎
13:33
|
(12)
(4) - ответ, только не на вопрос (0) на вопрос (0) ответ в (2) |
|||
16
smaharbA
19.12.06
✎
13:56
|
(13) Нет, абсолютно штатно...
(12) не умничай... |
|||
17
smaharbA
19.12.06
✎
13:58
|
Кстати в (12) полный абзац, а не метода...
|
|||
18
Одинэсник
19.12.06
✎
14:01
|
(17) насколько мне известно, мысль изложенная в 11, изречена не из-за денежного эквивалента, а для затравки зрителей и спортивного интереса, ....короче хочется ужо код посмотреть и положить себе в запасник :)
|
|||
19
Бит
19.12.06
✎
14:04
|
(18)интерактивно
|
|||
20
smaharbA
19.12.06
✎
14:19
|
(18) метода не моя, а Рупора...(не всегда и не везде проканает, хотя если покумекать можно и сразу печать устроить (это реально) )
... Перем Конт; Процедура Задержка() Форма.ОбработкаОжидания("",0); конт.Форма.ОбработкаОжидания("",0); конт.Форма.Закрыть(0); КонецПроцедуры // Задержка //******************************************* Процедура Сформировать() Док=СоздатьОбъект("Документ.СчетФактура"); Док.ВыбратьДокументы('07.11.2006','07.11.2006'); Если (Док.ПолучитьДокумент() = 1) Тогда Форма.ОбработкаОжидания("Задержка",2); ОткрытьФорму(Док.ТекущийДокумент(),конт,1); конт.Форма.ОбработкаОжидания("Печать",1); КонецЕсли; КонецПроцедуры |
|||
21
Uho
19.12.06
✎
14:27
|
(20) прикольно :)
|
|||
22
Uho
19.12.06
✎
14:28
|
+21 т.е вызов ЛЮБОЙ процедуры через обработку ожидания
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |