Столкнулся с такой ошибкой, при выводе информации на печатную форму, платформа выдает следующее сообщение:
Ошибка при вызове метода контекста (ПроверитьВывод)…
ПроверитьВывод() — это метод табличного документа, который проверяет, умещаются ли переданные табличные документы на страницу при печати. В примечании у этого метода разработчики платформы 1С сразу написали, что при возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.
Проверил установленные принтеры, все исправно и работает. Эмпирическим путем выяснил, что данная ошибка возникает только у конкретной печатной формы и только под одним пользователем.
Ошибка решилась следующими действиями (выполнять под пользователем, у которого возникла ошибка):
1) Создал пустой документ, что бы при формировании печатной формы не был задействован метод ПроверитьВывод(). Если же этот метод в любом случае вызывается, то придется его найти в конфигурации и закомментировать, или же поместить в конструкцию Попытка-Исключение-КонецПопытки.
1. Помещение ПроверитьВывод в попытку |
2) Сформировал печатную форму.
2. Пустая печатная форма (кол-во товаров = 0) |
3) Для текущей печатной формы открыл параметры страницы и установил правильные параметры.
3. Параметры страницы |
Ошибка возникала из-за неправильных параметров страницы, которые платформа сохранила ранее при выводе на печать печатной формы, например: платформа сохранила в параметрах страницы принтер, который в дальнейшем удалили и установили новый. Параметры страницы печатной формы хранятся в свойстве табличного документа КлючПараметровПечати. Это свойство содержит ключ значения, в котором сохраняются параметры печати таблицы. Параметры печати, настроенные и сохраненные с данным ключом, впоследствии восстанавливаются при следующем показе таблицы.
Что бы данная ошибка не возникала из-за неправильных параметров страницы, свойство КлючПараметровПечати следует устанавливать не в начале процедуры вывода на печать, а в конце, так как при установке данного свойства параметры печати тут же восстанавливаются.
UPD 04/10/2015: Если устанавливать свойство КлючПараметровПечати в конце формирования табличного документа, то метод ПроверитьВывод будет использовать параметры печати установленные по-умолчанию, а не пользовательские. Что бы избежать данной ситуации, необходимо устанавливать свойство КлючПараметровСистемы в начале формирования табличного документа, а метод ПроверитьВывод поместить в конструкцию Попытка-Исключение-КонецПопытки.
«ПроверитьВывод() — это метод табличного документа, который проверяет, умещаются ли переданные табличные документы на страницу при печати. В примечании у этого метода разработчики платформы 1С сразу написали, что при возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.
Проверил установленные принтеры, все исправно и работает. Эмпирическим путем выяснил, что данная ошибка возникает только у конкретной печатной формы и только под одним пользователем.
Ошибка решилась следующими действиями (выполнять под пользователем, у которого возникла ошибка):
1) Создал пустой документ, что бы при формировании печатной формы не был задействован метод ПроверитьВывод(). Если же этот метод в любом случае вызывается, то придется его найти в конфигурации и закомментировать, или же поместить в конструкцию Попытка-Исключение-КонецПопытки.
3) Для текущей печатной формы открыл параметры страницы и установил правильные параметры.
Ошибка возникала из-за неправильных параметров страницы, которые платформа сохранила ранее при выводе на печать печатной формы, например: платформа сохранила в параметрах страницы принтер, который в дальнейшем удалили и установили новый. Параметры страницы печатной формы хранятся в свойстве табличного документа КлючПараметровПечати. Это свойство содержит ключ значения, в котором сохраняются параметры печати таблицы. Параметры печати, настроенные и сохраненные с данным ключом, впоследствии восстанавливаются при следующем показе таблицы.
Что бы данная ошибка не возникала из-за неправильных параметров страницы, свойство КлючПараметровПечати следует устанавливать не в начале процедуры вывода на печать, а в конце, так как при установке данного свойства параметры печати тут же восстанавливаются.»
мб поможет.
никмейн 57 / 39 / 19 Регистрация: 24.10.2016 Сообщений: 974 |
||||
1 |
||||
1C 8.x Создание внешней печатной формы23.02.2020, 13:41. Показов 1135. Ответов 6 Метки нет (Все метки)
Здравствуйте!!! Подскажите пожалуйста: Сделал внешнюю печатную форму, указал реквизит Ссылка, тип его «ДокументСсылкаПриходнаяНакладная». Имеется макет, я вывожу в ней данные только одного документа, как изменить код, чтобы вывести данные из нескольких документов находящиеся в том же списке документа? Это надо Команду создать? у меня если что версия 8.1 Кликните здесь для просмотра всего текста
Миниатюры
0 |
57 / 39 / 19 Регистрация: 24.10.2016 Сообщений: 974 |
|
24.02.2020, 15:00 [ТС] |
2 |
а как команду объекта связать с внешней обработкой если это возможно?
0 |
5 / 4 / 1 Регистрация: 21.10.2019 Сообщений: 194 |
|
27.02.2020, 10:30 |
3 |
а как команду объекта связать с внешней обработкой Если команда на форме внешней обработки, то конечно можно, нет никакой разницы внешняя это обработка или обработка в конфигурации. Все внешние обработки находятся в меню сервис-дополнительные отчеты и обработки. А по факту в Справочнике внешних обработок и программа находит их легко.
0 |
никмейн 57 / 39 / 19 Регистрация: 24.10.2016 Сообщений: 974 |
||||||||
28.02.2020, 09:18 [ТС] |
4 |
|||||||
Необходимо, чтобы если у меня не влезет на страницу , тогда был разрыв и переходил на новую страницу, как изменить код? Кликните здесь для просмотра всего текста
Добавлено через 21 минуту Кликните здесь для просмотра всего текста
0 |
856 / 655 / 111 Регистрация: 01.11.2012 Сообщений: 2,411 |
|
28.02.2020, 12:21 |
5 |
Возможно в Винде не выбран принтер по умолчанию.
0 |
57 / 39 / 19 Регистрация: 24.10.2016 Сообщений: 974 |
|
28.02.2020, 14:29 [ТС] |
6 |
а в коде все правильно? или сделать в попытке-исключения? Добавлено через 1 час 30 минут Добавлено через 21 минуту
0 |
57 / 39 / 19 Регистрация: 24.10.2016 Сообщений: 974 |
|
03.03.2020, 09:44 [ТС] |
7 |
может, как-то через цикл попробовать, или не поможет?
0 |
-
Обнаружены ошибки:
{Документ.РеализацияТоваровУслуг.МодульОбъекта (1155)}: Ошибка при вызове метода контекста (ПроверитьВывод)
Если Ном <> 1 И НЕ ТабДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда
по причине:Такая ошибка возникает у одного из пользователей удаленного рабочего стола.
Если я со своей машины захожу таким же образом под тем же самым пользователем (и системным и пользователем 1С) у меня такая ошибка не возникает.
что может быть?
-
Offline
Наташа
Опытный в 1С- Регистрация:
- 14 авг 2010
- Сообщения:
- 1.442
- Симпатии:
- 2
- Баллы:
- 29
-
это все что есть на экране, более ничего сказать не могу.
это же 1с!!! -
Offline
Requin
Опытный в 1С- Регистрация:
- 10 май 2010
- Сообщения:
- 1.911
- Симпатии:
- 2
- Баллы:
- 29
-
для того, чтобы сохранить документ в MXL, человеку нужно купить принтер? -
Offline
Requin
Опытный в 1С- Регистрация:
- 10 май 2010
- Сообщения:
- 1.911
- Симпатии:
- 2
- Баллы:
- 29
P.S. Принтер можете не покупать, просто установите какой-нибудь (файловый).
-
спасибо, передам ваш совет.
хотя уважающий себя программист осуществляет проверку на конкретное действие — в данном случае это вывод отчета: КУДА — если на экран — одна ветка, если на принтер — другая.
я так думаю, что программистам 1с надо пройти начальные курсы по основам построения логики программы, а лучше начать с базовых курсов по информатике. -
Offline
x_under
Модераторы
Команда форума
Модератор- Регистрация:
- 25 апр 2007
- Сообщения:
- 2.576
- Симпатии:
- 16
- Баллы:
- 29
:angry: Ну какой вы агрессивный. Тут же все по принципу: не нравится не ешь.
Эта функция используется для определения помещается на экран форма или нет. А без принтера, хотя бы виртуального этого не определить. Вдруг вы на А3 или А5 печатаете (ну или на рулоне бумаги)… Так что всем не угодишь.
-
Online
nomad_irk
Гуру в 1С- Регистрация:
- 20 окт 2008
- Сообщения:
- 9.724
- Симпатии:
- 1.014
- Баллы:
- 204
кхм, ну можно было бы возвращать неопределено, в случае, если принтера нет в системе, а не вываливаться в ошибку
-
Offline
kallugin
- Регистрация:
- 22 ноя 2011
- Сообщения:
- 1
- Симпатии:
- 0
- Баллы:
- 1
UP
Та же самая ошибка, один в один, но есть нюансы:
— переустановили Винду на терминальном сервере, был 2008 х86, стал 2008 64, соответственно, драйвера принтеров уже другие
— документ, в котором всего одна строка, печатается нормально, больше одной — та самая ошибка
— с одних компьютеров выдаёт такую ошибку, с других — нет, нормально печатает. Сегодня с утра заходил на тот же сервер и печатал те самые документы для бухгалтеров, я могу печатать, они — нет. Среда одинаковая, сервер один и тот же, принтеры одни и те же (их там два сетевых), конфигурацию не меняли.
Может это быть из-за того, что система запомнила какие-то настройки «с прошлого раза» (у бухгалтеров, которые этот документ печатали)? И как бы их обнулить?
-
Offline
x_under
Модераторы
Команда форума
Модератор- Регистрация:
- 25 апр 2007
- Сообщения:
- 2.576
- Симпатии:
- 16
- Баллы:
- 29
Попробуйте базу переподключить.
-
Offline
Настя
- Регистрация:
- 3 июл 2012
- Сообщения:
- 1
- Симпатии:
- 0
- Баллы:
- 1
{Form.ФормаОтчета.Form(4)}: Ошибка при вызове метода контекста (Add)
ТабЗН.Колонки.Добавить(«ТипНомера»,»Строка»,»Тип номера»);
что за ошибка? подскажите пожалуйста -
Offline
1cUserAndrew
Профессионал в 1С
Команда форума- Регистрация:
- 27 май 2010
- Сообщения:
- 5.125
- Симпатии:
- 212
- Баллы:
- 104
Второй параметр имеет тип данных «ОписаниеТипов».
ТабЗН.Колонки.Добавить("ТипНомера", Новый ОписаниеТипов("Строка"), "Тип номера");
-
Offline
qweqweqwe123777
Новичок в 1С- Регистрация:
- 30 янв 2015
- Сообщения:
- 1
- Симпатии:
- 1
- Баллы:
- 4
у меня ошибка получения информации о принтере
решилась установкой прав на принтер.
В свойствах принтера на вкладке Безопасность добавил группу пользователей Domain users полные права
Всем привет. Сегодня я столкнулся с достаточно недокументированой особеностью платформы. А именно при формировании печатной формы некооректно отрабатывал метод ПроверитьВывод. Суть проблеммы заключалась в том что табличный документ не влезал на страницу, и последние две строчки печатались на отдельном листе. Решив, что я что-то напутал в коде я все проверил, естественно ни чего особенного в нем не нашел. Поскольку проблемма была не решена, а решить ее требовалось, я готов был прикрутить костыль, а именно перед началом вывода документа увеличить поля табличного документа, а после вывести документы с нормальными полями, к сожалению,а может быть и к счастью(так как в дальнейшем, была найдена и устранена данная ошибка), эту проблему таким способом решить не удалось. Документ по прежнему печатался как и раньше, т.е вылезал за область документа.
Еще раз изучив код вывода документа, Я обратил внимание на строчку:
ТабДокумент.ИмяПараметровПечати = «ИмяПечатнойФормы»;
Все дело оказалось в свойстве табличного документа КлючПараметровПечати или ИмяПараметровПечати. Как оказалось при установке данного свойства настройки печатной формы тут же восстанавливаются. После того как я изменил имя печатной формы, метот ПроверитьВывод заработал корректно.
Таким образом данное свойство следует устанавливать не в начале процедуры вывода на печать а в конце.