Перестали работать все печатные формы
(1) Можно написать что угодно и достаточно одной точки, например, «Фигня.ТрудовойДоговор» прекрасно работает. А все изза того что производится поиск в РегистрСведений.ПользовательскиеМакетыПечати, в котором измерениями являются : Объект = Фигня, ИмяМакета = ТрудовойДоговор. После того как программа не нашла аналогов вашей Фигне в этом регистре, она открывает ваш макет ТрудовойДоговор.
Считаю что это должны исправить, т.к. для ВПФ нечего указать в качестве пути. А вы считаете что это должны исправить?
если в вашем внешнем макете ( печатной форме) таблица называлась Общая
но после обновления разрботчики ее назвали Общие
В передаваемых параметрах (шестой) к процедуре ВывестиТабличныйДокументВКоллекцию нужен полный путь до печатной формы.
(6) не совсем понял, внешняя печатная форма расположена в этойже самой внешней обработки, что нужно сдлать чтобы система не ругалась. В приведенном выше примере сылается на нахождение формы в документе.
Так же вопрос, если одна печатная форма (новая, расположена в самой обработке) используется на два документа? то данную функцию нельзя универсально использовать? нужно вместо одной обработки сделать две?
Я поступил следующим образом.
Добавил в расширение УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию с функцией Перед
Теперь печатные формы переделывать не потребуется.
Добавьте в расширение процедуру общего модуля УправлениеПечатьюМультиязычность &Вместо(«ЯзыкиМакета»).
//и будет вам счастье:) не надо будет трогать ни одну форму
Твоим способом заработает, НО ПРИ ЭТОМ СТАНДАРТНЫЕ ПФ перестанут работать.
НУЖНО ПРОСТО В ОБРАБОТКУ ПРОПИСАТЬ полный муть на макет, например :
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, «ДоговорПодрядаСБК») Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,»ДоговорПодрядаСБК», «ДоговорПодрядаСБК»,
ПечатьДоговора(МассивОбъектов, ОбъектыПечати),,
» Документ.ДоговорРаботыУслуги.ПФ_MXL_ДыговорПодряда «);
Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы
При подключении внешних печатных форм в 1С может появиться ошибка «Печатная форма недоступна». Рассмотрим порядок действий для исправления данной ошибки.
Как формируется ошибка Печатная форма недоступна
Скачать:
Что это значит в переводе на «русский язык»?
В большинстве случаев это значит, что неправильно определяется параметр СсылкаНаОбъект в модуле объекта внешней печатной формы. Разберем ситуацию на конкретном примере.
Как исправить ошибку
Пошаговая инструкция исправления ошибки.
Получите понятные самоучители 2021 по 1С бесплатно:
Шаг 1. Открыть Конфигуратор 1С.
Шаг 2. Перейти в модуль объекта обработки.
По кнопке Действия — Открыть модуль объекта перейдите в программный код.
Шаг 3. Поиск ошибки.
Шаг 4. Исправление ошибки.
Шаг 5. Обновление внешней обработки в программе.
Ошибка Печатная форма недоступна в 1С 8.3 больше появляться не будет.
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
Карточка публикации
(2 оценок, среднее: 5,00 из 5)
Печатная форма недоступна. внешняя печатная форма.
Создала внешнюю печатную форму Бухгалтерия предприятия, редакция 3.0 (3.0.37.32)
Добавила в доп отчеты и обработки, при выводе из документа, пишет «Печатная форма недоступна». в чем может быть проблема?
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить(«Наименование», «Т-53»);
ПараметрыРегистрации.Вставить(«Вид», «ПечатнаяФорма»);
ПараметрыРегистрации.Вставить(«Информация», «Любая дополнительная информация»);
ПараметрыРегистрации.Вставить(«БезопасныйРежим», Ложь);
ПараметрыРегистрации.Вставить(«Версия», «1.0»);
МассивНазначений = Новый Массив;
МассивНазначений.Добавить(«Документ.РасходныйКассовыйОрдер»);
ПараметрыРегистрации.Вставить(«Назначение», МассивНазначений);
тзКоманды = Новый ТаблицаЗначений;
тзКоманды.Колонки.Добавить(«Идентификатор»);
тзКоманды.Колонки.Добавить(«Представление»);
тзКоманды.Колонки.Добавить(«Модификатор»);
тзКоманды.Колонки.Добавить(«ПоказыватьОповещение»);
тзКоманды.Колонки.Добавить(«Использование»);
строкаКоманды = тзКоманды.Добавить();
строкаКоманды.Идентификатор = «Т53»;
строкаКоманды.Представление = «Т-53 внешняя»;
строкаКоманды.Модификатор = «ПечатьMXL»;
строкаКоманды.ПоказыватьОповещение = Истина;
строкаКоманды.Использование = «ВызовСерверногоМетода»;
Возврат ПараметрыРегистрации;
КонецФункции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, «Т53») Тогда
ТабличныйДокумент = ПечатьТ53(МассивОбъектов, ОбъектыПечати);
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
«Т53»,
НСтр(«ru = ‘Расходный кассовый ордер'»),
ТабличныйДокумент,
,
«РасходныйКассовыйОрдер»
);
КонецЕсли;
Функция ПечатьТ53(МассивОбъектов, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_ВедомостьНаВыплатуЗарплатыВКассу_Т53»;
Макет = УправлениеПечатью.МакетПечатнойФормы(«ОбщийМакет.ПФ_MXL_Т53»);
НастройкиПечатныхФорм = ЗарплатаКадрыПовтИсп.НастройкиПечатныхФорм();
// получаем данные для печати
ВыборкаШапок = ВыборкаДляПечатиШапки(МассивОбъектов);
ВыборкаСтрок = ВыборкаДляПечатиТаблицы(МассивОбъектов);
ПервыйДокумент = Истина;
Пока ВыборкаШапок.Следующий() Цикл
// Документы нужно выводить на разных страницах.
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ОбластьМакетаШапкаДокумента = Макет.ПолучитьОбласть(«ШапкаДокумента»);
ОбластьМакетаШапка = Макет.ПолучитьОбласть(«Шапка»);
ОбластьМакетаСтрока = Макет.ПолучитьОбласть(«Строка»);
ОбластьМакетаИтогПоСтранице = Макет.ПолучитьОбласть(«ИтогПоЛисту»);
ОбластьМакетаПодвал = Макет.ПолучитьОбласть(«Подвал»);
Если НастройкиПечатныхФорм.ВыводитьПолнуюИерархиюПодразделений И ЗначениеЗаполнено(ОбластьМакетаШапкаДокумента.Параметры.Подразделение) Тогда
ОбластьМакетаШапкаДокумента.Параметры.Подразделение = ОбластьМакетаШапкаДокумента.Параметры.Подразделение.ПолноеНаименование();
КонецЕсли;
ОбластьМакетаПодвал.Параметры.Заполнить(ВыборкаШапок); // Подвал документа.
// Строка не локализуется т.к. является частью регламентированной формы, применяемой в РФ
ОбластьМакетаПодвал.Параметры.РКО = «Расходный кассовый ордер № _______ от «»___»» ___________ 20 ___ г.»;
ТабличныйДокумент.Вывести(ОбластьМакетаШапкаДокумента);
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокумент.Вывести(ОбластьМакетаШапка);
ВыведеноСтраниц = 1; ВыведеноСтрок = 0; ИтогоНаСтранице = 0; Итого = 0;
// выводим данные по строкам документа.
НомерСтроки = 0;
ВыборкаСтрок.Сбросить();
Пока ВыборкаСтрок.НайтиСледующий(ВыборкаШапок.Ссылка, «Ведомость») Цикл
НомерСтроки = НомерСтроки + 1;
ОбластьМакетаСтрока.Параметры.Заполнить(ВыборкаСтрок);
ОбластьМакетаСтрока.Параметры.НомерСтроки = НомерСтроки;
ОбластьМакетаСтрока.Параметры.ТабельныйНомер =
ПрефиксацияОбъектовКлиентСервер.УдалитьПрефиксыИзНомераОбъекта(ВыборкаСтрок.ТабельныйНомер, Истина);
Если НастройкиПечатныхФорм.ВыводитьПолныеФИОВСписочныхПечатныхФормах Тогда
Иначе
ОбластьМакетаСтрока.Параметры.Физлицо = ФизическиеЛицаКлиентСервер.ФамилияИнициалыФизЛица(Неопределено,
ВыборкаСтрок.Фамилия, ВыборкаСтрок.Имя, ВыборкаСтрок.Отчество);
КонецЕсли;
// разбиение на страницы
ВыведеноСтрок = ВыведеноСтрок + 1;
// Проверим, уместится ли строка на странице или надо открывать новую страницу
ВывестиПодвалЛиста = Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ВыводимыеОбласти);
Если Не ВывестиПодвалЛиста и ВыведеноСтрок = ВсегоСтрокДокумента Тогда
ВыводимыеОбласти.Добавить(ОбластьМакетаПодвал);
ВывестиПодвалЛиста = Не ОбщегоНазначения.ПроверитьВыводТабличногоДокумента(ТабличныйДокумент, ВыводимыеОбласти);
КонецЕсли;
Если ВывестиПодвалЛиста Тогда
ОбластьМакетаИтогПоСтранице.Параметры.ИтогоНаСтранице = ИтогоНаСтранице;
ТабличныйДокумент.Вывести(ОбластьМакетаИтогПоСтранице);
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТабличныйДокумент.Вывести(ОбластьМакетаШапка);
ВыведеноСтраниц = ВыведеноСтраниц + 1;
ИтогоНаСтранице = 0;
ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);
ИтогоНаСтранице = ИтогоНаСтранице + ВыборкаСтрок.Сумма;
Итого = Итого + ВыборкаСтрок.Сумма;
КонецЦикла; // по строкам документа
// В табличном документе необходимо задать имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаШапок.Ссылка);
КонецЦикла; // по документам
Функция ВыборкаДляПечатиШапки(Ведомости) Экспорт
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
// Установим параметры запроса
Запрос.УстановитьПараметр(«Ведомости», Ведомости);
Запрос.Текст =
«ВЫБРАТЬ
| ВедомостьВКассу.Ссылка,
| ВедомостьВКассу.Номер,
| ВедомостьВКассу.Дата,
| ВедомостьВКассу.ПериодРегистрации КАК ПериодРегистрации,
| ВедомостьВКассу.Организация КАК Организация,
| ВЫРАЗИТЬ(ВедомостьВКассу.Организация.НаименованиеПолное КАК СТРОКА(300)) КАК НазваниеОрганизации,
| ВедомостьВКассу.Организация.КодПоОКПО КАК КодПоОКПО,
| ВедомостьВКассу.СуммаДокумента КАК СуммаПоДокументу
|ПОМЕСТИТЬ ВТДанныеДокументов
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплаты КАК ВедомостьВКассу
|ГДЕ
| ВедомостьВКассу.Ссылка В(&Ведомости)»;
ИменаПолейОтветственныхЛиц = Новый Массив;
ИменаПолейОтветственныхЛиц.Добавить(«Руководитель»);
ИменаПолейОтветственныхЛиц.Добавить(«ГлавныйБухгалтер»);
ИменаПолейОтветственныхЛиц.Добавить(«Кассир»);
ИменаПолейОтветственныхЛиц.Добавить(«Бухгалтер»);
//ЗарплатаКадры.СоздатьВТФИООтветственныхЛиц(Запрос.МенеджерВременныхТаблиц, Ложь, ИменаПолейОтветственныхЛиц, «ВТДанныеДокументов»);
Запрос.Текст =
«ВЫБРАТЬ
| ВТДанныеДокументов.Ссылка,
| ВТДанныеДокументов.Номер КАК НомерДок,
| ВТДанныеДокументов.Дата КАК ДатаДок,
| ВТДанныеДокументов.ПериодРегистрации,
| ВТДанныеДокументов.Организация,
| ВТДанныеДокументов.НазваниеОрганизации,
| ВТДанныеДокументов.КодПоОКПО,
//| ВТДанныеДокументов.Подразделение,
| ВТДанныеДокументов.СуммаПоДокументу,
| «»»» КАК Руководитель,
| «»»» как РуководительДолжность,
| «»»» КАК ГлавныйБухгалтер,
| «»»» КАК Кассир,
| «»»» как КассирДолжность,
| «»»» КАК Бухгалтер
|ИЗ
| ВТДанныеДокументов КАК ВТДанныеДокументов
//| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ВТФИОРуководителейПоследние
//| ПО ВТДанныеДокументов.Ссылка = ВТФИОРуководителейПоследние.Ссылка
//| И ВТДанныеДокументов.Руководитель = ВТФИОРуководителейПоследние.ФизическоеЛицо
//| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ВТФИОГлавБухПоследние
//| ПО ВТДанныеДокументов.Ссылка = ВТФИОГлавБухПоследние.Ссылка
//| И ВТДанныеДокументов.ГлавныйБухгалтер = ВТФИОГлавБухПоследние.ФизическоеЛицо
//| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ВТФИОКассирПоследние
//| ПО ВТДанныеДокументов.Ссылка = ВТФИОКассирПоследние.Ссылка
//| И ВТДанныеДокументов.Кассир = ВТФИОКассирПоследние.ФизическоеЛицо
//| ЛЕВОЕ СОЕДИНЕНИЕ ВТФИООтветственныхЛиц КАК ВТФИОБухгалтерПоследние
//| ПО ВТДанныеДокументов.Ссылка = ВТФИОБухгалтерПоследние.Ссылка
//| И ВТДанныеДокументов.Бухгалтер = ВТФИОБухгалтерПоследние.ФизическоеЛицо
|
|УПОРЯДОЧИТЬ ПО
| ВТДанныеДокументов.Дата,
| ВТДанныеДокументов.Номер»;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
«ВЫБРАТЬ
| ВедомостьЗарплата.Ссылка КАК Ссылка,
| ВедомостьЗарплата.Ссылка.Дата КАК Период,
| МИНИМУМ(ВедомостьЗарплата.НомерСтроки) КАК НомерСтроки,
| ВедомостьЗарплата.ФизическоеЛицо КАК Сотрудник,
| СУММА(ВедомостьЗарплата.Сумма) КАК Сумма
|ПОМЕСТИТЬ ВТДанныеДокументов
|ИЗ
| Документ.ВедомостьНаВыплатуЗарплаты.Зарплата КАК ВедомостьЗарплата
|ГДЕ
| ВедомостьЗарплата.Ссылка В(&Ведомости)
|
|СГРУППИРОВАТЬ ПО
| ВедомостьЗарплата.Ссылка,
| ВедомостьЗарплата.Ссылка.Дата,
| ВедомостьЗарплата.ФизическоеЛицо»;
//ОписательВременныхТаблиц =
// КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(
// Запрос.МенеджерВременныхТаблиц,
// «ВТДанныеДокументов»);
//КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВременныхТаблиц, Истина, «ТабельныйНомер, Фамилия, Имя, Отчество»);
Запрос.Текст =
«ВЫБРАТЬ
| ДанныеДокументов.Ссылка КАК Ведомость,
|»» как ТабельныйНомер,
|»» как Фамилия,
|»» как Имя,
|»» как Отчество,
//| КадровыеДанныеСотрудников.ТабельныйНомер КАК ТабельныйНомер,
//| КадровыеДанныеСотрудников.Фамилия,
//| КадровыеДанныеСотрудников.Имя,
//| КадровыеДанныеСотрудников.Отчество,
| ДанныеДокументов.Сумма КАК Сумма
|ИЗ
| ВТДанныеДокументов КАК ДанныеДокументов
//| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников
//| ПО ДанныеДокументов.Сотрудник = КадровыеДанныеСотрудников.Сотрудник
//| И ДанныеДокументов.Период = КадровыеДанныеСотрудников.Период
|
|УПОРЯДОЧИТЬ ПО
| ДанныеДокументов.Ссылка,
| ДанныеДокументов.НомерСтроки»;
ЗУП 3.0.25 Документ премия, ошибка «Печатная форма недоступна»
ЗУП 3.0.25 Документ премия. Пытаюсь распечатать Т11, ошибка «Печатная форма недоступна» Права полные. Кто-нибудь сталкивался с проблемой. Как решить?
1С:Франчайзи «ИТС Консультант»
http://itsconsultant.ru
Контактный телефон: 8 (495) 762-92-60
Email: info@itsconsultant.ru
Читают тему:
Мероприятия
1C:Лекторий: 18 ноября 2021 года (четверг, начало в 10:00, все желающие) — Маркировка упакованной воды в программах «1С:Предприятие»
При использовании материалов активная прямая гиперссылка на перепечатанный материал обязательна.
Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.
Редакция уважает мнение авторов, но не всегда разделяет его.
Мы используем файлы cookie, чтобы анализировать трафик, подбирать для вас подходящий контент и рекламу, а также дать вам возможность делиться информацией в социальных сетях. Если вы продолжите использовать сайт, мы будем считать, что вас это устраивает.
Не работает внешняя печатная форма.
Всем доброго времени суток! Очень надеюсь на вашу помочь в решение следующей проблемы. Конфа «Управление учебным центром», платформа 8.3.15.1700.
Создала внешнюю печатную форму, подцепила ее к документу. На форме документ появилась соответствующая кнопка для печати, но когда на нее наживаешь, печать не происходит. Не запускается процедура по печати. Проверяла, указать в процедуре Печать первой строкой Сообщить(«Тест»), ничего не выводит.
Прилагаю Код внешней печатной формы:
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить(«Представление», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«Идентификатор», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«Использование», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));
Команды.Колонки.Добавить(«Модификатор», Новый ОписаниеТипов(«Строка»));
Возврат Команды;
Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = «»)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда. Представление = Представление;
НоваяКоманда. Идентификатор= Идентификатор;
НоваяКоманда. Использование= Использование;
НоваяКоманда. ПоказыватьОповещение= ПоказыватьОповещение;
НоваяКоманда. Модификатор= Модификатор;
КонецФункции
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить(«Документ.Акт»);
ПараметрыРегистрации.Вставить(«Вид», «ПечатнаяФорма»);
ПараметрыРегистрации.Вставить(«Назначение», МассивНазначений);
ПараметрыРегистрации.Вставить(«Наименование», «АктЮрЛицо»);
ПараметрыРегистрации.Вставить(«Версия», «1.0»);
ПараметрыРегистрации.Вставить(«БезопасныйРежим», ИСТИНА);
ПараметрыРегистрации.Вставить(«Информация», «АктЮрЛицо»);
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, «АктЮрЛицо», «ПФ_MXL_Макет_АктЮрЛицо», «ВызовСерверногоМетода», Истина, «ПечатьMXL»);
ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
Сообщить(«Тест»);
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, «ПФ_MXL_Макет_АктЮрЛицо») Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
«ПФ_MXL_Макет_АктЮрЛицо»,
«АктЮрЛицо»,
ПечатьАкт(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
Функция ПечатьАкт(МассивОбъектов, ОбъектыПечати)
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.КлючПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_Акт»;
Макет = ПолучитьМакет(«Макет_АктЮрЛицо»);