Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 00:11

Перестала выводится на печать - Печатная форма недоступна

Автор mr_smit, 24 апр 2017, 16:00

0 Пользователей и 1 гость просматривают эту тему.

mr_smit

Здравствуйте, подскажите пожалуйста, форма перестала выводится на печать, хотя её код никто не трогал. Другая с таким же кодом выводится а эта стала недоступна
Что ей не так??
+ Code
Функция ПолучитьТабличныйДокумент(МассивОбъектов, ОбъектыПечати, ПараметрыПечати) Экспорт
     
    ТабличныйДокумент_ = Новый ТабличныйДокумент;
    ТабличныйДокумент_.КлючПараметровПечати = "ПараметрыПечати_ПФ_MXL_Форма057у_04";
    ТабличныйДокумент_.Защита = Истина;
    ТабличныйДокумент_.ТолькоПросмотр = Истина;
    ТабличныйДокумент_.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабличныйДокумент_.ОтображатьСетку = Ложь;
    ТабличныйДокумент_.ОтображатьЗаголовки = Ложь;
   
    Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.Направление.ПФ_MXL_Форма057у_04");
   
    МассивДокументовПечати = Новый Массив;   
    Если ТипЗнч(МассивОбъектов) <> Тип("Массив") Тогда
        МассивДокументовПечати.Добавить(МассивОбъектов);
    Иначе
        МассивДокументовПечати = МассивОбъектов;
    Конецесли;
   
    ПервыйДокумент = Истина;
    ПредыдущаяМедицинскаяКарта = Неопределено;
    ДанныеПациента = Новый Структура;
    ДанныеОрганизации = ПолучитьДанныеОрганизации();
   
    Для Каждого Документ Из МассивДокументовПечати Цикл
        Если Не ПервыйДокумент Тогда
            // Документы нужно выводить на разных страницах

            ТабличныйДокумент_.ВывестиГоризонтальныйРазделительСтраниц();
        Иначе
            ПервыйДокумент = Ложь;
        КонецЕсли;
       
        // Запомним номер строки, с которой начали выводить текущий документ

        НомерСтрокиНачало = ТабличныйДокумент_.ВысотаТаблицы + 1;
       
        ДанныеДокумента = ПолучитьДанныеДокумента(Документ);
       
        Если Не ЗначениеЗаполнено(ДанныеДокумента.МедицинскаяКарта) Тогда
            Продолжить;
        ИначеЕсли ДанныеДокумента.МедицинскаяКарта <> ПредыдущаяМедицинскаяКарта Тогда
            // Если карта сменилась, получаем данные карты

            ДанныеПациента = ПолучитьДанныеПациента(ДанныеДокумента.МедицинскаяКарта, ДанныеДокумента.Дата);
            ПредыдущаяМедицинскаяКарта = ДанныеДокумента.МедицинскаяКарта;
        КонецЕсли; 
        Макет.Параметры.Заполнить(ДанныеПациента);
        Макет.Параметры.Заполнить(ДанныеОрганизации);
        Макет.Параметры.Заполнить(ДанныеДокумента);
       
        ТабличныйДокумент_.Вывести(Макет);

        // В табличном документе необходимо задать имя области, в которую был

        // выведен объект. Нужно для возможности печати покомплектно.

        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(
            ТабличныйДокумент_, НомерСтрокиНачало, ОбъектыПечати, Документ.Ссылка
        );
    КонецЦикла;   
   
    Возврат ТабличныйДокумент_;
   
КонецФункции

mr_smit


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск