Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Внешняя печатная форма в 1с 8.3 , Добрый день форумчане, помогине найти ошибку          
qwert111 Подменю пользователя
сообщение 25.01.17, 8:37
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Пытаюсь создать внешнию печатную форму "АктПриёмаПередачи" к документу Операция Бух. Создал внешнюю печатную форму прикрепил с помощью ссылка на документ к документу операция бух. создал макет АктПриёмаПередачи. начал работу с модулем, вот примеры кода:
 Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.ОперацияБух");
    ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");  
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "АктПриёмаПередачи");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Информация", "Печать актов");
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд, "Акт приёма передачи", "АктПриёмаПередачи", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

  Функция ПолучитьТаблицуКоманд()
  Команды = Новый ТаблицаЗначений;
  Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
  Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
  Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
  Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
  Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
  Возврат Команды;
КонецФункции


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


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

   УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "АктПриёмаПередачи","Акт приёма передачи", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));

Конецфункции // Печать()

Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_АктПриёмаПередачи";
    
    МакетОбработки = ПолучитьМакет("АктПриёмаПередачи");
    
    //заполняем шапку
    ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.ТекДата = Формат(ТекущаяДата(),"ДЛФ=ДД");
    ОбластьШапка.Параметры.Организация = СсылкаНаДокумент.Организация.Наименование;
      
      //выводим шапку в табличный документ
        ТабличныйДокумент.Вывести("Шапка");
    
    //заполняем Заголовок таблицы
    
    ОбластьЗаголовокТаблицы = МакетОбработки.ПолучитьОбласть("ЗаголовокТаблицы");
        ТабличныйДокумент.Вывести(ОбластьЗаголовокТаблицы);
    ТабличныйДокумент.Вывести("ЗаголовокТаблицы");
    // заполняем область строка
    Для Каждого ТекущаяСтрока Из СсылкаНаДокумент.ОперацияБух Цикл
    ОбластьСтрока = МакетОбработки.ПолучитьОбласть("Строка");    
        ОбластьСтрока.Параметры.НомерСтроки =  ТекущаяСтрока.НомерСтроки;
        ОбластьСтрока.Параметры.Наименование =  ТекущаяСтрока.СправочникСсылка.ОсновныеСредства;
        ОбластьСтрока.Параметры.РаботникКр =  ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;
        ОбластьСтрока.Параметры.ПодразделениеКр =  ТекущаяСтрока.СправочникСсылка.ПодразделенияОрганизаций;
        ОбластьСтрока.Параметры.Количество =  ТекущаяСтрока.Количество;
        ОбластьСтрока.Параметры.РаботникДт =  ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;
        ОбластьСтрока.Параметры.ПодразделениеДт = ТекущаяСтрока.СправочникСсылка.ПодразделенияОрганизаций;
        ТабличныйДокумент.Вывести("Строка");          
    КонецЦикла;
    
            //заполняем подвал
    ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал");
    ОбластьПодвал.Параметры.РаботникСд = ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;
    ОбластьПодвал.Параметры.РаботникПр = ТекущаяСтрока.СправочникСсылка.ФизическиеЛица;

    ТабличныйДокумент.Вывести("Подвал");
    
    ТабличныйДокумент.АвтоМасштаб = Истина;
    
    Конецфункции



Делал по примерам из интернета, в программирование не силен.
Посмотрите если можете.
Заранее спасибо.


 ! 

Правила: 7, 9
 


Сообщение отредактировал Vofka - 25.01.17, 9:20

Vofka Подменю пользователя
сообщение 25.01.17, 9:19
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

qwert111, вы бы написали что не так. Телепатирую, что в функции СформироватьПечатнуюФорму последней строкой надо написать

Возврат ТабличныйДокумент;


И обратите внимания на правила.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 22:33
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!