Тип: Строка. Содержит имя принтера, известного в системе, на который будет выводиться табличный документ при печати.
Полное описание, параметры и ограничения
ТабличныйДокумент.ИмяПринтера (SpreadsheetDocument.PrinterName)
ТабличныйДокумент (SpreadsheetDocument)
ИмяПринтера (PrinterName)
Доступен, начиная с версии 8.0.
Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит имя принтера, известного в системе, на который будет выводиться табличный документ при печати.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Открыть печать двух учебных товаров с подтверждением
На каждой попытке требуется новая точная фраза. Метод вызывается с Использовать: диалог печати не пропускается.
Где и как запускать
Полный модуль собственной управляемой формы; толстый клиент Windows. Не запускать в рабочей конфигурации.
Подготовка
Создайте собственную отдельную учебную базу с именем конфигурации УчебнаяКонфигурацияСинтаксиса, внешнюю обработку и пустую управляемую форму. Откройте её в толстом клиенте Windows 8.5.1.1343.
Для командного урока создайте команду Выполнить, кнопку и действие Выполнить. Вставьте весь приведённый модуль, включая функции ниже процедуры.
Книга / 3 и Ручка / 1 создаются в новом табличном документе. Рабочие печатные формы, документы базы и файлы организации не используются.
Основной язык собственной конфигурации — ru. Урок языков дополнительно требует язык en. Языки создаются вручную в Конфигураторе; код не устанавливает их и не переводит текст автоматически.
Урок проверки печати требует установленного собственного тестового/виртуального принтера. На форме создайте строковый реквизит УчебныйПринтер и введите точное имя устройства.
Для реальной печати дополнительно нужен строковый реквизит Подтверждение. Для окна нужна отдельная команда СкрытьУчебноеОкно. Для сохранения первый запуск использует новый временный MXL, не существующий рабочий файл.
При создании руководства 1С, принтер и запись файла не запускались. Окна, драйвер и обратный вызов проверяются вручную в собственной учебной базе.
&НаКлиенте
Процедура Выполнить(Команда)
Если ПустаяСтрока(УчебныйПринтер) Тогда
ВызватьИсключение "Введите точное имя собственного тестового принтера";
КонецЕсли;
Если Подтверждение <> "ПЕЧАТАЮ ТОЛЬКО УЧЕБНЫЕ ДАННЫЕ" Тогда
ВызватьИсключение "Введите точную фразу подтверждения";
КонецЕсли;
Подтверждение = "";
Документ = СоздатьУчебныйДокумент();
Документ.ИмяПринтера = УчебныйПринтер;
Документ.КоличествоЭкземпляров = 1;
Сообщить(Документ.Область(2, 1).Текст = "Книга");
Сообщить(Документ.Область(3, 1).Текст = "Ручка");
Сообщить("Проверьте в диалоге точное устройство: " + УчебныйПринтер);
Документ.Напечатать(РежимИспользованияДиалогаПечати.Использовать);
КонецПроцедуры
&НаКлиенте
Функция СоздатьУчебныйДокумент()
Документ = Новый ТабличныйДокумент;
Документ.КодЯзыка = "ru";
Документ.Область(1, 1).Текст = "Товар";
Документ.Область(1, 2).Текст = "Количество";
Документ.Область(2, 1).Текст = "Книга";
Документ.Область(3, 1).Текст = "Ручка";
Документ.Область(2, 2).Текст = "3";
Документ.Область(3, 2).Текст = "1";
Документ.Область(, 1, , 1).ШиринаКолонки = 25;
Документ.Область(, 2, , 2).ШиринаКолонки = 12;
Возврат Документ;
КонецФункцииРазбор по шагам
Открыть только собственную учебную базу, задать имя тестового устройства и точную фразу ПЕЧАТАЮ ТОЛЬКО УЧЕБНЫЕ ДАННЫЕ.
Очистить фразу до вызова печати. Повторное нажатие не отправляет новое задание без нового подтверждения.
Создать только Книгу и Ручку, установить одну копию и проверить содержимое до вызова метода.
Открыть диалог через Использовать. В первом ручном тесте нажать Отмена и проверить, что задания на собственном устройстве нет.
Как проверить результат
Две проверки содержимого дают Истина.
Без точного подтверждения или имени устройства вызова печати нет. Возврат из Напечатать не трактуется как успешность печати.
Ожидаемый результат
Самостоятельный безопасно ограниченный образец ручного запуска печати.
На что обратить внимание
У Напечатать значение по умолчанию НеИспользовать: вызов без аргумента может печатать без диалога, здесь так делать нельзя.
Пользователь может поменять устройство в диалоге; перед подтверждением проверьте его вручную.
Если используете виртуальный PDF-принтер, выбирайте новый собственный файл и не перезаписывайте существующий.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить строки и подвал перед выводом на страницу
Добавляем 120 собственных учебных строк, оставляя место для подвала. Проверяем физические поля настоящего тестового драйвера без отправки задания печати.
Где и как запускать
Полный модуль собственной управляемой формы; толстый клиент Windows. Не запускать в рабочей конфигурации.
Подготовка
Создайте собственную отдельную учебную базу с именем конфигурации УчебнаяКонфигурацияСинтаксиса, внешнюю обработку и пустую управляемую форму. Откройте её в толстом клиенте Windows 8.5.1.1343.
Для командного урока создайте команду Выполнить, кнопку и действие Выполнить. Вставьте весь приведённый модуль, включая функции ниже процедуры.
Книга / 3 и Ручка / 1 создаются в новом табличном документе. Рабочие печатные формы, документы базы и файлы организации не используются.
Основной язык собственной конфигурации — ru. Урок языков дополнительно требует язык en. Языки создаются вручную в Конфигураторе; код не устанавливает их и не переводит текст автоматически.
Урок проверки печати требует установленного собственного тестового/виртуального принтера. На форме создайте строковый реквизит УчебныйПринтер и введите точное имя устройства.
Для реальной печати дополнительно нужен строковый реквизит Подтверждение. Для окна нужна отдельная команда СкрытьУчебноеОкно. Для сохранения первый запуск использует новый временный MXL, не существующий рабочий файл.
При создании руководства 1С, принтер и запись файла не запускались. Окна, драйвер и обратный вызов проверяются вручную в собственной учебной базе.
&НаКлиенте
Процедура Выполнить(Команда)
Если ПустаяСтрока(УчебныйПринтер) Тогда
ВызватьИсключение "Введите точное имя собственного тестового принтера";
КонецЕсли;
Документ = СоздатьУчебныйДокумент();
Документ.ИмяПринтера = УчебныйПринтер;
Документ.АвтоМасштаб = Ложь;
Документ.МасштабПечати = 100;
Попытка
Верх = Документ.ПолучитьРазмерПоляПринтераСверху();
Лево = Документ.ПолучитьРазмерПоляПринтераСлева();
Низ = Документ.ПолучитьРазмерПоляПринтераСнизу();
Право = Документ.ПолучитьРазмерПоляПринтераСправа();
Документ.ПолеСверху = Макс(15, Верх);
Документ.ПолеСлева = Макс(15, Лево);
Документ.ПолеСнизу = Макс(15, Низ);
Документ.ПолеСправа = Макс(15, Право);
Сообщить(Документ.ПолеСверху >= Верх И Документ.ПолеСнизу >= Низ);
Сообщить(Документ.ПолеСлева >= Лево И Документ.ПолеСправа >= Право);
СтрокаОтчета = Новый ТабличныйДокумент;
СтрокаОтчета.Область(1, 1).Текст = "Учебная позиция";
СтрокаОтчета.Область(, 1, , 1).ШиринаКолонки = 25;
Подвал = Новый ТабличныйДокумент;
Подвал.Область(1, 1).Текст = "Только собственные учебные данные";
Проверяемые = Новый Массив;
Проверяемые.Добавить(СтрокаОтчета);
Проверяемые.Добавить(Подвал);
Для Номер = 1 По 120 Цикл
СтрокаОтчета.Область(1, 1).Текст = "Учебная позиция " + Строка(Номер);
Если НЕ Документ.ПроверитьВывод(Проверяемые) Тогда
Документ.ВывестиГоризонтальныйРазделительСтраниц();
Если НЕ Документ.ПроверитьВывод(Проверяемые) Тогда
ВызватьИсключение "Строка и подвал не помещаются даже на новой странице: уменьшите собственный макет";
КонецЕсли;
КонецЕсли;
Документ.Вывести(СтрокаОтчета);
КонецЦикла;
Документ.Вывести(Подвал);
Метка = Новый ТабличныйДокумент;
Метка.Область(1, 1).Текст = "ТЕСТ";
Метка.Область(, 1, , 1).ШиринаКолонки = 10;
Справа = Новый Массив;
Справа.Добавить(Метка);
УмещаетсяСправа = Документ.ПроверитьПрисоединение(Справа);
Сообщить(ТипЗнч(УмещаетсяСправа) = Тип("Булево"));
Если УмещаетсяСправа Тогда
Документ.Присоединить(Метка);
КонецЕсли;
Страниц = Документ.КоличествоСтраниц();
Сообщить(Страниц > 0);
Сообщить("Страниц по текущему драйверу: " + Строка(Страниц));
Исключение
ВызватьИсключение "Проверка собственного макета не завершена: " + ОписаниеОшибки();
КонецПопытки;
Документ.ТолькоПросмотр = Истина;
Документ.Показать("guide-owned: проверка пагинации");
КонецПроцедуры
&НаКлиенте
Функция СоздатьУчебныйДокумент()
Документ = Новый ТабличныйДокумент;
Документ.КодЯзыка = "ru";
Документ.Область(1, 1).Текст = "Товар";
Документ.Область(1, 2).Текст = "Количество";
Документ.Область(2, 1).Текст = "Книга";
Документ.Область(3, 1).Текст = "Ручка";
Документ.Область(2, 2).Текст = "3";
Документ.Область(3, 2).Текст = "1";
Документ.Область(, 1, , 1).ШиринаКолонки = 25;
Документ.Область(, 2, , 2).ШиринаКолонки = 12;
Возврат Документ;
КонецФункцииРазбор по шагам
Назначить точное имя собственного принтера и получить четыре минимальных физических отступа в миллиметрах. Установить каждый отступ не меньше соответствующего ограничения драйвера.
Перед каждой строкой проверить массив из строки и подвала. Подвал пока не выводится: его высота только резервируется в проверке.
Если массив не умещается, вывести разрыв страницы и проверить вновь. Невмещающийся даже на новой странице макет вызывает понятную ошибку, а не бесконечные разрывы.
После строк вывести один подвал. Отдельно проверить размещение собственной метки справа через ПроверитьПрисоединение с массивом.
Получить реальное количество страниц и показать документ. Ни Напечатать, ни сохранение PDF этот урок не вызывает.
Как проверить результат
При исправном собственном драйвере четыре проверки дают Истина.
Число страниц диагностическое: оно зависит от устройства, бумаги и масштаба. При отсутствии принтера ожидается понятная ошибка, не сообщение об успешной проверке.
Ожидаемый результат
Практический образец проверки пагинации и ширины до ручной печати.
На что обратить внимание
ПроверитьВывод при слишком маленьких физических полях может дать Истина, но фактическая печать обрежется: здесь поля сравниваются с драйвером.
ПроверитьПрисоединение получает массив даже для одного документа; не подменяйте его одиночной таблицей.
Превью и драйвер не доказывают выход бумаги из устройства.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.