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

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

Метки: 

Внешняя печатная форма УФ

Я
   LeoKeyn
 
26.01.18 - 10:41
Здравствуйте. Пытаюсь написать внешнюю печатную форму в УФ. Все вроде делаю правильно, но в массивОбъектов как будто не передаются данные(ссылка пустая). Через форму все работает, следовательно проблема в регистрации обработки в системе.







Все данные, которые достаются с помощью ссылки пустые, поскажите что не так:-) Заранее благодарю!
 
 
   LeoKeyn
 
1 - 26.01.18 - 10:42
(0) Функция Получить Таблицу Команд()

  // Создадим пустую таблицу команд и колонки в ней

   Команды = Новый Таблица Значений;

  // Как будет выглядеть описание печатной формы для пользователя

   Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));

  // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати

   Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

  // Тут задается, как должна вызваться команда обработки

  // Возможные варианты:

  // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система

  // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки

  // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки

   Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

  // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы

   Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

  // Для печатной формы должен содержать строку ПечатьMXL 

   Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
   
   Возврат Команды;
   
КонецФункции

//Создает в таблице команд новую строку


Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор= Идентификатор;
    НоваяКоманда.Использование= Использование;
    НоваяКоманда.ПоказыватьОповещение= ПоказыватьОповещение;
    НоваяКоманда.Модификатор= Модификатор;
КонецФункции
   LeoKeyn
 
2 - 26.01.18 - 10:43
+(0)

Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Справочник.ФизическиеЛица");
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");//может быть - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов... 

    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Заявление о внесении изменений в учетные данные(WORD)");//имя под которым обработка будет зарегестрирована в справочнике внешних обработок

    ПараметрыРегистрации.Вставить("Версия", "2.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", "Заявление о внесении изменений в учетные данные(WORD)")//так будет выглядеть описание печ.формы для пользователя

    Таблица Команд = Получить Таблицу Команд();
    ДобавитьКоманду(ТаблицаКоманд, "Заявление о внесении изменений в учетные данные(WORD)", "Тратата", "ВызовКлиентскогоМетода", Истина, "ПечатьMXL");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
КонецФункции



И Сама процедура печати:


&НаКлиенте
Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт
     
Для Каждого ФизЛицо Из МассивОбъектов Цикл
    
        СобратьМакет(ФизЛицо);
        
    КонецЦикла;
КонецПроцедуры
   LeoKeyn
 
3 - 26.01.18 - 10:52
Ни кто не в курсе?:-)
   LeoKeyn
 
4 - 26.01.18 - 10:53
МассивОбъектов как будто пустой. Но почему понять не могу, все сделано вроде правильно
   LeoKeyn
 
5 - 26.01.18 - 11:05
Вопрос Исчерпан, ступил в коде и перезаписывал ссылку, извините! :-)


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