Вход | Регистрация

1С:Предприятие ::

Метки: 

ЗУП 3.1 Внешняя печатная форма не видит документ, к которому должна подключаться.

Я
   Vasiliy2018
 
26.01.18 - 11:45
ЗУП 3.1.4.120

Возникла необходимость перенести печатные формы с 2.5.

Соответственно была создана новая внешняя обработка с реквизитом «СсылкаНаОбъект» с  типом ДокументСсылка.НужныйДокумент.

Перенесет макет.

Оформлена процедура «СведенияОВнешнейОбработке» и все сопутствующее.

Но возникла проблема, обработка не видит «СсылкаНаОбъект», соответственно отрисовывает голый макет без параметров.



В чем может быть проблема?
 
  Рекламное место пустует
   Alexandr_U1982
 
1 - 26.01.18 - 11:49
   Alexandr_U1982
 
2 - 26.01.18 - 11:51
Реквизит "СсылкаНаОбъект" не нужен.
Объект(ы), к которому привязана печатная форма, в процедуру печати передается другим способом.
   Darych
 
3 - 26.01.18 - 11:54
в 3.1 другая парадигма.. кури БСП
   Vasiliy2018
 
4 - 26.01.18 - 14:16
(2) но как?

Глянул описание, расписаны СведенияОВнешнейОбработке(), но не понятно к чему обращаться. Назначение документа указано.
   Alexandr_U1982
 
5 - 26.01.18 - 14:22
(4)Для особо одаренных и тех, кто не умеет читать до конца:

Пример: внешняя печатная форма
Обработка с одной печатной формой:
Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.3.1.73");
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
    ПараметрыРегистрации.Версия = "1.3";
    // Определение объектов, к которым подключается эта обработка.

    ПараметрыРегистрации.Назначение.Добавить("Документ._ДемоСчетНаОплатуПокупателю");
    // Добавление команды печати "Счет на оплату".

    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Счет на оплату (внешняя печатная форма)'");
    НоваяКоманда.Идентификатор = "СчетНаОплату";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
    НоваяКоманда.Модификатор = "ПечатьMXL";
    Возврат ПараметрыРегистрации;
КонецФункции

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    ПечатнаяФорма = УправлениеПечатью.СведенияОПечатнойФорме(КоллекцияПечатныхФорм, "СчетНаОплату");
    Если ПечатнаяФорма <> Неопределено Тогда
        ПечатнаяФорма.ТабличныйДокумент = СформироватьСчетНаОплатуПокупателю(МассивОбъектов, ОбъектыПечати);
        ПечатнаяФорма.СинонимМакета = НСтр("ru = 'Счет на оплату'");
    КонецЕсли;
КонецПроцедуры

Функция СформироватьСчетНаОплатуПокупателю(МассивОбъектов, ОбъектыПечати)
    ТабличныйДокумент = Новый ТабличныйДокумент;
     ....
    Возврат ТабличныйДокумент;
КонецФункции
   Alexandr_U1982
 
6 - 26.01.18 - 14:23
Для назначаемых обработок типа ПечатнаяФорма реализовать экспортную процедуру Печать с параметрами МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати и ПараметрыВывода. Описание параметров см. в разделе «Печать». При этом в структуре ПараметрыВывода содержится свойство ДополнительнаяОбработкаСсылка (ссылка на элемент справочника ДополнительныеОтчетыИОбработки, который связан с данной дополнительной обработкой).

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
  // Реализация логики команды печати

  Если ИдентификаторКоманды = ... Тогда
    ...
  ИначеЕсли ...
КонецПроцедуры
   Alexandr_U1982
 
7 - 26.01.18 - 14:24
Вариант запуска «Вызов клиентского метода»
Для назначаемых обработок типа ПечатнаяФорма реализовать экспортную процедуру Печать с двумя параметрами: ИдентификаторКоманды и ОбъектыНазначенияМассив, где ИдентификаторКоманды – строка, идентификатор команды; ОбъектыНазначенияМассив – массив ссылок на объекты информационной базы, для которых выполняется дополнительная обработка:

&НаКлиенте
Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив)
  // Реализация логики команды печати

  // ...

КонецПроцедуры


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует