|
Кнопки в Печатной форме | ☑ | ||
---|---|---|---|---|
0
keramik
09.02.15
✎
14:41
|
1С 8.2, Управление торговлей 10.3
Создал печатную форму в конфигурации, добавил кнопку в документ, которая вызывает непосредственно новую форму. Но когда открывается окно предпросмотра, то в нём не отображаются кнопки "На печать", "Сформировать PDF", "Отправить на почту". Однако у стандартных форм такие кнопки появляются. Как добавить эти кнопки, чтобы для запуска печати не надо было всё время жать "Ctrl+P"? |
|||
1
Fish
09.02.15
✎
14:42
|
(0) Ну так посмотри, какая форма открывает типовую печать.
|
|||
2
keramik
09.02.15
✎
14:46
|
(1) :D
Пол дня тупил, крутил формы так и этак. А решение было примитивно-простым. Спасибо, заработало |
|||
3
keramik
09.02.15
✎
16:08
|
Так, поторопился я кричать "Ура".
Как в языке 1С указать, что надо выбирать для печати форму с названием "Print"? Код в обработке такой: УниверсальныеМеханизмы.НапечататьДокументПоУмолчанию(ЭтотОбъект); Он выводит на печать документ, который отмечен "По Умолчанию". Но как указать свой документ? Если вписываю УниверсальныеМеханизмы.НапечататьДокументPrint(ЭтотОбъект); то появляется ошибка Object method not found (НапечататьДокументPrint). |
|||
4
Deon
09.02.15
✎
16:11
|
Я вот никогда не знал, как в таких случаях можно что-то объяснить
|
|||
5
salvator
09.02.15
✎
16:12
|
(3)
Ну дык передай свой табличный документ в эту процедуру. |
|||
6
salvator
09.02.15
✎
16:17
|
+(5) Кури процедуру УниверсальныеМеханизмы.НапечататьДокумент()
|
|||
7
Поpyчик-4
09.02.15
✎
16:20
|
||||
8
keramik
09.02.15
✎
16:39
|
Вот процедура, которая выводит на печать документ:
Процедура НапечататьДокумент(ПечДокумент, КоличествоЭкземпляров = 1, НаПринтер = Ложь, Заголовок = "", Ссылка = Неопределено, ИсточникМакета = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт Если ПечДокумент = Неопределено тогда Возврат; КонецЕсли; // Получить необходимое количество копий Если КоличествоЭкземпляров > 0 Тогда ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров; КонецЕсли; Если НЕ ПечДокумент.АвтоМасштаб И НЕ ЗначениеЗаполнено(ПечДокумент.ИмяПринтера) Тогда ПечДокумент.АвтоМасштаб = Истина; КонецЕсли; Если ТипЗнч(НаПринтер) = Тип("Булево") Тогда Если НаПринтер Тогда ПечДокумент.Вывод = ИспользованиеВывода.Разрешить; ПечДокумент.Напечатать(); Иначе // Эта форма позволяет печатать в файл ПДФ ФормаПечати = ПолучитьОбщуюФорму("ПечатьДокументов",, Новый УникальныйИдентификатор); ФормаПечати.ОбъектПечати = Ссылка; // ПечДокумент - ТабличыйДокумент, макет на печать, ФормаПечати.ПечатныйДокумент = ПечДокумент; // Заголовок - Заголовок окна табличного документа ФормаПечати.Заголовок = Заголовок; ФормаПечати.Защита = УправлениеДопПравамиПользователей.ЗащитаТаблиц(); //ФормаПечати.ИсточникМакета = ИсточникМакета; //ДополнительныеПараметры - структура параметров для использования при выводе уже сформированного табличного документа в Форме ПечатьДокументов. //Например для передачи майла Форме отправки почты ФормаПечати.ДополнительныеПараметры = ДополнительныеПараметры; ФормаПечати.Открыть(); КонецЕсли; ИначеЕсли ТипЗнч(НаПринтер) = Тип("Массив") Тогда ПечДокумент.Вывод = ИспользованиеВывода.Разрешить; ПечДокумент.Напечатать(); НаПринтер.Добавить(ПечДокумент); КонецЕсли; КонецПроцедуры // НапечататьДокумент() Я не понимаю, что именно тут поменять, чтобы печаталась новая форма Print. Добавил ИмяМакета = "Print" Но появилось сообщение, что Object method not found (Область) ЭлементыФормы.ПолеТабличногоДокумента.ВставитьОбласть(ПечатныйДокумент.Область()); из процедуры ПриОткрытии, которая находится в форме "ПечатьДокументов". |
|||
9
salvator
09.02.15
✎
16:41
|
(8) Ничего в ней менять не надо. Передавать в нее надо твой табличный документ.
|
|||
10
keramik
09.02.15
✎
16:48
|
А передавать надо в Процедуре "ПриОткрытии", которая в форме "ПечатьДокументов" находится?
|
|||
11
keramik
09.02.15
✎
17:03
|
Нашёл-таки, что и где выводить. Спасибо за подсказки всем.
Добавил в конце процедуры, формарующей форму Print, строку: УниверсальныеМеханизмы.НапечетатьДокумент(ТабДок,,,заголовок); |
|||
12
keramik
09.02.15
✎
17:09
|
Правда теперь два окна открыавются.
Одно с кнопками, как надо и второе без них. |
|||
13
keramik
09.02.15
✎
17:23
|
Хммм.... Получается, что у меня кнопрой запускается процедура Print и генерит печатную форму, а затем ещё процедура "НапечататьДокумент" из "УниверсальныеМеханизмы" создаёт ещё одну форму для печати.
Гррр.... мозг закипает потихоньку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |