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

        // В табличном документе необходимо задать имя области, в которую был
        // выведен объект. Нужно для возможности печати покомплектно.
        УправлениеПечатью.ЗадатьОбластьПечатиДокумента(
            ТабличныйДокумент_, НомерСтрокиНачало, ОбъектыПечати, Документ.Ссылка
        );
    КонецЦикла;    
    
    Возврат ТабличныйДокумент_;
    
КонецФункции
1 mr_smit
 
24.04.17
15:37
Причём ставишь остановку по ошибке, не останавливается, в сразу пишет печатная форма недоступна
2 mr_smit
 
24.04.17
15:54
Не хочет....
3 mr_smit
 
24.04.17
16:09
Какие все скромные
4 dezss
 
24.04.17
16:46
Это внешняя печатная форма?
5 dezss
 
24.04.17
16:48
ну и еще бы узнать платформу, конфу, да и что печатается тоже...
6 mr_smit
 
24.04.17
16:50
Это встроенный макет.
1С:Предприятие 8.3 (8.3.10.2168) конфа МИС
7 mr_smit
 
24.04.17
16:52
Печатается документ Направление, он выводился на печать, к нему добавили ещё одну печатную форму макет, его самого не трогали, но он перестал выводится, код сравнивал, вроде один и тот же с другим документом, но тот выводится, а этот стал недоступен
8 mr_smit
 
24.04.17
16:52
всю голову уже сломал, что же такого ему поделать)
9 Alexperumov
 
24.04.17
16:57
ПФ_MXL_Форма057у_04  - Это типа новый макет?
10 dezss
 
24.04.17
16:58
(7) >к нему добавили ещё одну печатную форму макет
добавили в самом конфигураторе?
11 mr_smit
 
24.04.17
16:58
Да это типа название макета
12 mr_smit
 
24.04.17
16:59
Да в самом конфигураторе, отдельный макет,
13 dezss
 
24.04.17
17:01
(11) это название нового или старого макета?
Если нового, то ты название в коде писал или копировал из названия макета?
14 mr_smit
 
24.04.17
17:03
Выводятся на печать двумя действиями: Одна форма ПФ другая Памятка, маккеты разные, код похожий, Памятка делалась по подобию формы ПФ. И какое то время были обе доступны, но что случилось не понял.
это не новый макет, от просто макет, я пробовал все названия ПФ во всех местах привести в единобразие копировал  из названия макета и менял здесь, не помогло, надеялся что названия разные и поэтому, но нет
15 Alexperumov
 
24.04.17
17:08
Мож по этому пути такого макета нету? -
Документ.Направление.ПФ_MXL_Форма057у_04
16 dezss
 
24.04.17
17:11
(14) А покажи процедуру "печать" из модуля менеджера документа.
17 mr_smit
 
24.04.17
17:12
Есть к сожалению или к счастью
http://screenshot.ru/upload/image/zFgU
18 mr_smit
 
24.04.17
17:13
сейчас одну секундочку
19 mr_smit
 
24.04.17
17:13
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    //
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_Форма057у_04") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
        КоллекцияПечатныхФорм,
        "ПФ_MXL_Форма057у_04",
        "Печатная форма направления",
        ПолучитьТабличныйДокумент(МассивОбъектов,ОбъектыПечати, ПараметрыПечати)," Документ.Направление.ПФ_MXL_Форма057у_04");
                            
        //Если ОбъектыПечати <> Неопределено И ОбъектыПечати.Количество() = 0 Тогда
        //    ОбъектыПечати.Добавить("", "");
        //КонецЕсли;
    КонецЕсли;

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПамяткаПациенту") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
        КоллекцияПечатныхФорм,
        "ПамяткаПациенту",
        "Памятка Пациенту",
        ПолучитьПечатныйДокумент(МассивОбъектов,ОбъектыПечати, ПараметрыПечати),  "Документ.Направление.ПамяткаПациенту");
    КонецЕсли;
    
    
КонецПроцедуры
20 mr_smit
 
24.04.17
17:14
как то криво сюда скопировалась, но суть верна
21 mr_smit
 
24.04.17
17:16
И вот памятка печатается, а ПФ форма недоступна
22 Alexperumov
 
24.04.17
17:19
РегистрСведений.ПользовательскиеМакетыПечати  тут оно есть?
23 mr_smit
 
24.04.17
17:21
Да есть
24 mr_smit
 
24.04.17
17:25
аааа, стоп в РегистрСведений.ПользовательскиеМакетыПечати ,сама форма Пф?
25 mr_smit
 
24.04.17
17:28
в регистре стандартные описания, причём типовые, да и памятка работает же
26 dezss
 
24.04.17
17:30
(22) э...а нафиг он там?
27 mr_smit
 
24.04.17
17:33
нет его там, ссори я погорячился, я имел ввиду что регистр такой есть
28 mr_smit
 
24.04.17
17:51
где-то чувствую всё же не вижу что-то
29 dezss
 
25.04.17
09:04
А что показывает отладчик?
А какой момент ошибка вываливается?
30 mr_smit
 
25.04.17
11:37
В момент окончания процесса, в пользовательском режиме, просто пишет,что печатная форма недоступна
31 mr_smit
 
25.04.17
12:01
Без ошибок
32 dezss
 
25.04.17
12:17
(31) пройдись отладчиком еще раз. У тебя точно не пустой табличный документ получается?
33 mr_smit
 
25.04.17
14:20
Сейчас попробую