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

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

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

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

Скачать:

  • внешнюю печатную форму  с ошибкой
  • внешнюю печатную форму  без ошибки

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

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

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

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

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

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

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

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

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

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

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

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

В функции ПечатьсчетовФактур1137 вместо параметра МассивОбъектов стоит СсылкаНаОбъект. В результате, согласно установленному алгоритму PDF, программа 1С видит, что передан не массив объектов и запускает формирование сообщения о том, что печатная форма недоступна.

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

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

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

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

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

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

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

См. также:

  • Как можно в настройках поменять принтер на компьютере и в 1С?
  • Как настроить быстрый доступ к любому элементу 1С — Избранное
  • Как быстро добавить новый элемент справочников из документов
  • Как настроить в 1С двустороннюю печать

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

Активировать демо-доступ бесплатно →

или

Оформить подписку на Рубрикатор →

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

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

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

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

Оцените публикацию

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд

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

Загрузка…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обслуживание

Заказать консультацию

По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.

Код обработки

Функция СведенияОВнешнейОбработке() экспорт

    ПараметрыРегистрации = Новый Структура;

    МассивНазначений = Новый Массив;

    МассивНазначений.Добавить(«Документ.РеализацияТоваровУслуг»); //Указываем документ к которому делаем внешнюю печ. форму

    ПараметрыРегистрации.Вставить(«Вид», «ПечатнаяФорма»); //может быть — ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов…

    ПараметрыРегистрации.Вставить(«Назначение», МассивНазначений);

    ПараметрыРегистрации.Вставить(«Наименование», «РеализацияТоваровУслуг (внешняя)»); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок

    ПараметрыРегистрации.Вставить(«БезопасныйРежим», ЛОЖЬ);

    ПараметрыРегистрации.Вставить(«Версия», «1.0»);

    ПараметрыРегистрации.Вставить(«Информация», «Эту ВПФ мы сделали для того что бы посмотреть возможности БСП «);

    ТаблицаКоманд = ПолучитьТаблицуКоманд();

    ДобавитьКоманду(ТаблицаКоманд, «РеализацияТоваровУслуг (внешняя)», «РеализацияТоваровУслуг», «ВызовСерверногоМетода», Истина, «ПечатьMXL»);

    ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);

    Возврат ПараметрыРегистрации;

КонецФункции

Функция ПолучитьТаблицуКоманд()

    Команды = Новый ТаблицаЗначений;

    Команды.Колонки.Добавить(«Представление», Новый ОписаниеТипов(«Строка»));//как будет выглядеть описание печ.формы для пользователя

    Команды.Колонки.Добавить(«Идентификатор», Новый ОписаниеТипов(«Строка»)); //имя макета печ.формы

    Команды.Колонки.Добавить(«Использование», Новый ОписаниеТипов(«Строка»)); //ВызовСерверногоМетода

    Команды.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));

    Команды.Колонки.Добавить(«Модификатор», Новый ОписаниеТипов(«Строка»));

    Возврат Команды;

КонецФункции

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

    НоваяКоманда = ТаблицаКоманд.Добавить();

    НоваяКоманда.Представление = Представление;

    НоваяКоманда.Идентификатор = Идентификатор;

    НоваяКоманда.Использование = Использование;

    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;

    НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры

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

    
    ПараметрыПечати = Новый Структура();

    СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);

    
        
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, «РеализацияТоваровУслуг») Тогда

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

            КоллекцияПечатныхФорм,

            «РеализацияТоваровУслуг»,

            НСтр(«ru=’Реализация Товаров Услуг'»),

            СформироватьПечатнуюФормуМХ3(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));

        
    КонецЕсли;

    
    
    ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, СтруктураТипов, КоллекцияПечатныхФорм);

    
КонецПроцедуры

Функция СтруктураИтоговыеСуммы()

    
    Структура = Новый Структура;

    
    СтруктураРесурсовДляИтогов = СтруктураРесурсовДляИтогов();

    
    Для Каждого Элемент Из СтруктураРесурсовДляИтогов Цикл

        Структура.Вставить(«Итого»+Элемент.Ключ+»НаСтранице», 0);

        Структура.Вставить(«Итого»+Элемент.Ключ, 0);

    КонецЦикла;

    
    Возврат Структура;

    
КонецФункции

Процедура ОбнулитьИтогиПоСтранице(ИтоговыеСуммы)

    
    СтруктураРесурсовДляИтогов = СтруктураРесурсовДляИтогов();

    
    Для Каждого Элемент Из СтруктураРесурсовДляИтогов Цикл

        ИтоговыеСуммы.Вставить(«Итого»+Элемент.Ключ+»НаСтранице», 0);

    КонецЦикла;

    
КонецПроцедуры

Процедура РассчитатьИтоговыеСуммы(ИтоговыеСуммы, СтрокаТовары)

    
    СтруктураСуммПоСтроке = СтруктураРесурсовДляИтогов();

    
    ЗаполнитьЗначенияСвойств(СтруктураСуммПоСтроке, СтрокаТовары);

    ОкруглитьДоЦелого(СтруктураСуммПоСтроке.КоличествоМест);

    Для Каждого Элемент Из СтруктураСуммПоСтроке Цикл

        Если ЗначениеЗаполнено(Элемент.Значение) Тогда

            ИтоговыеСуммы[«Итого»+Элемент.Ключ+»НаСтранице»] = ИтоговыеСуммы[«Итого»+Элемент.Ключ+»НаСтранице»] + Элемент.Значение;

            ИтоговыеСуммы[«Итого»+Элемент.Ключ] = ИтоговыеСуммы[«Итого»+Элемент.Ключ] + Элемент.Значение;

        КонецЕсли;

    КонецЦикла;

    
КонецПроцедуры

Функция СформироватьПечатнуюФормуМХ3(СтруктураТипов, ОбъектыПечати, ПараметрыПечати) Экспорт

    
    УстановитьПривилегированныйРежим(Истина);

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

    
    // Зададим параметры макета

    ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

    
    ТабличныйДокумент.ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_МХ3»;

    
    НомерТипаДокумента = 0;

    
    Для Каждого СтруктураОбъектов Из СтруктураТипов Цикл

        
        НомерТипаДокумента = НомерТипаДокумента + 1;

        Если НомерТипаДокумента > 1 Тогда

            ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

        КонецЕсли;

        
        МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(СтруктураОбъектов.Ключ);

        
        Попытка

            ДанныеДляПечати = МенеджерОбъекта.ПолучитьДанныеДляПечатнойФормыМХ3(ПараметрыПечати, СтруктураОбъектов.Значение);

            ЗаполнитьТабличныйДокументМХ3(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати);

        Исключение

            ИнформацияОбОшибке = ИнформацияОбОшибке();

        КонецПопытки;

        
    КонецЦикла;

    
    Возврат ТабличныйДокумент;

    
КонецФункции

Процедура ЗаполнитьРеквизитыШапкиМХ3(ДанныеПечати, ДанныеПоСкладу, Макет, ТабличныйДокумент)

    Макет = ПолучитьМакет(«ПФ_MXL_СчетНаОплату»);

    // Выводим общие реквизиты шапки

    СведенияОПоклажедержателе = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПоСкладу.Поклажедержатель, ДанныеПечати.Дата);

    СведенияОПоклажедателе    = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация, ДанныеПечати.Дата);

    
    ОбластьМакета = Макет.ПолучитьОбласть(«Шапка»);

    
    ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(

        ТабличныйДокумент,

        Макет,

        ОбластьМакета,

        ДанныеПечати.Ссылка);

        
    ОбластьМакета.Параметры.Заполнить(ДанныеПечати);

    ОбластьМакета.Параметры.Заполнить(ДанныеПоСкладу);

    
    СтруктураПараметров = Новый Структура;

    СписокПараметров = «ПолноеНаименование,ЮридическийАдрес,Телефоны»;

    СтруктураПараметров.Вставить(«НомерДокумента», ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеПечати.Номер));

    СтруктураПараметров.Вставить(«ПредставлениеПоклажедержателя», ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоклажедержателе,СписокПараметров));

    СтруктураПараметров.Вставить(«ПредставлениеПоклажедателя», ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПоклажедателе,СписокПараметров));

    СтруктураПараметров.Вставить(«ПоклажедержательПоОКПО», СведенияОПоклажедержателе.КодПоОКПО);

    СтруктураПараметров.Вставить(«ВидДеятельностиПоОКДП», СведенияОПоклажедержателе.КодОКВЭД);

    СтруктураПараметров.Вставить(«ПоклажедательПоОКПО», СведенияОПоклажедателе.КодПоОКПО);

    
    ОбластьМакета.Параметры.Заполнить(СтруктураПараметров);

    ТабличныйДокумент.Вывести(ОбластьМакета);

    
КонецПроцедуры

Процедура ЗаполнитьТабличныйДокументМХ3(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати)

    
    Макет = УправлениеПечатью.МакетПечатнойФормы(«ПФ_MXL_МХ3»);

    
    ДанныеПечати         = ДанныеДляПечати.РезультатПоШапке.Выбрать();

    ВыборкаДанныеПоСкладу = ДанныеДляПечати.РезультатПоСкладам.Выбрать();

    ВыборкаПоДокументам  = ДанныеДляПечати.РезультатПоТабличнойЧасти.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

    
    ПервыйДокумент = Истина;

    Пока ДанныеПечати.Следующий() Цикл

        
        СтруктураПоиска = Новый Структура(«Ссылка», ДанныеПечати.Ссылка);

        ВыборкаПоДокументам.Сбросить();

        Если НЕ ВыборкаПоДокументам.НайтиСледующий(СтруктураПоиска) Тогда

            
            Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(

                НСтр(«ru = ‘В документе %1 отсутствуют товары. Печать акта не требуется'»),

                ДанныеПечати.Ссылка);

            
            ОбщегоНазначенияКлиентСервер.СообщитьПользователю(

                Текст,

                ДанныеПечати.Ссылка);

            
            Продолжить;

            
        КонецЕсли;

        
        НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

        
        ВыборкаПоСкладам = ВыборкаПоДокументам.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

        
        Пока ВыборкаПоСкладам.Следующий() Цикл

            
            СтруктураПоиска = Новый Структура(«Ссылка, Склад», ДанныеПечати.Ссылка, ВыборкаПоСкладам.Склад);

            ВыборкаДанныеПоСкладу.Сбросить();

            
            Если НЕ ВыборкаДанныеПоСкладу.НайтиСледующий(СтруктураПоиска) Тогда

                
                Продолжить;

                
            КонецЕсли;

            
            Если ВыборкаДанныеПоСкладу.ИсточникИнформацииОЦенахДляПечати = Перечисления.ИсточникиИнформацииОЦенахДляПечати.ПоСебестоимости Тогда

                Если ВыборкаДанныеПоСкладу.ПредварительныйРасчет = Null Тогда

                    ТекстСообщения = НСтр(«ru = ‘Не удалось получить цены по себестоимости для документа %Документ%: на %Период% не произведен расчет себестоимости.'»);

                    
                    ТекстСообщения = СтрЗаменить(ТекстСообщения, «%Документ%», ДанныеПечати.Ссылка);

                    ТекстСообщения = СтрЗаменить(ТекстСообщения, «%Период%», Формат(НачалоМесяца(ДанныеПечати.ДатаДокумента),»ДЛФ=DD»));

                    
                    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);

                    
                    Продолжить;

                    
                ИначеЕсли ВыборкаДанныеПоСкладу.ПредварительныйРасчет Тогда

                    
                    ТекстСообщения = НСтр(«ru = ‘При печати цен документа %Документ% использовались данные предварительного расчета себестоимости.'»);

                    ТекстСообщения = СтрЗаменить(ТекстСообщения, «%Документ%», ДанныеПечати.Ссылка);

                    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);

                    
                КонецЕсли;

            КонецЕсли;

            
            Если Не ПервыйДокумент Тогда

                ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

            КонецЕсли;

            
            ПервыйДокумент = Ложь;

            
            // Выводим общие реквизиты шапки

            ЗаполнитьРеквизитыШапкиМХ3(ДанныеПечати, ВыборкаДанныеПоСкладу, Макет, ТабличныйДокумент);

            
            // Выводим заголовок таблицы

            ЗаголовокТаблицы = Макет.ПолучитьОбласть(«ЗаголовокТаблицы»);

            ТабличныйДокумент.Вывести(ЗаголовокТаблицы);

            
            НомерСтраницы   = 1;

            
            // Инициализация итогов в документе

            ИтоговыеСуммы = СтруктураИтоговыеСуммы();

            
            // Создаем массив для проверки вывода

            МассивВыводимыхОбластей = Новый Массив;

            
            // Выводим многострочную часть документа

            ОбластьМакета           = Макет.ПолучитьОбласть(«Строка»);

            ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть(«ИтогоПоСтранице»);

            ОбластьВсего            = Макет.ПолучитьОбласть(«Всего»);

            ОбластьПодвала          = Макет.ПолучитьОбласть(«Подвал»);

            
            НомерСтроки = 0;

            
            СтрокаТовары = ВыборкаПоСкладам.Выбрать();

            КоличествоСтрок = СтрокаТовары.Количество();

            Пока СтрокаТовары.Следующий() Цикл

                
                НомерСтроки = НомерСтроки + 1;

                СтруктураПараметров = Новый Структура(«НомерСтроки», НомерСтроки);

                ОбластьМакета.Параметры.Заполнить(СтруктураПараметров);

                ОбластьМакета.Параметры.Заполнить(СтрокаТовары);

                
                МассивВыводимыхОбластей.Очистить();

                МассивВыводимыхОбластей.Добавить(ОбластьМакета);

                МассивВыводимыхОбластей.Добавить(ОбластьИтоговПоСтранице);

                
                Если НомерСтроки = КоличествоСтрок Тогда

                    МассивВыводимыхОбластей.Добавить(ОбластьВсего);

                    МассивВыводимыхОбластей.Добавить(ОбластьПодвала);

                КонецЕсли;

                
                Если НЕ ТабличныйДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда

                    ОбластьИтоговПоСтранице.Параметры.Заполнить(ИтоговыеСуммы);

                    ТабличныйДокумент.Вывести(ОбластьИтоговПоСтранице);

                
                    ОбнулитьИтогиПоСтранице(ИтоговыеСуммы);

                    
                    НомерСтраницы = НомерСтраницы + 1;

                    ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();

                    УстановитьПараметр(ЗаголовокТаблицы, «НомерСтраницы», «Страница » + НомерСтраницы);

                    ТабличныйДокумент.Вывести(ЗаголовокТаблицы);

                КонецЕсли;

                
                ТабличныйДокумент.Вывести(ОбластьМакета);

                РассчитатьИтоговыеСуммы(ИтоговыеСуммы, СтрокаТовары);

                
            КонецЦикла;

            
            // Выводим итоги по последней странице

            ОбластьИтоговПоСтранице = Макет.ПолучитьОбласть(«ИтогоПоСтранице»);

            ОбластьИтоговПоСтранице.Параметры.Заполнить(ИтоговыеСуммы);

            ТабличныйДокумент.Вывести(ОбластьИтоговПоСтранице);

        
            // Выводим итоги по документу в целом

            ОбластьВсего.Параметры.Заполнить(ИтоговыеСуммы);

            ТабличныйДокумент.Вывести(ОбластьВсего);

            
            // Выводим таблицу услуги

            ОбластьМакета = Макет.ПолучитьОбласть(«ЗаголовокТаблицыУслуги»);

            ОбластьМакета.Параметры.Заполнить(ВыборкаДанныеПоСкладу);

            ТабличныйДокумент.Вывести(ОбластьМакета);

            
            ОбластьМакета = Макет.ПолучитьОбласть(«СтрокаУслуги»);

            Для Сч=1 По 6 Цикл

                ТабличныйДокумент.Вывести(ОбластьМакета);

            КонецЦикла;

            ОбластьМакета = Макет.ПолучитьОбласть(«ИтогоУслуги»);

            ТабличныйДокумент.Вывести(ОбластьМакета);

            
            ОбластьМакета = Макет.ПолучитьОбласть(«СтоимостьРабот»);

            ТабличныйДокумент.Вывести(ОбластьМакета);

            
            Если ЗначениеЗаполнено(ВыборкаДанныеПоСкладу.ОсобыеОтметки) Тогда

                ОбластьМакета = Макет.ПолучитьОбласть(«ОсобыеОтметки»);

                ОбластьМакета.Параметры.Заполнить(ВыборкаДанныеПоСкладу);

                ТабличныйДокумент.Вывести(ОбластьМакета);

            Иначе

                ОбластьМакета = Макет.ПолучитьОбласть(«ОсобыеОтметкиПустые»);

                ТабличныйДокумент.Вывести(ОбластьМакета);

            КонецЕсли;

            
            // Выводим итоги по документу

            ОбластьПодвала.Параметры.Заполнить(ВыборкаДанныеПоСкладу);

            ТабличныйДокумент.Вывести(ОбластьПодвала);

            
        КонецЦикла;

        
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(

            ТабличныйДокумент,

            НомерСтрокиНачало,

            ОбъектыПечати,

            ДанныеПечати.Ссылка);

        
    КонецЦикла;

    
КонецПроцедуры

Процедура УстановитьПараметр(ОбластьМакета, ИмяПараметра, ЗначениеПараметра)

    ОбластьМакета.Параметры.Заполнить(Новый Структура(ИмяПараметра, ЗначениеПараметра));

КонецПроцедуры

Функция СтруктураРесурсовДляИтогов()

    
    Структура = Новый Структура;

    
    Структура.Вставить(«СуммаБезНДС»,       0);

    Структура.Вставить(«СуммаНДС»,          0);

    Структура.Вставить(«СуммаСНДС»,         0);

    Структура.Вставить(«Количество»,        0);

    Структура.Вставить(«КоличествоМест»,    0);

    Структура.Вставить(«КоличествоПринято», 0);

    Структура.Вставить(«МассаБрутто»,       0);

    Структура.Вставить(«МассаНетто»,        0);

    Структура.Вставить(«Сумма»,             0);

    
    Структура.Вставить(«РазницаБезНДСУвеличение», 0);

    Структура.Вставить(«РазницаБезНДСУменьшение», 0);

    Структура.Вставить(«РазницаНДСУвеличение»,    0);

    Структура.Вставить(«РазницаНДСУменьшение»,    0);

    Структура.Вставить(«РазницаСНДСУвеличение»,   0);

    Структура.Вставить(«РазницаСНДСУменьшение»,   0);

    
    Возврат Структура;

    
КонецФункции

Процедура ОкруглитьДоЦелого(ОкругляемоеЧисло)

    Если ЗначениеЗаполнено(ОкругляемоеЧисло) Тогда

        Если ОкругляемоеЧисло <> Цел(ОкругляемоеЧисло) Тогда

            ОкругляемоеЧисло = Цел(ОкругляемоеЧисло) + 1;

        КонецЕсли;

    КонецЕсли;

КонецПроцедуры

Здравствуйте, подскажите пожалуйста, форма перестала выводится на печать, хотя её код никто не трогал. Другая с таким же кодом выводится а эта стала недоступна Что ей не так??

Причём ставишь остановку по ошибке, не останавливается, в сразу пишет печатная форма недоступна

Это внешняя печатная форма?

ну и еще бы узнать платформу, конфу, да и что печатается тоже…

Это встроенный макет. 1С:Предприятие 8.3 (8.3.10.2168) конфа МИС

Печатается документ Направление, он выводился на печать, к нему добавили ещё одну печатную форму макет, его самого не трогали, но он перестал выводится, код сравнивал, вроде один и тот же с другим документом, но тот выводится, а этот стал недоступен

всю голову уже сломал, что же такого ему поделать)

ПФ_MXL_Форма057у_04  — Это типа новый макет?

>к нему добавили ещё одну печатную форму макет добавили в самом конфигураторе?

Да это типа название макета

Да в самом конфигураторе, отдельный макет,

это название нового или старого макета? Если нового, то ты название в коде писал или копировал из названия макета?

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

Мож по этому пути такого макета нету? — Документ.Направление.ПФ_MXL_Форма057у_04

А покажи процедуру «печать» из модуля менеджера документа.

Есть к сожалению или к счастью

«ПФ_MXL_Форма057у_04»,         «Печатная форма направления»,

как то криво сюда скопировалась, но суть верна

И вот памятка печатается, а ПФ форма недоступна

РегистрСведений.ПользовательскиеМакетыПечати  тут оно есть?

аааа, стоп в РегистрСведений.ПользовательскиеМакетыПечати ,сама форма Пф?

в регистре стандартные описания, причём типовые, да и памятка работает же

нет его там, ссори я погорячился, я имел ввиду что регистр такой есть

где-то чувствую всё же не вижу что-то

А что показывает отладчик? А какой момент ошибка вываливается?

В момент окончания процесса, в пользовательском режиме, просто пишет,что печатная форма недоступна

пройдись отладчиком еще раз. У тебя точно не пустой табличный документ получается?

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

StrelokCj

218 / 50 / 52

Регистрация: 15.01.2013

Сообщений: 305

1

Печатная форма недоступна

03.03.2015, 06:59. Показов 22883. Ответов 2

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Делаю внешнюю печатную форму для документа «Сверка взаиморасчетов» в УТ 11.1.10.86. Подключаю как дополнительную обработку, и при попытке напечатать выводит «Печатная форма недоступна», и как я понял эта ошибка появляется когда пытаешься вызывать обработку из документов для которых она не предназначена. Хотя в процедуре «СведенияОВнешнейОбработке» все указано как надо.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Функция СведенияОВнешнейОбработке() Экспорт  
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.СверкаВзаиморасчетов");
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");  
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Акт сверки взаимных расчетов (БИТ)");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
    ПараметрыРегистрации.Вставить("Версия", "1.0"); 
    ПараметрыРегистрации.Вставить("Информация", "Акт сверки взаимных расчетов (БИТ)"); 
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд, "Акт сверки взаимных расчетов (БИТ)", "", "ВызовСерверногоМетода", 
    Истина, "Акт сверки взаимных расчетов (БИТ)");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);    
    Возврат ПараметрыРегистрации;    
КонецФункции
 
Функция ПолучитьТаблицуКоманд()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); 
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); 
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
КонецФункции
 
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление; 
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;   
КонецПроцедуры



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

03.03.2015, 06:59

Ответы с готовыми решениями:

УТ 11. Печатная форма недоступна.
Добрый день. Строчу значит форму ТОРГ12 для УТ 11.3
При открытии через Файл-открыть Спокойно всё…

Печатная форма
При попытке вставить значение СуммаИтог печатной формы документа выскакивает ошибка времени…

Печатная форма
Всем привет!
Есть типовая печатная форма универсальный передаточный документ,мне нежно в ней…

Печатная форма
Добрый день! Ребят подскажите, есть отчет сформировав который получаем таблицу с данными,…

2

wladimir_ui

Шизофреник

360 / 362 / 83

Регистрация: 25.06.2013

Сообщений: 1,141

03.03.2015, 12:45

2

1C
1
2
ДобавитьКоманду(ТаблицаКоманд, "Акт сверки взаимных расчетов (БИТ)", "", "ВызовСерверногоМетода", 
    Истина, "Акт сверки взаимных расчетов (БИТ)");

что с третьим параметром(Идентификатор)?

Добавлено через 2 минуты
так работает:

Кликните здесь для просмотра всего текста

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
    ДобавитьКоманду(ТаблицаКоманд, "Акт сверки взаимных расчетов (БИТ)", "Акт", "ВызовСерверногоМетода", 
    Истина, "Акт сверки взаимных расчетов (БИТ)");
...
 
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) экспорт
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Акт", "Акт сверки взаимных расчетов (БИТ)", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецФункции
 
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати) 
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    Область = Макет.ПолучитьОбласть("Область1");
    Область.Параметры.Заполнить(СсылкаНаДокумент);
    ТабличныйДокумент.Вывести(Область);
    Возврат ТабличныйДокумент
КонецФункции



1



24 / 24 / 2

Регистрация: 11.09.2013

Сообщений: 93

13.10.2015, 11:55

3

wladimir_ui
Большое Вам СПАСИБО!

4 часа мучался в поисках ответа …



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

13.10.2015, 11:55

3

Понравилась статья? Поделить с друзьями:
  • 1с ошибка открытия файла обмена
  • 1с ошибка открытия таблицы dh 22970
  • 1с ошибка определяемый тип недопустимый тип
  • 1с ошибка определения принадлежности клиентского и серверного процессов
  • 1с ошибка ожидается оператор препроцессора