1CLenta.ru  

Ошибка подключения принтера (проверки вывода) в печатной форме

Программирование системы     21.03.2018 15:50     3270

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

Возникновение данной ошибки может быть связано с тем, что в параметрах печати указан не существующий принтер. Такое может получиться если: раньше в Windows был установлен принтер, который указали в параметрах печати в 1С, а затем принтер удалили. Таким образом, в параметрах печати указан идентификатор принтера, который не зарегистрирован в операционной системе.

Для решения данной проблемы нужно стереть параметры печати в сохраненных настройках. Так как ошибка появляется до того как печатная форма будет выведена, то изменить в главном меню "Параметры страницы" в 1С Предприятии не получится.

Программно стереть параметры страницы (параметры печати)


В типовых конфигурациях в обычном приложении, параметры печатных форм сохраняются в "ХранилищеСистемныхНастроек". Используя программные средства встроенного языка 1С, можно удалить требуемые настройки. "ХранилищеСистемныхНастроек" содержит все настройки печатных форм. Поэтому, если требуется удалить настройку для определенной формы, нужно знать "КлючПараметровПечати". Данный параметр прописывается в свойствах табличного документа.

Программный код печатной формы


ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДокумент.КлючПараметровПечати = "ПараметрыПечати_ТоварнаяНакладная";

//..........................
//..........................
//..........................
//..........................
//..........................
//..........................
//..........................

ТабДокумент.Показать();


Удаление настройки для печатной формы из "ХранилищеСистемныхНастроек"


В данном примере удаляется настройка для текущего пользователя, содержащая подстроку "ПараметрыПечати_ТоварнаяНакладная".

Выборка = ХранилищеСистемныхНастроек.Выбрать();

Пока Выборка.Следующий() Цикл

//Если КлючОбъекта содержит подстроку "ПараметрыПечати_ТоварнаяНакладная"
//и пользователь равен текущему пользователю, то настройку удаляем

Если Найти(Выборка.КлючОбъекта, "ПараметрыПечати_ТоварнаяНакладная") <> 0
И Выборка.Пользователь = ПараметрыСеанса.ТекущийПользователь.Наименование Тогда

ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, Выборка.КлючНастроек, Выборка.Пользователь);

КонецЕсли;

КонецЦикла;

Комментарии (0)