Не отображаются кнопки "печать/предварительный просмотр etc" в БСП-обработке Печати (ВызовКлиентскогоМетода)
Не отображается панелька с кнопками быстрого доступа к командам печати в БСП-обработке печати. Из-за особенности логики печати, пришлось использовать "ВызовКлиентскогоМетода" вместо "ВызовСерверногоМетода". Когда был "ВызовСерверногоМетода", все было хорошо.
В случае:
Вызывается экспортная процедура "ВыполнитьКлиентскийМетодОбработки" модуля "ДополнительныеОтчетыИОбработкиКлиент".
где ВыполняемаяКоманда.Идентификатор - Строка хранящая идентификатор команды, а ОбъектыНазначения - массив из объектов для которых вызвана команда печать. Больше ничего. Возвращать, как в случае "ВызовСерверногоМетода" ничего не надо (вроде). Почему же эта панель не формируется, я хз.
В случае:
СведенияОбОбработке.Вставить("Вид", "ПечатнаяФорма");
ДобавитьКоманду(ТаблицаКоманд, "!Форма выдаваемого документа", "ВыдаваемыйДокумент", "ВызовКлиентскогоМетода", Ложь, "ПечатьMXL");
Вызывается экспортная процедура "ВыполнитьКлиентскийМетодОбработки" модуля "ДополнительныеОтчетыИОбработкиКлиент".
ФормаОбработки.Печать(ВыполняемаяКоманда.Идентификатор, ОбъектыНазначения);
где ВыполняемаяКоманда.Идентификатор - Строка хранящая идентификатор команды, а ОбъектыНазначения - массив из объектов для которых вызвана команда печать. Больше ничего. Возвращать, как в случае "ВызовСерверногоМетода" ничего не надо (вроде). Почему же эта панель не формируется, я хз.
Прикрепленные файлы:
Найденные решения
Эта панелька из общей формы печати. В клиентской процедуре печати ее нужно вызывать, передавая туда ваш табдок через коллекцию печатных форм, нужные процедуры где-то в модуле УправлениеПечатьюКлиент. Описание БСП на ИТСе в помощь.
ТабДоки получить с сервера на клиенте нужно. Для примера:
&НаКлиенте
Процедура ПечатьПротокола(Команда)
ТабДок = ПечатьПротоколаНаСервере();
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("ПФ_MXL_ПечатьПротоколаКТУ");
КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок;
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм);
КонецПроцедуры
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Потому что когда был серверный метод - у вас не было формы обработки, она формировалась платформой (вернее, БСП). А теперь вы создали форму, и используется она.
Откройте снова вариант с серверным вызовом, поставьте "пауза" в отладке на клиента и на сервера и шагайте - ищите какая форма будет использована. Вполне вероятно что будет какая-то общая форма из БСП.
Откройте снова вариант с серверным вызовом, поставьте "пауза" в отладке на клиента и на сервера и шагайте - ищите какая форма будет использована. Вполне вероятно что будет какая-то общая форма из БСП.
Эта панелька из общей формы печати. В клиентской процедуре печати ее нужно вызывать, передавая туда ваш табдок через коллекцию печатных форм, нужные процедуры где-то в модуле УправлениеПечатьюКлиент. Описание БСП на ИТСе в помощь.
ПечатьДокументов
Открывает форму ПечатьДокументов для коллекции табличных документов.
Синтаксис
Процедура ПечатьДокументов(КоллекцияПечатныхФорм, Знач ОбъектыПечати = Неопределено, ВладелецФормы = Неопределено) Экспорт
Параметры
КоллекцияПечатныхФорм - Массив - коллекция описаний печатных форм, см. НоваяКоллекцияПечатныхФорм();
ОбъектыПечати - СписокЗначений - значение - ссылка на объект;
представление - имя области в которой был выведен объект (выходной параметр);
ВладелецФормы - УправляемаяФорма - форма, из которой выполняется печать.
Пример вызова
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбъектыПечати, ВладелецФормы)
Доступность
Тонкий клиент, Толстый клиент
Библиотека стандартных подсистем
Открывает форму ПечатьДокументов для коллекции табличных документов.
Синтаксис
Процедура ПечатьДокументов(КоллекцияПечатныхФорм, Знач ОбъектыПечати = Неопределено, ВладелецФормы = Неопределено) Экспорт
Параметры
КоллекцияПечатныхФорм - Массив - коллекция описаний печатных форм, см. НоваяКоллекцияПечатныхФорм();
ОбъектыПечати - СписокЗначений - значение - ссылка на объект;
представление - имя области в которой был выведен объект (выходной параметр);
ВладелецФормы - УправляемаяФорма - форма, из которой выполняется печать.
Пример вызова
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбъектыПечати, ВладелецФормы)
Доступность
Тонкий клиент, Толстый клиент
(4) Да, уже нашел. Спасибо всем кто отписался! Единственное только во что не въеду пока:
ПечатьДокументов вызываю на клиенте. Передаю массив КоллекцияПечатныхФорм. Для его создания использую УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм - тоже на клиенте. Но сами ТабДоки формирую на сервере. Там же по логике хотел использовать ВывестиТабличныйДокументВКоллекцию, но он КоллекцияПечатныхФорм требует как ТЗ. Видимо в этой цепочке не хватает какого-то звена. Какого только пока не понял. И скорее всего - это пара извилин в моей башке))
ЗЫ. БСП v2.3.6.
ПечатьДокументов вызываю на клиенте. Передаю массив КоллекцияПечатныхФорм. Для его создания использую УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм - тоже на клиенте. Но сами ТабДоки формирую на сервере. Там же по логике хотел использовать ВывестиТабличныйДокументВКоллекцию, но он КоллекцияПечатныхФорм требует как ТЗ. Видимо в этой цепочке не хватает какого-то звена. Какого только пока не понял. И скорее всего - это пара извилин в моей башке))
ЗЫ. БСП v2.3.6.
(5) Все, нашел. В Серверной процедуре формирования ТабДока
И на клиенте уже:
Спасибо еще раз всем, кто в теме ответил!
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ИмяМакета);
...
Формирование ТабличногоДокумента
...
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимИмениМакета, ТабличныйДокумент);
КоллекцияПечатныхФорм = ОбщегоНазначения.ТаблицаЗначенийВМассив(КоллекцияПечатныхФорм);
И на клиенте уже:
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ОбъектНазначения, ВладелецФормы);
Спасибо еще раз всем, кто в теме ответил!
ТабДоки получить с сервера на клиенте нужно. Для примера:
&НаКлиенте
Процедура ПечатьПротокола(Команда)
ТабДок = ПечатьПротоколаНаСервере();
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("ПФ_MXL_ПечатьПротоколаКТУ");
КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок;
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм);
КонецПроцедуры
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот