Имя: Пароль:
1C
1С v8
УТ11 - Печать документа, имея ссылку
0 Маленький Вопросик
 
08.10.13
11:54
Народ, подскажите момент - есть ссылка на документ. нужно, распечатать определенную печатную форму по этой ссылке.

подскажите примерчик или образец. спасибо
1 Fish
 
08.10.13
11:54
(0) Смотри, как реализована печать типовых доков. Например, из формы списка.
2 Маленький Вопросик
 
08.10.13
11:56
(1) я это понимаю... попроще что-нибудь имеется.. может ход какой...
3 Strogg
 
08.10.13
11:56
(0) я как-то переносил функционал из УФ в обычные. Там, обычно, процедуру печати фигачат в модуль менеджера. И обращаешься ты к ней как к обыкновенному методу объекта - т.е. через точку.
4 Fish
 
08.10.13
11:58
(2) Куда уж проще?
5 Маленький Вопросик
 
08.10.13
11:58
меня не интересует печать списка, а печать ссылки
6 Маленький Вопросик
 
08.10.13
11:59
примерчик бы))))))))))))))
7 Fish
 
08.10.13
12:01
(5) Ты не поверишь, но в типовых формах списка, по кнопочке "печать", как раз и печатается документ по ссылке :)
Вот пример команды:
    УниверсальныеМеханизмы.НапечататьДокументИзФормыСписка(ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока.ПолучитьОбъект());
8 Маленький Вопросик
 
08.10.13
12:04
(7) так-с... вот это я и ждал. спасибо! поглядим...
9 Fish
 
08.10.13
12:06
(8) Это код из УПП. В УТ11 могут быть другие процедуры для этого.
10 Маленький Вопросик
 
08.10.13
12:11
УниверсальныеМеханизмы.НапечататьДокументИзФормыСписка(Ссылка) - по идее должно сработать))))
11 Fish
 
08.10.13
12:13
(10) Обрати внимание, что там идет печать формы по умолчанию. Для выбора печатной формы в УПП есть функция НапечататьДокумент.
12 Маленький Вопросик
 
08.10.13
12:21
(11) первый раз с этим столкнулся.. попробую разобраться
13 Fish
 
08.10.13
12:25
(12) Я немного наврал. В функцию НапечататьДокумент передаётся уже печатная форма. А получить её из документа можно другими стандартными функциями. В общем смотри, как реализовано в типовых документах, там в принципе всё просто.
14 Маленький Вопросик
 
08.10.13
12:52
Хм... что-то неясно - метод печать не описан....
15 Fish
 
08.10.13
12:59
(14) А собственно метод печать обычно располагается в модуле менеджера.
16 Маленький Вопросик
 
08.10.13
13:02
Это на форме процедура

&НаСервере
Процедура НапечатаемДокументы(СсылкаНаРеализацию)
    
    //Сообщить(СсылкаНаРеализацию.Ссылка);
    //
    //ЧтоПечатать = СсылкаНаРеализацию.ПолучитьОбъект();
    
КонецПроцедуры
17 Маленький Вопросик
 
08.10.13
13:28
жду подсказки
18 Fish
 
08.10.13
13:30
(17) Я даже уже и не знаю, что тебе подсказать. Вроде уже всё, что можно, подсказали. Дальше надо самому думать.
19 Маленький Вопросик
 
08.10.13
13:32
(18) нужно подсказать процедуру, которая печатает по ссылке
20 oreshka7387
 
08.10.13
13:32
http://www.1c-pro.ru/topic38767.html вроде подробно описано
21 oreshka7387
 
08.10.13
13:33
22 Галахад
 
гуру
08.10.13
13:33
(17) Вы с LivingStar не однофамильцы?
23 Маленький Вопросик
 
08.10.13
13:39
(21) не нужно дополнительную печатную форму
24 Маленький Вопросик
 
08.10.13
13:39
как распечатать "Торг-12" имея ссылку на этот документ
25 Маленький Вопросик
 
08.10.13
13:39
примерчик кто знает скиньте!)
26 oreshka7387
 
08.10.13
13:42
Печать() Экспорт в модуле менеджера документа есть? ну и вызови её! с указанием этой самой печатной формы
27 Маленький Вопросик
 
08.10.13
13:44
(26) а как обратиться к менеджеру документа????
28 oreshka7387
 
08.10.13
13:45
(27) а как обратиться к документу через ссылку?
29 Маленький Вопросик
 
08.10.13
13:47
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Накладная", "Реализация товаров", СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати));
    КонецЕсли;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РасходнаяНакладная") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "РасходнаяНакладная", "Расходная накладная", СформироватьПечатнуюФормуРасходнаяНакладная(МассивОбъектов, ОбъектыПечати));
    КонецЕсли;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РеестрНомеровГТД") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "РеестрНомеровГТД", "Реестр номеров ГТД", СформироватьПечатнуюФормуРеестрНомеровГТД(МассивОбъектов, ОбъектыПечати));
    КонецЕсли;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "КомплектДокументов") Тогда
        КоллекцияПечатныхФорм.Очистить();
        СформироватьКомплектПечатныхФорм(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати);
    КонецЕсли;
    
КонецПроцедуры
30 oreshka7387
 
08.10.13
13:49
http://forum.infostart.ru/forum26/topic91806/ это, может, поможет?

по торг-12: вижу, что в коллекции её нет. посмотри отладчиком, где именно она вызывается, туда и обращайся
31 Маленький Вопросик
 
08.10.13
14:24
нет, там что-то через глобальные команды... нигде не могу ничего толкового найти... или не понимаю
32 Fish
 
08.10.13
14:32
(31) Давай сначала:
1. Что за документ?
2. В этом документе торг-12 - это внешняя печатная форма или она типовая для этого документа?
33 Маленький Вопросик
 
08.10.13
15:05
(32) конкретно - имеется сслылка на документ реализации товаров, вот используя ссылку, хочу распечать с-фактуру и торг12.

могу конечно через макеты там привязать... но, хотелось бы сделать это правильно - через возможности конфигурации..
34 banco
 
08.10.13
15:14
(33) например можно так
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
            "Обработка.ПечатьОбщихФорм",
            "ТОРГ12",
            ТвояСсылка,
            Неопределено,
            Новый Структура("ВыводитьУслуги", Истина));
35 Маленький Вопросик
 
08.10.13
15:57
(34) не получается чето - на сервер ругается...

&НаСервере
Процедура НапечатаемДокументы(СсылкаНаРеализацию)
    
    //ЧтоПечатать = СсылкаНаРеализацию.ПолучитьОбъект();
    //Сообщить(ЧтоПечатать);
    
    МассивОбъект = новый массив(1);    
МассивОбъект.Добавить(СсылкаНаРеализацию);
УправлениеПечатьюКлиент.ВыполнитьКомандуПечатиНаПринтер(
            "Обработка.ПечатьОбщихФорм",
            "ТОРГ12",
            МассивОбъект,
            Новый Структура("ВыводитьУслуги", Ложь));
    
КонецПроцедуры
36 Маленький Вопросик
 
08.10.13
16:03
&НаСервере
функция создатьРеализацию()
...
Записать()
Напечатать (Ссылка);
Возврат Ссылка;
конецФункции


&НаСервере
функция Напечатать (ссылка)

здесь надо напечатать....

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



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