Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод табличного документа на печать через стандартную общую форму печати. БУ 2
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Insider12
Здравствуйте, Конфигурация "Бухгалтерия для Украины, редакция 2.0. (2.0.12.1) ", Плафторма "8.3.10.2561"

Нужно из внешней обработки вывести на печать сформированный табличный документ.
Не ТабДокумент.Показать(), а в общую форму "ПечатьДокументов"
КАК это сделать? Чего не пробовал, все нереально запутано в этих управляемых формах для выполнения такого рода задачи!!)
Уже несколько часов не могу это сделать.
Petre
Insider12 @ Today, 9:36 необходимо зарегистрироваться для просмотра ссылки ,
Внешняя обработка написана по стандарту дополнительной обработки типа "печать"?
Insider12
Petre @ Сегодня, 10:39 необходимо зарегистрироваться для просмотра ссылки ,
Да, просто это ТТН и я сначала вывожу форму (форму обработки ТТН для заполнения пользователем некоторых реквизитов перед печатью), а потом оттуда формирую табдокумент и, как я понимаю, в таком случае выводом этого табдокумента на экран тоже я должен заниматься

Insider12 @ Сегодня, 10:43 необходимо зарегистрироваться для просмотра ссылки ,
В принципе неважно то, что именно я делаю. Вопрос, который меня интересует это: "Как свой табдокумент выводить на печать в "красивом" виде"
sava1
Цитата(Insider12 @ 03.12.18, 9:36) необходимо зарегистрироваться для просмотра ссылки
все нереально запутано в этих управляемых формах


тут еще БСП подключилось.

в форме заполняем реквизиты для передачи в модуль объекта (потому что БСП создает копию обработки), в модуле объекта - Печать по описанию БСП (Вывести в коллекцию... отправляет табличный документ в Форму).

Цитата(Insider12 @ 03.12.18, 10:57) необходимо зарегистрироваться для просмотра ссылки
это: "Как свой табдокумент выводить на печать в "красивом" виде"


нарисуйте на форме ПолеТабличного документа и заполняйте.
Insider12
sava1 @ Сегодня, 11:12 необходимо зарегистрироваться для просмотра ссылки ,
"Вывести в коллекцию" - ничего не происходит
Вот так вот делаю:
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ТТН", НСтр("ru='Товарно-транспортная накладная (1-ТН)';uk='Товарно-транспортна накладна (1-ТН)'"), 
        ТабДокумент,,"ВнешняяОбработка.ТТН_из_ПередачаТоваров_БУ2.ПФ_MXL_ТТН", ИмяФайлаПечатнойФормы);


sava1
Что по этому можно понять?
Я Вам таких хреней накопирую сотню.
1. Табличный документ формируется ?
2. Идентификатор обработки совпадает ?

для начала попробуйте просто вывести ПУСТОЙ макет ТТН.

потом можно разговаривать дальше.

а вот это
Цитата(Insider12 @ 03.12.18, 11:23) необходимо зарегистрироваться для просмотра ссылки
"ВнешняяОбработка.ТТН_из_ПередачаТоваров_БУ2.ПФ_MXL_ТТН"


не прокатит. БСП с внешними обработками работает иначе.
Insider12
Цитата(sava1 @ 03.12.18, 11:28) необходимо зарегистрироваться для просмотра ссылки
для начала попробуйте просто вывести ПУСТОЙ макет ТТН.

Так в том то и дело, что я не знаю, как в этой конфигурации выводить свой, хотя-бы пустой макет. В этом вопрос этой ветки
sava1
Цитата(Insider12 @ 03.12.18, 11:23) необходимо зарегистрироваться для просмотра ссылки
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ТТН", НСтр("ru='Товарно-транспортная накладная (1-ТН)';uk='Товарно-транспортна накладна (1-ТН)'"), ТабДокумент,


вот это последнее и есть Ваш сформированный ТабличныйДокумент. - т.е. до этого момента он уже должен быть сформирован.
Если он Не пустой - откроется форма ПечатьДокументов, где и будет Ваш ТабДокумент
Petre
В той версии БСП, что "сидит" в БПУ 2.0, "прямой" такой возможности нет.
Но есть изврат.
Insider12
Цитата(sava1 @ 03.12.18, 11:44) необходимо зарегистрироваться для просмотра ссылки
Если он Не пустой - откроется форма ПечатьДокументов, где и будет Ваш ТабДокумент

Он не пустой, если его выводить через ТабДокумент.Показать(), то он выводится, очень даже заполенный.

Цитата(Petre @ 03.12.18, 11:45) необходимо зарегистрироваться для просмотра ссылки
Но есть изврат.

О, какой изврат, меня все устраиваетт?)
Petre
Insider12 @ Today, 11:48 необходимо зарегистрироваться для просмотра ссылки ,
1. В программном интерфейсе добавляем команду типа "ОткрытиеФормы".
2. Рисуем форму с нужными полями ввода данных. В ПриСозданииНаСервере обязательно считываем и записываем в реквизиты формы параметры "ДополнительнаяОбработкаСсылка", "ИдентификаторКоманды" и "ОбъектыНазначения".
3. Пользователь вводит данные и жмет кнопку печати.
4. В обработчике кнопки печати пишем:
    ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника");
    ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
    ПараметрыОткрытия.ИсточникДанных = Параметр_ДополнительнаяОбработкаСсылка;
    ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = Параметр_ИдентификаторКоманды;
    ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = Параметр_ОбъектыНазначения;
    
    ДопПараметры = Новый Структура;
    //* заполняем введенными пользователем данными
    //...
    
    ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения.Добавить(ДопПараметры, "Доп. параметры");
    ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
    ЭтаФорма.Закрыть();

5. В модуле объекта в процедуре формирования печатной формы вставляем код:
    //* поиск доп. параметров
    ДопПараметры = Неопределено;
    Для Каждого ПотЕлемент Из МассивОбъектов Цикл
        Если ТипЗнч(ПотЕлемент.Значение) = Тип("Структура") Тогда
            ДопПараметры = ПотЕлемент.Значение;
            МассивОбъектов.Удалить(ПотЕлемент);
            Прервать;
        КонецЕсли;
    КонецЦикла;


Т. е. в форме пользователь только вводит данные. Эти данные передаются таким хитрым способом в модуль объекта внешней обработки.
alex1c
Insider12 @ 03.12.18, 11:48 необходимо зарегистрироваться для просмотра ссылки ,
У вас получилось то что вы хотели, а то у меня аналогичная проблема...
Если можно, поделитесь кодом.
Insider12
Перенес общую форму для печати документов из конфигурации себе в обработку и выводил туда, что нужно было.
alex1c
Insider12 @ Сегодня, 14:40 необходимо зарегистрироваться для просмотра ссылки ,
Я поступил иначе, из своей обработки открывал другую внешнюю печ. форму которая печатала документ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.