Запрос и печатная форма word (нужна помощь)

1. Гость 14.03.21 14:55
1С только изучаю поэтому нужна помощь с запросом, есть документ Заказ клиента (картинка 1) в форме документа указывается организация, в печатную форму она так же попадает, но должен еще попадать руководитель этой самой организации (Директор). В этом же документе ней указывается фирма (клиент), которая делает заказ, в печатную форму так же должен попадать руководитель фирмы делающей заказ. Перепробовала много вариантов в печатную форму руководитель не попадает, хотя данные об организации и непосредственно о руководителе указаны. Помогите пожалуйста

 &НаСервере
Функция ПолучитьМакетСервер()
	Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
КонецФункции

// Ну теперь пишем процедуру печати. 
&НаКлиенте
Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт
	Для Каждого ЭлементМассиваОбъектов Из МассивОбъектов Цикл
		Договор = ЭлементМассиваОбъектов;
		Данные = ПолучитьДанные(Договор);
		ПокупательПА = ПолучитьПА(Данные.Ссылка,Данные.ДатаДок);
		ПокупательЮА = ПолучитьЮА(Данные.Ссылка,Данные.ДатаДок);
		ПоставщикПА = ПолучитьПА(Данные.Ссылка,Данные.ДатаДок);
		ПоставщикЮА = ПолучитьЮА(Данные.Ссылка,Данные.ДатаДок);
		ДопСвед = ПолучитьДС(Данные.Ссылка,Данные.ДатаДок,Данные.НомерСчета);
		Если Данные <> Неопределено Тогда
			Word = Новый COMОбъект("Word.Application"); 
			Макет = ПолучитьМакетСервер();
			ВременныйПуть = КаталогВременныхФайлов();
			ИмяВременногоФайла = ВременныйПуть + "dogovor1.docx";
			Макет.Записать(ИмяВременногоФайла);
			ТекДок = Word.Documents.ADD(ИмяВременногоФайла);
			ИННКПП = ""+Данные.ИНН+"/"+Данные.КПП;
			ОрганизацияИННОрганизацияКПП = ""+Данные.ОрганизацияИНН+"/"+Данные.ОрганизацияКПП;
			
				
			ТекДок.Variables("Номер").Value				              = Данные.Номер;
			ТекДок.Variables("ДатаДок").Value 				          = Формат(Данные.ДатаДок, "ДЛФ=DD");
			
			//ТекДок.Variables("Покупатель").Value 			     	  = ""+Данные.Покупатель;
			ТекДок.Variables("Покупатель").Value = ?(ПустаяСтрока(Строка(Данные.Покупатель)), "-", Строка(Данные.Покупатель));

			//ТекДок.Variables("Поставщик").Value 			     	  = ""+Данные.Поставщик;
			ТекДок.Variables("Поставщик").Value = ?(ПустаяСтрока(Строка(Данные.Поставщик)), "-", Строка(Данные.Поставщик));

			//ТекДок.Variables("Руководитель").Value 			     	  = ""+Данные.Руководитель;
			ТекДок.Variables("Руководитель").Value = ?(ПустаяСтрока(Строка(Данные.Руководитель)), "-", Строка(Данные.Руководитель));

			//ТекДок.Variables("Директор").Value 			     	      = ""+Данные.Директор;
			ТекДок.Variables("Директор").Value = ?(ПустаяСтрока(Строка(Данные.Директор)), "-", Строка(Данные.Директор));

			//ТекДок.Variables("RepresentativeOfTheCounterparty").Value = Данные.КонтактноеЛицо;
			//ТекДок.Variables("BasisOfAction").Value					  = Данные.ОснованиеПредставителя;
			//ТекДок.Variables("SettlementProcedure").Value			  = Данные.Оплата;
			//ТекДок.Variables("OrderOfDelivery").Value				  = Данные.Отгрузка;
			//ТекДок.Variables("ExpirationDate").Value				  = Данные.ДатаОкончания;
			
			//ТекДок.Variables("ПокупательСокр").Value				  = ""+Данные.Покупатель;
			ТекДок.Variables("ПокупательСокр").Value = ?(ПустаяСтрока(Строка(Данные.Покупатель)), "-", Строка(Данные.Покупатель));

			//ТекДок.Variables("ИННКПП").Value						  = ""+ИННКПП;
			ТекДок.Variables("ИННКПП").Value = ?(ПустаяСтрока(Строка(ИННКПП)), "-", Строка(ИННКПП));

			//ТекДок.Variables("ОрганизацияИННОрганизацияКПП").Value	  = ""+ОрганизацияИННОрганизацияКПП;
			ТекДок.Variables("ОрганизацияИННОрганизацияКПП").Value = ?(ПустаяСтрока(Строка(ОрганизацияИННОрганизацияКПП)), "-", Строка(ОрганизацияИННОрганизацияКПП));

			//ТекДок.Variables("ПокупательБанк").Value				  = Строка(""+Данные.Банк);
			ТекДок.Variables("ПокупательБанк").Value = ?(ПустаяСтрока(Строка(Данные.Банк)), "-", Строка(Данные.Банк));

			//ТекДок.Variables("ПоставщикБанк").Value				      = Строка(""+Данные.Банк1);
			ТекДок.Variables("ПоставщикБанк").Value = ?(ПустаяСтрока(Строка(Данные.Банк1)), "-", Строка(Данные.Банк1));


			//ТекДок.Variables("ПокупательРС").Value				      = Строка(""+Данные.НомерСчета);
			ТекДок.Variables("ПокупательРС").Value = ?(ПустаяСтрока(Строка(Данные.НомерСчета)), "-", Строка(Данные.НомерСчета));

			//ТекДок.Variables("ПоставщикРС").Value				      = Строка(""+Данные.БанковскийСчетНомерСчета);
			ТекДок.Variables("ПоставщикРС").Value = ?(ПустаяСтрока(Строка(Данные.БанковскийСчетНомерСчета)), "-", Строка(Данные.Банк));

			//ТекДок.Variables("ПокупательБИК").Value					  = Данные.БИК;
			ТекДок.Variables("ПокупательБИК").Value = ?(ПустаяСтрока(Строка(Данные.БИК)), "-", Строка(Данные.БИК));
			
			//ТекДок.Variables("ПоставщикБИК").Value					  = Данные.БанкКод1;
			ТекДок.Variables("ПоставщикБИК").Value = ?(ПустаяСтрока(Строка(Данные.БанкКод1)), "-", Строка(Данные.БанкКод1));

			//ТекДок.Variables("ПокупательТел").Value					  = ""+Данные.ПокупательТел;
			ТекДок.Variables("ПокупательТел").Value = ?(ПустаяСтрока(Строка(Данные.ПокупательТел)), "-", Строка(Данные.ПокупательТел));
			
			//ТекДок.Variables("ПокупательЭП").Value					  = ""+Данные.ПокупательЭП;
			ТекДок.Variables("ПокупательЭП").Value = ?(ПустаяСтрока(Строка(Данные.ПокупательЭП)), "-", Строка(Данные.ПокупательЭП));

			//ТекДок.Variables("ПоставщикТел").Value					  = ""+Данные.ПоставщикТел;
			ТекДок.Variables("ПоставщикТел").Value = ?(ПустаяСтрока(Строка(Данные.ПоставщикТел)), "-", Строка(Данные.ПоставщикТел));

			//ТекДок.Variables("ПоставщикЭП").Value					  = ""+Данные.ПоставщикЭП;
			ТекДок.Variables("ПоставщикЭП").Value = ?(ПустаяСтрока(Строка(Данные.ПоставщикЭП)), "-", Строка(Данные.ПоставщикЭП));


			//ТекДок.Variables("OKPO").Value							  = Данные.ОКПО;
			//ТекДок.Variables("OGRN").Value							  = Данные.ОГРН;
			//ТекДок.Variables("ПокупательЮА").Value					  = ""+ПокупательЮА;
			ТекДок.Variables("ПокупательЮА").Value = ?(ПустаяСтрока(Строка(ПокупательЮА)), "-", Строка(ПокупательЮА));

			//ТекДок.Variables("ПоставщикЮА").Value					  = ""+ПоставщикЮА;
			ТекДок.Variables("ПоставщикЮА").Value = ?(ПустаяСтрока(Строка(ПоставщикЮА)), "-", Строка(ПоставщикЮА));

			//ТекДок.Variables("ПокупательКС").Value					  = Данные.КоррСчет;
			ТекДок.Variables("ПокупательКС").Value = ?(ПустаяСтрока(Строка(Данные.КоррСчет)), "-", Строка(Данные.КоррСчет));

			//ТекДок.Variables("ПоставщикКС").Value					  = Данные.БанкКоррСчет1;
			ТекДок.Variables("ПоставщикКС").Value = ?(ПустаяСтрока(Строка(Данные.БанкКоррСчет1)), "-", Строка(Данные.БанкКоррСчет1));

			//ТекДок.Variables("ПокупательПА").Value					  = ""+ПокупательПА;
			ТекДок.Variables("ПокупательПА").Value = ?(ПустаяСтрока(Строка(ПокупательПА)), "-", Строка(ПокупательПА));

			//ТекДок.Variables("ПоставщикПА").Value					  = ""+ПоставщикПА;
			ТекДок.Variables("ПоставщикПА").Value = ?(ПустаяСтрока(Строка(ПоставщикПА)), "-", Строка(ПоставщикПА));

			ТекДок.Variables("ТекущийГод").Value					  = Год(Данные.ДатаДок);
			//ТекДок.Variables("Phone").Value							  = Данные.КонтактныйТелефон;
			//ТекДок.Variables("Signer").Value 						  = Данные.Подписант;
			
			
			ТекДок.Fields.Update();
			Word.ActiveWindow.View.ShowFieldCodes = False;
			Word.Visible=Истина;
		КонецЕсли;
	КонецЦикла;
	
КонецПроцедуры

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

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

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

	Возврат ПокупательПА;
	
КонецФункции

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

	Возврат ПокупательЮА;
	
КонецФункции

&НаСервере
Функция ПолучитьДС(Ссылка,ДатаДок,НомерСчета)
	ДопСвед = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(Ссылка,ДатаДок, ,НомерСчета);
	Возврат ДопСвед;
КонецФункции
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Torin 753 14.03.21 15:22 Сейчас в теме
(1) Вам уже говорили!
Установите точку останова! И посмотрите что у вас в этих данных
Прикрепленные файлы:
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот