При запуске печатной формы может появляться ошибка проверки вывода. Это означает что, при создании табличного документа в программном коде используется стандартная функция ПроверитьВывод(), которая и выводит ошибку.
Возникновение данной ошибки может быть связано с тем, что в параметрах печати указан не существующий принтер. Такое может получиться если: раньше в Windows был установлен принтер, который указали в параметрах печати в 1С, а затем принтер удалили. Таким образом, в параметрах печати указан идентификатор принтера, который не зарегистрирован в операционной системе.
Для решения данной проблемы нужно стереть параметры печати в сохраненных настройках. Так как ошибка появляется до того как печатная форма будет выведена, то изменить в главном меню "Параметры страницы" в 1С Предприятии не получится.
Программно стереть параметры страницы (параметры печати) В типовых конфигурациях в обычном приложении, параметры печатных форм сохраняются в "ХранилищеСистемныхНастроек". Используя программные средства встроенного языка 1С, можно удалить требуемые настройки. "ХранилищеСистемныхНастроек" содержит все настройки печатных форм. Поэтому, если требуется удалить настройку для определенной формы, нужно знать "КлючПараметровПечати". Данный параметр прописывается в свойствах табличного документа.
Программный код печатной формы
ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДокумент.КлючПараметровПечати = "ПараметрыПечати_ТоварнаяНакладная";
//.......................... //.......................... //.......................... //.......................... //.......................... //.......................... //..........................
ТабДокумент.Показать();
Удаление настройки для печатной формы из "ХранилищеСистемныхНастроек" В данном примере удаляется настройка для текущего пользователя, содержащая подстроку "ПараметрыПечати_ТоварнаяНакладная".
Выборка = ХранилищеСистемныхНастроек.Выбрать(); Пока Выборка.Следующий() Цикл //Если КлючОбъекта содержит подстроку "ПараметрыПечати_ТоварнаяНакладная" //и пользователь равен текущему пользователю, то настройку удаляем Если Найти(Выборка.КлючОбъекта, "ПараметрыПечати_ТоварнаяНакладная") <> 0 И Выборка.Пользователь = ПараметрыСеанса.ТекущийПользователь.Наименование Тогда
ХранилищеСистемныхНастроек.Удалить(Выборка.КлючОбъекта, Выборка.КлючНастроек, Выборка.Пользователь);
КонецЕсли; КонецЦикла;
|