Имя: Пароль:
1C
 
Вывод печатных форм документа
0 LivingStar
 
30.09.19
05:37
Необходимо сделать вывод печатных форм документа. У документа есть макеты но нет их печати.
Подскажите пожалуйста как правильно это сделать? В модуле менеджера есть процедура Печать()
Она может как то помочь? Или нужно самому все создавать? Хотелось бы использовать и подключить,
имеющийся функционал. Если это возможно. Пытаюсь узнать как сделать это правильно.

// Формирует печатные формы.
//
// Параметры:
//  МассивОбъектов  - Массив    - ссылки на объекты, которые нужно распечатать;
//  ПараметрыПечати - Структура - дополнительные настройки печати;
//  КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (выходной параметр)
//  ОбъектыПечати         - СписокЗначений  - значение - ссылка на объект;
//                                            представление - имя области в которой был выведен объект (выходной параметр);
//  ПараметрыВывода       - Структура       - дополнительные параметры сформированных табличных документов (выходной параметр).
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    пбУправлениеПечатьюВнутренний.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода, "прбОперативноеСообщениеОбИнцидентеПредпосылкеИнцидента", "ПроизводственнаяБезопасностьПромышленнаяБезопасность");
    
КонецПроцедуры
1 PaulBC
 
30.09.19
05:53
2 LivingStar
 
30.09.19
06:26
(1) нету доступа
3 ДенисЧ
 
30.09.19
06:27
(2) На 7 дней возьми и почитай. Или прояви смекалку и найди образ диска в сетях.
4 LivingStar
 
30.09.19
06:27
(3) Он уже был у меня.
5 ДенисЧ
 
30.09.19
06:32
(4) И что? Новый емейл завести никак?
6 LivingStar
 
30.09.19
06:36
(5) Хорошо, вошел. Как мне понять что правильно сделать?
7 ДенисЧ
 
30.09.19
06:45
(6) Хорошо, вошёл. А теперь попробуй почитать...
8 hhhh
 
30.09.19
06:47
(6) наверно, правильнее всего будет прочитать, что там написано. И применить всё к своему документу.
9 hhhh
 
30.09.19
06:49
(6) да. И нам заодно вкратце расскажешь, про что там. Интересно ведь.
10 LivingStar
 
30.09.19
06:51
(8) Я именно этим сейчас занят.
(7) Может какие то намеки? Читать долго придется.
11 LivingStar
 
30.09.19
07:12
Говорят кнопки печати не создаются. Они сами появляются в режиме предприятия.
Вот пытаюсь понять как это.
12 hhhh
 
30.09.19
07:21
(11) а ты в режиме предприятия наверно не посмотрел. Наверняка там есть эти кнопки.
13 LivingStar
 
30.09.19
07:24
(12) Хочу об этом же спросить. У документа есть 2 вида события.
В режиме предприятия есть кнопка печати. У документа с одним видом события активна, у другого нет.
Как это сделано? Подскажите пожалуйтса. А то это же не работает в другой базе. Нужно разобраться в чем дело.
И сделать там также.
14 hhhh
 
30.09.19
07:37
(13) это вам у авторов конфы надо спросить, как там сделано. Мы-то откуда это можем знать? Смотрите в модуль менеджера.
15 Мимохожий Однако
 
30.09.19
07:38
ОФФ: Пятнично
16 LivingStar
 
30.09.19
07:40
(14) Типовой механизм. Я думал это известно, куда посмотреть.
17 hhhh
 
30.09.19
07:51
(16) конечно известно. В модуль менеджера. Процедуры какие там?
18 LivingStar
 
30.09.19
09:43
(17) В модуле менеджера там где нет результата, вот такие процедуры. Но кнопки нет (((

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    
    пбУправлениеПечатьюВнутренний.ДобавитьКомандыПечати(КомандыПечати,"ОперативноеСообщениеОбАварииИнцидентеУтратеВзрывчатыхВеществ", "ПроизводственнаяБезопасностьПромышленнаяБезопасность");
    
КонецПроцедуры

// Формирует печатные формы.
//
// Параметры:
//  МассивОбъектов  - Массив    - ссылки на объекты, которые нужно распечатать;
//  ПараметрыПечати - Структура - дополнительные настройки печати;
//  КоллекцияПечатныхФорм - ТаблицаЗначений - сформированные табличные документы (выходной параметр)
//  ОбъектыПечати - СписокЗначений  - значение - ссылка на объект;
//                 представление - имя области в которой был выведен объект (выходной параметр);
//  ПараметрыВывода - Структура  - дополнительные параметры сформированных табличных документов (выходной параметр).
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    пбУправлениеПечатьюВнутренний.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода, "ОперативноеСообщениеОбАварииИнцидентеУтратеВзрывчатыхВеществ", "ПроизводственнаяБезопасностьПромышленнаяБезопасность");

КонецПроцедуры
19 Мимохожий Однако
 
30.09.19
09:45
(18) Пройдись отладчиком ПриОткрытии или ПриСозданииНаСервере. Набредешь на место, где кнопки добавляются
20 hhhh
 
30.09.19
09:45
(18) кнопки - это не кнопки. По-научному это называется "команды". И они походу есть у вас.
21 hhhh
 
30.09.19
09:46
(18) вот же ДобавитьКомандыПечати. Добавить команды, улавливаешь?
22 LivingStar
 
30.09.19
09:54
(21) Дело в том что работает в одной конфигурации. И не работает в другой. Я смотрю по коду и не вижу причин, почему не работает в той в которой не работает. И что мне нужно поправить. Может будет какая подсказка. Да я сомтрю код в отладчике. Но выявить не могу причину. В чем различия, или чего не хватает.
23 Fish
 
30.09.19
09:56
Похоже, не хватает знаний.
24 hhhh
 
30.09.19
09:57
(22) что конкретно не работает? Ругается? Или плюется?
25 LivingStar
 
30.09.19
10:37
(23) Так я и пытаюсь разобраться. Все прописано а не работает. А в другой конфигурации работает.
(24) Ошибок нет. Просто нет кнопки на документе. А в другой конфигурации есть или не активна в зависимости от вида докумнета.
26 catena
 
30.09.19
10:44
(22)Вряд ли модуль пбУправлениеПечатьюВнутренний типовой, а значит, мало у кого он есть. Сложно сказать, что там происходит.
27 LivingStar
 
30.09.19
10:47
(24) Не выводится кнопка печати, как её вывести?????


http://joxi.ru/v29ve64TZgG35A
28 Василий Алибабаевич
 
30.09.19
10:48
(27) Офигенная картинка. Сразу все стало понятно. )))
29 Кац
 
30.09.19
10:55
(25) Документ не типовой чтоль?
30 hhhh
 
30.09.19
11:08
(27) ну, сравнение этих двух конф сделай
31 LivingStar
 
30.09.19
11:13
Там где работает увидел что заходит вот в этот цикл. Что же нужно для этого сделать?

Функция КомандыПечатиОбъекта(ОбъектМетаданных) Экспорт
    КомандыПечати = СоздатьКоллекциюКомандПечати();
    Если ТипЗнч(ОбъектМетаданных) <> Тип("ОбъектМетаданных") Тогда
        Возврат КомандыПечати;
    КонецЕсли;    
    
    Источники = ПодключаемыеКоманды.ДеревоИсточниковКоманд();
    НастройкиAPI = ПодключаемыеКоманды.НастройкиПрограммногоИнтерфейсаПодключаемыхОбъектов();
    ПодключенныеОтчетыИОбработки = ПодключаемыеКоманды.ТаблицаПодключаемыхОбъектов(НастройкиAPI);
    Источник = ПодключаемыеКоманды.ЗарегистрироватьИсточник(ОбъектМетаданных, Источники, ПодключенныеОтчетыИОбработки, НастройкиAPI);
    Если Источник.Менеджер = Неопределено Тогда
        Возврат КомандыПечати;
    КонецЕсли;
    
    ДобавляемыеКомандыПечати = СоздатьКоллекциюКомандПечати();
    Источник.Менеджер.ДобавитьКомандыПечати(ДобавляемыеКомандыПечати);
    Для Каждого КомандаПечати Из ДобавляемыеКомандыПечати Цикл
        Если КомандаПечати.МенеджерПечати = Неопределено Тогда
32 catena
 
30.09.19
11:24
(31)Посмотреть, что не так с ДобавляемыеКомандыПечати у того, кто не заходит.
33 LivingStar
 
30.09.19
12:44
(32) А от куда они берутся? что именно смотреть?
34 catena
 
30.09.19
12:45
(33)Я все понимаю, но форум не позволяет читать тебе твой же код вслух. Попробуй самостоятельно, это совсем не больно.
35 hhhh
 
30.09.19
12:47
(33) Источник.Менеджер.ДобавитьКомандыПечати
36 LivingStar
 
30.09.19
13:24
(35) В базе где все работает нет ничего по коду такого!!!! Практически все идентично, делал сравнение объединение.
Ничего не выявил. Начинаю отладчиком смотреть, там сотня окон открывается, вызовов, процедур, функций. Я вообще не понимаю что смотреть!
37 hhhh
 
30.09.19
13:26
(36) Практически все идентично - значит не всё?
38 LivingStar
 
30.09.19
13:28
Дорогие читатели! Может подскажете что, то есть тыкните меня носом? Реально не могу ничего понять.
Лажу по коду и что отловить не могу понять ((((
39 LivingStar
 
30.09.19
13:30
В базе где работает. Нужный документ, форма списка и сама форма документа открывается с кнопкой. Она активна или нет в зависимости от вида документа. А вот где нужно сделать просто её нет.
40 LivingStar
 
30.09.19
13:35
Почему на этой процедуре при открытии документа, Функция КомандыПечатиОбъекта(ОбъектМетаданных) Экспорт

точки останова то срабатывают то нет.

Я и сижу не пойму как я в неё вхожи, или почему не могу войти.
41 LivingStar
 
30.09.19
13:46
(37) К примеру. При открытии формы списка документов выполняется процедура

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

там есть такая строка

    ДобавляемыеКомандыПечати = СоздатьКоллекциюКомандПечати();
    Источник.Менеджер.ДобавитьКомандыПечати(ДобавляемыеКомандыПечати);

Потом при открытии формы документа, уже не запускается. То есть при открытии формы списка это все задается?
42 Ёпрст
 
30.09.19
14:21
(0)
Ошибка в 1025 строке
43 LivingStar
 
30.09.19
16:06
(42) Вопрос пока не решен. Так как очевидных моментов я не вижу.
44 Fish
 
30.09.19
16:08
(40) "не пойму как я в неё вхожи, или почему не могу войти." - Смотри стек вызовов, и поймёшь.
45 Ёпрст
 
30.09.19
16:14
(43) в самодельном документе не назначены обработчики формы
46 LivingStar
 
01.10.19
06:39
(45) Есть все обработчики все как нужно.
47 RomaH
 
naïve
01.10.19
07:04
документ надо добавить в список документов с командами печати ...
https://its.1c.ru/db/bsp303doc#content:53:hdoc
там про это написано
48 LivingStar
 
01.10.19
07:39
(47) Я сейчас выявил что его не было в одном общем макете, и по коду ещё различия.
49 LivingStar
 
01.10.19
07:47
(47) Там и команды в макете заданы.
50 Кац
 
01.10.19
08:16
Если док самописный, тогда читаем по ссылке из (47)

"Объекты конфигурации, являющиеся поставщиками команд печати, следует перечислить в процедуре ПриОпределенииОбъектовСКомандамиПечати модуля УправлениеПечатьюПереопределяемый."
51 Василий Алибабаевич
 
01.10.19
08:19
(50) Эта музыка будет вечной.
ТС принципиально не читает ни документацию, ни ответы на форуме.
52 LivingStar
 
01.10.19
08:33
(50) Там все было и в модулях форм и перечислено в процедурах
(51) не известно сколько там и как делалось. Но я выявил что не было идентификатора документа и настроек команд печати в одном общем макете. По этому, хоть зачитайся документацию, понятно не будет. Открыл 2 отладчика и шел по коду, пока не появился на мек, на то что может быть. Общее представление получил. Там дальше уже в детали нужно влазить.
То что писал в (43) увидел.
53 Кац
 
01.10.19
08:39
(52) ты уже нашел в своей конфигурации общий модуль "УправлениеПечатьюПереопределяемый" ?
54 LivingStar
 
01.10.19
11:22
(53) Если в коде задействован другой механизм. Что он даст этот модуль?
Возможно да смотрел его, и нужный идентификатор документа там на месте.
55 banco
 
01.10.19
11:31
(54) Версия БСП какая?
56 LivingStar
 
01.10.19
12:08
(55) Подскажите где это пишут?
57 Кац
 
01.10.19
12:14
(56) стандартныеподсистемысервер.версиябиблиотеки()

в третий раз спрашиваю, док самописный?
58 LivingStar
 
01.10.19
12:30
(57) Похоже самописный, конфигурация не знакомая, с префиксами, видимо самописный.
59 LivingStar
 
01.10.19
13:25
(55) 3.0.2.218
60 Кац
 
01.10.19
16:35
(58) тогда следует проверить его наличие в процедуре ПриОпределенииОбъектовСКомандамиПечати модуля УправлениеПечатьюПереопределяемый. Скорей всего там его просто нет.