1с не работает внешняя печатная форма в 1с

Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы

При подключении внешних печатных форм в 1С может появиться ошибка «Печатная форма недоступна». Рассмотрим порядок действий для исправления данной ошибки.

Как формируется ошибка Печатная форма недоступна

image002 30

Скачать:

Что это значит в переводе на «русский язык»?

В большинстве случаев это значит, что неправильно определяется параметр СсылкаНаОбъект в модуле объекта внешней печатной формы. Разберем ситуацию на конкретном примере.

image004 30

Как исправить ошибку

Пошаговая инструкция исправления ошибки.

Получите понятные самоучители 2021 по 1С бесплатно:

Шаг 1. Открыть Конфигуратор 1С.

image006 26

Шаг 2. Перейти в модуль объекта обработки.

По кнопке Действия — Открыть модуль объекта перейдите в программный код.

image008 20

Шаг 3. Поиск ошибки.

image010 17

image011 22

Шаг 4. Исправление ошибки.

image013 18

Шаг 5. Обновление внешней обработки в программе.

image015 18

image017 10

Ошибка Печатная форма недоступна в 1С 8.3 больше появляться не будет.

Если Вы еще не являетесь подписчиком системы БухЭксперт8:

После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

Карточка публикации

rating onrating onrating onrating on rating on

(2 оценок, среднее: 5,00 из 5)

Источник

Перестали работать все печатные формы

(1) Можно написать что угодно и достаточно одной точки, например, «Фигня.ТрудовойДоговор» прекрасно работает. А все изза того что производится поиск в РегистрСведений.ПользовательскиеМакетыПечати, в котором измерениями являются : Объект = Фигня, ИмяМакета = ТрудовойДоговор. После того как программа не нашла аналогов вашей Фигне в этом регистре, она открывает ваш макет ТрудовойДоговор.

Считаю что это должны исправить, т.к. для ВПФ нечего указать в качестве пути. А вы считаете что это должны исправить?

если в вашем внешнем макете ( печатной форме) таблица называлась Общая
но после обновления разрботчики ее назвали Общие

В передаваемых параметрах (шестой) к процедуре ВывестиТабличныйДокументВКоллекцию нужен полный путь до печатной формы.

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

Так же вопрос, если одна печатная форма (новая, расположена в самой обработке) используется на два документа? то данную функцию нельзя универсально использовать? нужно вместо одной обработки сделать две?

Я поступил следующим образом.
Добавил в расширение УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию с функцией Перед

Теперь печатные формы переделывать не потребуется.

Добавьте в расширение процедуру общего модуля УправлениеПечатьюМультиязычность &Вместо(«ЯзыкиМакета»).

//и будет вам счастье:) не надо будет трогать ни одну форму

Твоим способом заработает, НО ПРИ ЭТОМ СТАНДАРТНЫЕ ПФ перестанут работать.
НУЖНО ПРОСТО В ОБРАБОТКУ ПРОПИСАТЬ полный муть на макет, например :

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, «ДоговорПодрядаСБК») Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,»ДоговорПодрядаСБК», «ДоговорПодрядаСБК»,
ПечатьДоговора(МассивОбъектов, ОбъектыПечати),,
» Документ.ДоговорРаботыУслуги.ПФ_MXL_ДыговорПодряда «);

Источник

Не работает внешняя печатная форма.

Всем доброго времени суток! Очень надеюсь на вашу помочь в решение следующей проблемы. Конфа «Управление учебным центром», платформа 8.3.15.1700.
Создала внешнюю печатную форму, подцепила ее к документу. На форме документ появилась соответствующая кнопка для печати, но когда на нее наживаешь, печать не происходит. Не запускается процедура по печати. Проверяла, указать в процедуре Печать первой строкой Сообщить(«Тест»), ничего не выводит.
Прилагаю Код внешней печатной формы:

Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить(«Представление», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«Идентификатор», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«Использование», Новый ОписаниеТипов(«Строка»));
Команды.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));
Команды.Колонки.Добавить(«Модификатор», Новый ОписаниеТипов(«Строка»));
Возврат Команды;

Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = «»)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда. Представление = Представление;
НоваяКоманда. Идентификатор= Идентификатор;
НоваяКоманда. Использование= Использование;
НоваяКоманда. ПоказыватьОповещение= ПоказыватьОповещение;
НоваяКоманда. Модификатор= Модификатор;
КонецФункции

Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить(«Документ.Акт»);
ПараметрыРегистрации.Вставить(«Вид», «ПечатнаяФорма»);
ПараметрыРегистрации.Вставить(«Назначение», МассивНазначений);
ПараметрыРегистрации.Вставить(«Наименование», «АктЮрЛицо»);
ПараметрыРегистрации.Вставить(«Версия», «1.0»);
ПараметрыРегистрации.Вставить(«БезопасныйРежим», ИСТИНА);
ПараметрыРегистрации.Вставить(«Информация», «АктЮрЛицо»);
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, «АктЮрЛицо», «ПФ_MXL_Макет_АктЮрЛицо», «ВызовСерверногоМетода», Истина, «ПечатьMXL»);
ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

Сообщить(«Тест»);
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, «ПФ_MXL_Макет_АктЮрЛицо») Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
«ПФ_MXL_Макет_АктЮрЛицо»,
«АктЮрЛицо»,
ПечатьАкт(МассивОбъектов, ОбъектыПечати));
КонецЕсли;

Функция ПечатьАкт(МассивОбъектов, ОбъектыПечати)

ТабДокумент = Новый ТабличныйДокумент;

ТабДокумент.КлючПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_Акт»;
Макет = ПолучитьМакет(«Макет_АктЮрЛицо»);

Источник

Внешние печатные формы в управляемых формах 1С 8.3

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

Внимание! Если Вам необходима разработка печатных форм любой сложности, но Вы не технический специалист — просто обратитесь к профессионалам. Подробности на странице услуги 1С.

maket VPF

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

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

Этот функционал не новый, он достаточно давно используется в типовых конфигурациях. В настоящий момент актуальна версия библиотеки стандартных подсистем версии 2.х, в которой инструменты построены на механизме управляемых форм.

Рассмотрим методику разработки и настройки внешних печатных форм для 1С (8.2 или 8.3) именно в управляемом приложении, и ниже Вы можете скачать полученную внешнюю печатную форму.

Если у Вас нет времени читать, можете просмотреть наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:

Пример создания внешней печатной формы в 1С 8.3

В нашем примере мы сделаем образец печатной формы «Счет» для документа «Реализация (акты, накладные)«.

Для начала создадим новую обработку и укажем в ней следующее:

1. Создадим экспортную функцию СведенияОВнешнейОбработке() в модуле объекта, укажем следующий код:

Формат возвращаемой структуры регламентирован, подробности можно узнать в разделах ИТС.

Они практически всегда одинаковы.

2. Вторым шагом необходимо создать экспортную процедуру Печать(), с помощью которой подсистема будет инициировать запуск печати из общих модулей подсистемы. Процедура содержит 4 параметра:

Процедура выглядит примерно следующим образом:

В ней формируется нужное количество табличных документов и готовится к печати. В нашем примере мы создадим функцию «СформироватьПечатнуюФорму()», которая будет возвращать табличный документ. Для примера мы предполагаем, что у нас всегда 1 печатная форма, поэтому передаём в функцию первый элемент массива (МассивОбъектов[0]).

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

Создание табличного документа

Подробно останавливаться на этом не будем, на эту тему есть большое количество материалов.

Представим лишь внешний вид макета нашего элементарного примера:

maket VPF

Подключение и тестирование ВПФ в 1С

В нашем примере мы запускаем конфигурации 1С Управление торговлей версии 11.1. Для добавления новой обработки необходимо в разделе «Администрирование» выбрать пункт «Печатные формы, отчеты и обработки». В нужном меню нужно нажать гиперссылку «Дополнительные отчеты и обработки» (если ссылка не активна, включите использование данного функционала — флаг расположен немного левее).

vneshnie obrabotki

В открытом справочнике необходимо нажать на кнопку «добавить». Программа откроет диалоговое окно выбора файла, в котором необходимо указать файл разработанной нами ранее печатной формы. Если всё было сделано правильно, система автоматически заполнит все параметры, и останется только нажать кнопку «записать и закрыть»:

novaya vneshnyaya pechatnaya forma v 1S

Как видно, параметры скопированы из функции «СведенияОВнешнейОбработке()».

Для того чтобы проверить работу обработки, необходимо в документе «Реализация товаров и услуг» открыть список печатных форм. В нём Вы уведите как «типовые» печатные формы, так и внешние, в том числе и наш добавленный:

nash shablon

При нажатии на команду система сформирует нужную нам форму:

itog rabotyi VPF

Возможно, она не самая красивая, но как учебный пример, демонстрирующий работу в программе, вполне подойдет :).

Если у вас что-то не получается, рекомендую воспользоваться механизмом отладки внешних печатных форм.

Скачать получившийся пример внешней печатной формы можно по ссылке — ШаблонВнешнейПечатнойФормыБСП 2.0 (8.2).

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

Другие статьи по 1С:

Если вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Источник

Не работает внешняя печатная форма.

Есть внешняя печатная форма. До обновления на релиз 2.0.32.4 открывалась, все работало. После обновления релиза у пользователей с правами отличными от ПОЛНЫХ прав стала выскакивать ошибка: Не удалось сформировать внешнюю печатную форму! Значение не является значением объектного типа (ОткрытьМодально).

Модуль выглядит следующим образом:

У меня почи такая же проблема, только с правилами конвертации данных.
В конвертации в обработчике «Перед загрузкой данных» написан код

При загрузке в Бухгалтерии 2.0.32.4 Универсальным обменом данными в формате XML 2.1.5 вылетает ошибка:

Ошибка в обработчике события ПередЗагрузкойДанных (конвертация)
Обработчик = ПередЗагрузкойДанных (конвертация)
ОписаниеОшибки = Значение не является значением объектного типа (ОткрытьМодально)
ПозицияМодуля = (2)
КодСообщения = 22

в предыдущих релизах Бухгалтерии все работало.
1С-овцы точно намутили :(

НаборЗаписей = РегистрыСведений.ДополнительныеНастройкиПечатныхФорм.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Пользователь.Установить(Справочники.Пользователи.ПустаяСсылка());
НаборЗаписей.Отбор.Настройка.Установить(«ТОРГ12_Внешняя»);
НаборЗаписей.Отбор.Объект.Установить(СсылкаНаОбъект);

Если НаборЗаписей.Количество()> 0 Тогда

Для Каждого ЗаписьНабора Из НаборЗаписей Цикл

СтруктураДопДанных = ЗаписьНабора.Значение.Получить();
Водитель = СтруктураДопДанных.Водитель;
Машина = СтруктураДопДанных.Машина;
НомерДоверенности = СтруктураДопДанных.НомерДоверенности;
ДатаДоверенности = СтруктураДопДанных.ДатаДоверенности;
КемВыдана = СтруктураДопДанных.КемВыдана;

Иначе
Водитель = «»;
Машина = «»;
НомерДоверенности = «»;
ДатаДоверенности = ‘00010101’;
КемВыдана = «»;
КонецЕсли;

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с не печатается кпп в счетах фактурах
  • 1с не отражает имущественный вычет