1c макет не существует операция прервана

Обновлено: 07.07.2024

В одной из предыдущих статей мы рассказывали о том, каким образом можно самостоятельно поменять макет печатной формы. Однако, достаточно часто, увлекшись редактированием, пользователи удаляют важные элементы макета. После этого форма перестает работать и выдает ошибку при печати.

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

Другой причиной ошибки при использовании пользовательского макета, может быть совпадение определенных условий, которые ранее вы не могли проверить.

Так или иначе ошибку необходимо исправлять. Сделать это несложно, для этого достаточно перейти к списку измененных макетов .

Перейти в список макетов печатных форм можно двумя способами

Способ 1. Необходимо перейти в раздел « Администрирование » и выбрать там пункт Печатные формы, отчеты и обработки. Далее, в открывшемся окне выбирать пункт Макеты печатных форм

Способ 2 . Сформируйте любую рабочую печатную форму, нажмите в открывшейся форме Ещё . В ней вы увидите пункт Перейти к макетам форм.

Далее для удобства можно включить отбор – Все макеты с изменениями и найти нужный « испорченный » макет. С ним в списке отобразятся только модифицированные макеты.

Как вернутся к исходному макету

В списке макетов печатных форм найдите нужный макет. Возле измененного будет иконка с карандашом. Выделите форму и на верхней панели инструментов нажмите кнопку, выделенную на рисунке 3 красной стрелкой:

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

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

Все — можно использовать типовую печатную форму. Вы всегда можете опять отредактировать форму . Но теперь вы в курсе как вернуть стандартную форму обратно.

На этом все. Желаем приятной работы! И берегите нервы, они в отличие от макетов, не восстанавливаются.

Полный текст статьи можно прочитать на нашем сайте в разделе Приемы работы с 1с .

Напоминаю, что Вы всегда можете обратиться ко мне по любым вопросам связанными с доработкой и настройкой 1С

Подписывайтесь на канал и наши группы в социальных сетях, чтобы не пропустить новые публикации.

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

позвать того , кто обновлял

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

как думаете ? - подхватит печатную форму ?

(2) По делу есть что то? Обновления типовые, никто ничего не менял. Путь к макету берется из ВПФ. Видимо изменились требования к нему. Полный путь к макету должен быть в формате "Документ.ИмяДокумента.ИмяМакетаПФ". Было просто "ИмяМакетаПФ". Раньше, похоже, система этого не секла, сейчас выдает ошибку. Fedor1970; Светлый ум; sorry_z; user647083_kev_78_78; ammorf; ea_len; Hoppius; VAAngelov; Swetlana; + 9 – Ответить

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

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

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

(8)
Полный путь указывается именно к документу, для которого создается внешняя печатная форма.
А если ВПФ создается для нескольких типов документов, то достаточно в полном пути прописать один из них. Все равно будет работать, я проверял. я сделал так, сослался на первый попавшийся общий макет в конфе, потом подменил из внешней обработки

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

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

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

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

Попытка
Результат = ПродолжитьВызов(ПутьКМакету);
Исключение
Возврат Новый Массив;
КонецПопытки;

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

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


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

Макеты: требования по локализации и поддержке разных языков интерфейса

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. Как правило, перевод табличных, текстовых и HTML-макетов на другие языки не требует каких-либо подготовительных действий при разработке конфигурации. Особым случаем являются двоичные макеты, подлежащие переводу, а также HTML-макеты, содержащие изображения, которые должны быть отдельно подготовлены на разных языках. Например, это двоичные макеты печатных форм в форматах офисных документов, HTML-макеты с инструкциями, включающие скриншоты интерфейса программы или изображения, содержащие текстовую информацию.

Такой макет необходимо пометить специальным образом, пометка будет означать, что при переводе будет необходимо создавать копию, а не переводить содержимое макета. Для этого в имени макета следует указывать постфикс в виде подчеркивания и кода языка так, как он задан в метаданных, в языке Русский в свойстве Код языка : "_ru" .
Например, неправильно:

макет ПФ_ODT_СчетНаОплату (макет печатной формы счета на оплату в формате OpenOffice Writer)

правильно указывать в имени постфикс основного языка:

При добавлении языков интерфейса следует добавлять макеты с соответствующими постфиксами. В коде, в зависимости от языка, использовать макет с соответствующим постфиксом. Например, неправильно:

. . . = ПолучитьОбщийМакет ( "ПФ_ODT_СчетНаОплату" + "_" + ТекущийЯзык ( ) ) ;

Кроме того, для исключения ошибок при частичном переводе конфигурации, рекомендуется выполнять получение макета в три этапа:

  • Сначала по ИмяМакета + "_" + ТекущийЯзык();
  • Если не найден, то по ИмяМакета + "_" + Метаданные.ОсновнойЯзык.КодЯзыка ;
  • Если не найден, то по переданному имени ИмяМакета .
  • И наконец установить свойство КодЯзыка (у табличного документа) или КодЯзыкаМакета (у текстового документа и HTML-макета), как указано далее в п.2.

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

Для получения данных из табличного, текстового или HTML-макета на заданном языке, отличном от языка интерфейса текущего пользователя, необходимо использовать свойство КодЯзыка (доступно у табличного документа) и КодЯзыкаМакета (у текстового документа и HTML-макета).

3. При разработке конфигураций, рассчитанных на несколько языков интерфейса, может также возникнуть задача формировать печатные формы строго на одном языке, не зависимо от текущего языка интерфейса. Примером таких макетов могут служить регламентированные формы отчетности для государственных учреждений. Например, пользователи с любым языком интерфейса должны формировать русскоязычную счет-фактуру – налоговый документ строго установленного образца в соответствии с Налоговым кодексом Российской Федерации (не существует российских счет-фактур на других языках, кроме русского).

Для табличных и HTML-макетов, которые должны выводится пользователю и на печать строго на одном языке, следует

  • указывать в наименовании постфикс кода языка, аналогично п.1
  • и устанавливать код языка макета аналогично п.2 при программном получении макета в коде.

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

Например, не правильно:

Макет = ПолучитьМакет ( ( "ПФ_MXL_СчетФактура_ru" ) ;
Макет . КодЯзыка = Метаданные ( ) . Языки . Русский . КодЯзыка ;
. . .
Область . Текст = НСтр ( "ru='Заголовок печати';" , Метаданные ( ) . Языки . Русский . КодЯзыка ) ;

При использовании Библиотеки стандартных подсистем (БСП) и подсистемы Печать получение макета через функцию УправлениеПечатью.МакетПечатнойФормы("ПФ_MXL_СчетФактура") позволяет получить форму ПФ_MXL_СчетФактура_ru и устанавливает у макета свойство КодЯзыка .

4. Если в текстах макетов используются именованные параметры подстановки, необходимо соблюдать для них требования по локализации интерфейсных текстов в коде.

5. Кодировку в макетах использовать UTF-8.



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


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


В Организации была доработана печать Счета-фактуры выданного . Для этого программист написал внешнюю обработку СчетФактура_1.07.2017 и подключил ее в 1С: раздел Администрирование — Настройки программы — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки .

При формировании новой печатной формы PDF появляется ошибка Печатная форма недоступна.

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

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

Запустите базу в режиме Конфигуратор . PDF По кнопке Файл — Открыть откройте внешнюю обработку.


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

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

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

Найдите и исправьте ссылки типа СсылкаНаОбъект в параметрах функций и процедур на МассивОбъектов .



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

Замените в модуле объекта внешней обработки параметр СсылкаНаОбъект на МассивОбъектов .


Сохраните измененную внешнюю обработку по кнопке Файл — Сохранить .

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

Войдите в раздел Администрирование — Настройки программы — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки . По кнопке Обновить из файла загрузите обновленную печатную форму.


Сформируйте новую печатную форму из документа Счет-фактура выданный .


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

Помогла статья?

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

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

    Рассмотрим как подключить внешнюю форму отчета в ЗУП 3, если.Напоминаем, что срок сдачи П-4 за январь 2021 г. до..В ЗУП 3.1.14.525 / 3.1.18.46 реализована новая печатная форма СЗВ-М.

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

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

Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>

Все комментарии (1)

Спасибо. Все понятно и доступно!

Вы можете задать еще вопросов

Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8

Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявку

Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>

Читайте также: