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

Вывод номера договора

Автор Ann_, 30 окт 2020, 09:47

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

Ann_

Здравствуйте! Хочу вывести номер договора на печать, но никак не получается:fdbsdfbsd:
СтруктураПараметров.Вставить("НомерКонтракта", ДанныеПечати.Договор.Номер);


выдает ошибку: Поле объекта "Договор" не обнаружено
Помогите пожалуйста)))

LexaK

ищите где формируется ДанныеПечати, скорее всего это запрос, добавьте в запросе получение Договора
сразу в запросе можно получить и номер договора
... Договор.Номер как НомерДоговора,

тогда у вас сработает такая команда
СтруктураПараметров.Вставить("НомерКонтракта", ДанныеПечати.НомерДоговора);
ответ Понравился? (в смысле пригодился?)

Ann_

нет, в этом коде нет запроса
Добавлено: 30 окт 2020, 10:22


Процедура ЗаполнитьРеквизитыШапкиТОРГ12(ДанныеПечати, Макет, ТабличныйДокумент)

// Выводим общие реквизиты шапки
СведенияОПоставщике       = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация,      ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетОрганизации);
СведенияОПокупателе       = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент,       ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетКонтрагента);
СведенияОГрузополучателе  = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Грузополучатель,  ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетГрузополучателя);
СведенияОГрузоотправитель = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Грузоотправитель, ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетГрузоотправителя);

ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечати);

СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("НомерДокумента", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеПечати.Номер));
СтруктураПараметров.Вставить("ДатаДокумента", ДанныеПечати.Дата);

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

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



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

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


изначальный код

ls600

ДанныеПечати это у Вас что?
либо приведите Весь код.

Ann_

СведенияОПоставщике       = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация,      ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетОрганизации);
СведенияОПокупателе       = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент,       ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетКонтрагента);
СведенияОГрузополучателе  = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Грузополучатель,  ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетГрузополучателя);
СведенияОГрузоотправитель = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Грузоотправитель, ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетГрузоотправителя);

ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечати);

СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("НомерДокумента", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеПечати.Номер));
СтруктураПараметров.Вставить("ДатаДокумента", ДанныеПечати.Дата);

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

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

СтруктураПараметров.Вставить("НомерКонтракта", ДанныеПечати.ДоговорНомер);  //


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


я добавила запрос, все-равно выдает ошибку
Добавлено: 30 окт 2020, 10:30


Функция  СведенияОВнешнейОбработке() Экспорт

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

Команды = ПолучитьТаблицуКоманд();

ДобавитьКоманду(Команды,"ТОРГ12 (внешняя печатная форма)",
"ТОРГ12Внешний",
"ВызовСерверногоМетода",
Ложь,
    "ПечатьMXL");

ДобавитьКоманду(Команды,"ТОРГ12 с ГТД (внешняя печатная форма)",
"ТОРГ12ГТДВнешний",
"ВызовСерверногоМетода",
Ложь,
    "ПечатьMXL");

ДобавитьКоманду(Команды,"ТОРГ12 без услуг (внешняя печатная форма)",
"ТОРГ12БезУслугВнешний",
"ВызовСерверногоМетода",
Ложь,
    "ПечатьMXL");


ПараметрыРегистрации.Вставить("Команды",Команды);
Возврат ПараметрыРегистрации;

КонецФункции

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

Возврат Массив;
КонецФункции

Функция ПолучитьТаблицуКоманд()

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

Возврат Команды;

КонецФункции

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

#КонецОбласти


#Область ФормированиеИВыводПечатнойФормы

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

   ПараметрыПечати = Новый Структура;
   ПараметрыПечати.Вставить("ВыводитьУслуги",Истина);
   
   СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);
   
   Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ТОРГ12Внешний") Тогда
   
   ПараметрыПечати.Вставить("ВыводитьГТД",Ложь);
   
   СинонимМакета = НСтр("ru='Товарная накладная (ТОРГ-12)'");
   
   УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
    "ТОРГ12Внешний",
    СинонимМакета,
    СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
   
    ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ТОРГ12ГТДВнешний") Тогда

   ПараметрыПечати.Вставить("ВыводитьГТД",Истина);

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

    ИначеЕсли УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ТОРГ12БезУслугВнешний") Тогда

   ПараметрыПечати.Вставить("ВыводитьГТД",Ложь);
       ПараметрыПечати.Вставить("ВыводитьУслуги",Ложь);

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

КонецЕсли;   
   
ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, СтруктураТипов, КоллекцияПечатныхФорм);
   
КонецПроцедуры   


Функция СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати) Экспорт

УстановитьПривилегированныйРежим(Истина);

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ПолеСлева = 5;
ТабличныйДокумент.ПолеСправа = 5;
ТабличныйДокумент.РазмерКолонтитулаСверху = 0;
ТабличныйДокумент.РазмерКолонтитулаСнизу = 0;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ТОРГ12_2";

НомерТипаДокумента = 0;

Для Каждого СтруктураОбъектов Из СтруктураТипов Цикл

НомерТипаДокумента = НомерТипаДокумента + 1;
Если НомерТипаДокумента > 1 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

МенеджерОбъекта = ОбщегоНазначенияУТ.ПолучитьМодульЛокализации(СтруктураОбъектов.Ключ);
Если МенеджерОбъекта = Неопределено Тогда
МенеджерОбъекта = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(СтруктураОбъектов.Ключ);
КонецЕсли;

ДанныеДляПечати = МенеджерОбъекта.ПолучитьДанныеДляПечатнойФормыТОРГ12(ПараметрыПечати, СтруктураОбъектов.Значение);

ЗаполнитьТабличныйДокументТОРГ12(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати, ПараметрыПечати);
КонецЦикла;
Возврат ТабличныйДокумент;

КонецФункции

Процедура ЗаполнитьРеквизитыШапкиТОРГ12(ДанныеПечати, Макет, ТабличныйДокумент)

// Выводим общие реквизиты шапки
СведенияОПоставщике       = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Организация,      ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетОрганизации);
СведенияОПокупателе       = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Контрагент,       ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетКонтрагента);
СведенияОГрузополучателе  = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Грузополучатель,  ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетГрузополучателя);
СведенияОГрузоотправитель = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеПечати.Грузоотправитель, ДанныеПечати.Дата,, ДанныеПечати.БанковскийСчетГрузоотправителя);

ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеПечати.Ссылка);
ОбластьМакета.Параметры.Заполнить(ДанныеПечати);

СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("НомерДокумента", ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДанныеПечати.Номер));
СтруктураПараметров.Вставить("ДатаДокумента", ДанныеПечати.Дата);

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

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

СтруктураПараметров.Вставить("НомерКонтракта", ДанныеПечати.ДоговорНомер);  //


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

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

ls600

// Процедура заполнения реквизитов шапки ТОРГ-12.
//
// Параметры:
//  ДанныеПечати - ВыборкаИзРезультатаЗапроса - Данные шапки документа
//  Макет - Макет ТОРГ-12
//  ТабличныйДокумент - Табличный документ
//
Процедура ЗаполнитьРеквизитыШапкиТОРГ12(ДанныеПечати, Макет, ТабличныйДокумент)

Как было выше сказано нужно смотреть запрос.

При печати поставьте точку останова и пробегитесь по коду. Будет понятно откуда и куда данные попадают.

LexaK

да в общем можно и не искать где ДанныеПечати формируются,
берите нужные данные из самого документа!
для вашего случая так
Цитировать
СтруктураПараметров.Вставить("НомерКонтракта", ДанныеПечати.Ссылка.Договор.Номер);
//Ссылка это ссылка на документ, соответственно в нем должен быть этот реквизит: Договор
ответ Понравился? (в смысле пригодился?)

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск