Версия для печати темы (https://pro1c.org.ua/index.php?s=8b0ff9f22e7a5442d6780ed1ec0028bc&showtopic=41915)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Добавить кнопки на общую форму "ПечатьДокументов"

Автор: Constantus 15.11.17, 9:33

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

На общей форме "Печать документов" имеются кнопки: "Отправить по электронной почте" и "Сохранить как..."

Как можно добавить на эту форму кнопки "Печать", "Параметры страницы" и "Предварительный просмотр"?

Автор: salton 15.11.17, 10:22

Constantus @ Сегодня, 9:33 * ,
Очень просто. В конфигураторе, раздел ОбщиеФормы ищем "ПечатьДокументов". Выбираем кнопку (к примеру "Сохранить"), комбинация ctrl+c - ctrl+v добавляет нам рядом с кнопкой сохранить еще одну кнопку, устанавливаем ей нужную картинку а в модуле соответсвенно пишем необходимую процедуру вызываемую новой кнопкой

Автор: Constantus 15.11.17, 10:25

salton @ Сегодня, 13:22 * ,

Просто добавить кнопку можно... Нужен код, который позволит вывести на принтер, сделать предварительный просмотр и код для настройки печати (Параметры страницы)

Автор: Petre 15.11.17, 11:07

Constantus @ Сегодня, 11:25 * ,
Печать:

ТабличныйДокумент.Напечатать()

Автор: Constantus 15.11.17, 11:14

Petre @ Сегодня, 14:07 * ,

Понятно, спасибо... А как в общей форме "ПечатьДокументов" добавить кнопку "Параметры страницы"?

Код

ПечатныйДокумент.Напечатать();


Выводит на печать сразу.

Или какой код выводит на печать с возможностью выбора принтера?


Автор: Petre 15.11.17, 11:16

Constantus @ Сегодня, 12:14 * ,
Вы в СП заглянуть не хотите ли?

Цитата
ТабличныйДокумент (SpreadsheetDocument)
Напечатать (Print)
Синтаксис:

Напечатать(<ДиалогПечати>)
Параметры:

<ДиалогПечати> (необязательный)

Тип: РежимИспользованияДиалогаПечати.
Определяет необходимость показа диалога печати перед печатью.
Значение по умолчанию: НеИспользовать.

Автор: Constantus 15.11.17, 12:02

Petre @ Сегодня, 14:16 * ,

Да, спасибо, получилось...

А что на счет настроек Параметров страницы?

Автор: Petre 15.11.17, 12:32

Constantus @ Сегодня, 13:02 * ,
Стандартных средств нет. Только через icon_bum.gif путем использования sendkeys например...

Автор: Constantus 15.11.17, 12:44

Petre @ Сегодня, 15:32 * ,

Да, сейчас копаю в этом направлении. Вроде сработал, но нужно автоматом как-то переводить на русскую раскладку...

Wrapper = Новый COMОбъект("DynamicWrapper");
Wrapper.Register("USER32.DLL", "ActivateKeyboardLayout", "i=ll", "f=s", "r=l");
Wrapper.Register("USER32.DLL", "LoadKeyboardLayout", "i=sl", "f=s", "r=l");
rus = Wrapper.LoadKeyboardLayout("00000419", 0);
Wrapper.ActivateKeyboardLayout(rus, 0);

wsh=Новый COMОбъект("WScript.Shell");
wsh.SendKeys("%фр");


Выдает ошибку

Цитата
{ОбщаяФорма.ПечатьДокументов.Форма(81)}: Ошибка при вызове конструктора (COMОбъект)
Wrapper = Новый COMОбъект("DynamicWrapper");
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса


Автор: Petre 15.11.17, 13:46

Constantus @ Сегодня, 13:44 * ,

WHSShell = Новый COMОбъект("WScript.Shell");
WHSShell.SendKeys("%");
WHSShell.SendKeys("~");
WHSShell.SendKeys("{DOWN 10}");
WHSShell.SendKeys("~");

Автор: Constantus 15.11.17, 15:35

Petre @ Сегодня, 16:46 * ,

А можно расшифровать этот код? Что за что отвечает?

Автор: Petre 15.11.17, 15:39

Constantus @ Сегодня, 16:35 * ,
Альт, ентер, стрелка вниз (10 раз), ентер.

Автор: Constantus 15.11.17, 15:44

Цитата(Petre @ 15.11.17, 18:39) *
Альт, ентер, стрелка вниз (10 раз), ентер.


Мда... icon_beer17.gif 32541510.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua