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

В печатной форме добавить договор контрагента

Автор man117, 11 дек 2018, 09:53

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

man117

Добрый день,помогите с кодом.

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


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


Спасибо огромное.

man117

Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Договор)

LexaK

так в этой области
ОбластьМакета.Параметры.Договор - нет параметра/шаблона Договор !!! это такая запись <Договор>

да и правое значение: ТабДокумент.ДоговорКонтрагента - этт чё?
наверно из результата выборки запроса как-то должно быть Выборка.ДоговорКонтрагента;
если помогло нажмите: Спасибо!

man117

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

   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Счет";

   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
   

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

   Макет = ПолучитьМакет("СчетЗаказ");

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

         ОбластьМакета.Параметры.БИКБанкаПолучателя               = БИК;
         ОбластьМакета.Параметры.БанкПолучателя                   = Банк;
         ОбластьМакета.Параметры.БанкПолучателяПредставление      = СокрЛП(Банк) + " " + ГородБанка;
         ОбластьМакета.Параметры.СчетБанкаПолучателя              = КоррСчет;
         ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
         ОбластьМакета.Параметры.СчетПолучателяПредставление      = НомерСчета;
         ОбластьМакета.Параметры.СчетПолучателя                   = НомерСчета;
      КонецЕсли;
      
      
      ТабДокумент.Вывести(ОбластьМакета);

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

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

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

wise

(3) покажите макет, из которого формируется печатная форма...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

man117

http://zalil.su/1173530 скрин печатной формы,один фиг не пойму что делают не так.

wise

(5) у Вас МАЛЕНЬКАЯ ошибка...
ВМЕСТО строки:ОбластьМакета.Параметры.Договор=ТабДокумент.ДоговорКонтрагента;
напишите: ОбластьМакета.Параметры.Договор = Шапка.ДоговорКонтрагента;

p.s. ПРОЩЕ было бы параметр "ДоговорКонтрагента" в секцию "Покупатель"... тогда вывод договора НЕ надо было бы  прописывать.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги:

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

Рейтинг@Mail.ru

Поиск