Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 21:10

Внешняя форма!

Автор ls600, 10 июл 2012, 08:57

0 Пользователей и 1 гость просматривают эту тему.

ls600

Добрый день. Подскажите пожалуйста создал внешнюю форму, при печати выдает ошибку
"Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Ссылка)"


Сразу обратите внимание на строчку "ЗапросШапка.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);" то что надо поменять на СсылкаНаОбъект.Ссылка.
Меня тоже самое. Может че еще не хватает.???

Конфигурация 1С:Предприятие 8.2 (8.2.15.301)

Вот код.

Функция Печать() Экспорт

   ЗапросШапка = Новый Запрос;
   ЗапросШапка.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
   ЗапросШапка.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   РеализацияТоваровУслуг.Номер,
   |   РеализацияТоваровУслуг.Дата,
   |   РеализацияТоваровУслуг.ДоговорКонтрагента КАК Основание,
   |   РеализацияТоваровУслуг.Контрагент КАК Получатель,
   |   РеализацияТоваровУслуг.Организация КАК Поставщик,
   |   РеализацияТоваровУслуг.Организация,
   |   РеализацияТоваровУслуг.СтруктурноеПодразделение,
   |   РеализацияТоваровУслуг.СуммаДокумента,
   |   РеализацияТоваровУслуг.ВалютаДокумента,
   |   РеализацияТоваровУслуг.УчитыватьНДС,
   |   РеализацияТоваровУслуг.СуммаВключаетНДС,
   |   РеализацияТоваровУслуг.Ответственный.ФизЛицо КАК ФИООтветственного,
   |   РаботникиОрганизацийСрезПоследних.Должность КАК ДолжностьОтветственного
   |ИЗ
   |   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
   |      ПО РеализацияТоваровУслуг.Организация = РаботникиОрганизацийСрезПоследних.Организация
   |         И РеализацияТоваровУслуг.Ответственный.ФизЛицо = РаботникиОрганизацийСрезПоследних.Физлицо
   |         И РеализацияТоваровУслуг.СтруктурноеПодразделение = РаботникиОрганизацийСрезПоследних.СтруктурноеПодразделение
   |ГДЕ
   |   РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
   Шапка = ЗапросШапка.Выполнить().Выбрать();
   Шапка.Следующий();

   ЗапросУслуги = Новый Запрос;
   ЗапросУслуги.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
   ЗапросУслуги.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   Номенклатура,
   |   ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
   |   Количество,
   |   ЕдиницаИзмерения  КАК ЕдиницаИзмерения,
   |   Цена,
   |   Сумма,
   |   СтавкаНДС,
   |   СуммаНДС
   |ИЗ
   |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
   |
   |ГДЕ
   |   РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
   |   И
   |   РеализацияТоваровУслуг.Номенклатура.Услуга = Истина
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |   Содержание КАК Номенклатура,
   |   Содержание КАК Товар,
   |   Количество,
   |   Номенклатура.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   Цена,
   |   Сумма,
   |   СтавкаНДС,
   |   СуммаНДС
   |ИЗ
   |   Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
   |
   |ГДЕ
   |   РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
   ТаблицаУслуги = ЗапросУслуги.Выполнить().Выгрузить();
   
   СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение);
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_Акт";
   Макет       = ПолучитьМакет("Акт");

   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   ОбластьМакета.Параметры.ТекстЗаголовка = РаботаСДиалогами.СформироватьЗаголовокДокумента(ЭтотОбъект, "Акт", глСписокПрефиксовУзлов);
   ТабДокумент.Вывести(ОбластьМакета);

   ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
   ПредставлениеПоставщика = ОбщегоНазначения.ОписаниеОрганизации(ОбщегоНазначения.СведенияОЮрФизЛице(СтруктурнаяЕдиницаОрганизация, Шапка.Дата), "ПолноеНаименование,");
   ОбластьМакета.Параметры.ПредставлениеПоставщика = СокрЛП(ПредставлениеПоставщика);
   ОбластьМакета.Параметры.Поставщик = СтруктурнаяЕдиницаОрганизация;
   ТабДокумент.Вывести(ОбластьМакета);

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

   // Вывести табличную часть
   ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьСтроки = Макет.ПолучитьОбласть("Строка");

   ТабДокумент.Вывести(ОбластьМакета);
   НомерСтроки = 0;

   Для Каждого СтрокаТабличнойЧасти Из ТаблицаУслуги Цикл

      НомерСтроки = НомерСтроки + 1;
      
      ОбластьСтроки.Параметры.Заполнить(СтрокаТабличнойЧасти);
      ОбластьСтроки.Параметры.НомерСтроки = НомерСтроки;
        ОбластьСтроки.Параметры.Товар = СокрЛП(СтрокаТабличнойЧасти.Товар);
      
      ТабДокумент.Вывести(ОбластьСтроки);

   КонецЦикла;

   Если ТаблицаУслуги <> Неопределено Тогда

      Сумма    = ТаблицаУслуги.Итог("Сумма");
      СуммаНДС = ТаблицаУслуги.Итог("СуммаНДС");

   Иначе

      Сумма    = 0;
      СуммаНДС = 0;

   КонецЕсли;

   ОбластьМакета = Макет.ПолучитьОбласть("Итого");
   ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
   ТабДокумент.Вывести(ОбластьМакета);

   Если Шапка.УчитыватьНДС Тогда

      ОбластьМакета = Макет.ПолучитьОбласть("ИтогоНДС");
      ОбластьМакета.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
      ОбластьМакета.Параметры.НДС      = ?(Шапка.СуммаВключаетНДС, "В том числе НДС", " Сумма НДС");
      ТабДокумент.Вывести(ОбластьМакета);

   КонецЕсли;

   СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
   ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
   ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего оказано услуг " + НомерСтроки
                                          + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента);
   ОбластьМакета.Параметры.СуммаПрописью  = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента);
   ТабДокумент.Вывести(ОбластьМакета);

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

   ОбластьМакета.Параметры.Организация              = СведенияОбОрганизации.ПолноеНаименование;
   ОбластьМакета.Параметры.РНН_БИНОрганизации       = ОбщегоНазначения.ПолучитьРегистрационныйНомерОрганизацииКонтрагентаВПечатнуюФорму(СведенияОбОрганизации, Шапка.Дата);
   ОбластьМакета.Параметры.АдресОрганизации         = СведенияОбОрганизации.ЮридическийАдрес;
   ОбластьМакета.Параметры.РасчетныйСчетОрганизации = СведенияОбОрганизации.НомерСчета + " в " + СведенияОбОрганизации.Банк + " ,"
                                                    + СведенияОбОрганизации.АдресБанка;
                                       

      ОбластьМакета.Параметры.БИКОрганизации           = СведенияОбОрганизации.БИК;                                       
   ОбластьМакета.Параметры.ДолжностьОтветственного  = Шапка.ДолжностьОтветственного;
   ОбластьМакета.Параметры.ФИООтветственного        = Шапка.ФИООтветственного;
   
   СведенияОПокупателе = ОбщегоНазначения.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
   ОбластьМакета.Параметры.Контрагент               = СведенияОПокупателе.ПолноеНаименование;
   ОбластьМакета.Параметры.РНН_БИНКонтрагента       = ОбщегоНазначения.ПолучитьРегистрационныйНомерОрганизацииКонтрагентаВПечатнуюФорму(СведенияОПокупателе, Шапка.Дата);
   ОбластьМакета.Параметры.АдресКонтрагента         = СведенияОПокупателе.ЮридическийАдрес;
   ОбластьМакета.Параметры.РасчетныйСчетКонтрагента = СведенияОПокупателе.НомерСчета + " в " + СведенияОПокупателе.Банк + " ,"
                                                    + СведенияОПокупателе.АдресБанка;
                                       
      ОбластьМакета.Параметры.БИККонтрагента           = СведенияОПокупателе.БИК;   
   
   ТабДокумент.Вывести(ОбластьМакета);

   Возврат ТабДокумент;

КонецФункции // ПечатьАктаОбОказанииУслуг()

cska-fanat-kz

Просто СсылкаНаОбъект попробуйте
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск