Дополняю существующую печатную форму документа Расходной накладной таблицей, взятой из печатной формы документа Счет-фактура.
В исходную процедуру печати Расходной накладной добавляю текст:
Код
Процедура Печать1(СразуНаПринтер = 0,КолЭкз = 1)
Таб = СоздатьОбъект("Таблица");
ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\pfsfirn.mxl";
Если (Константа.ИспользоватьВнешниеПечатныеФормы = Да) и (ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1) Тогда
Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
Иначе
Таб.ИсходнаяТаблица("Таблица");
КонецЕсли;
Таб.ВывестиСекцию("Шапка");
Таб.ВывестиСекцию("ДокументРеализация");
Таб.ВывестиСекцию("ЗаголовокТаблицы");
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
ПечЦена = ?(Количество <> 0, Сумма/Количество,0);
Таб.ВывестиСекцию("Строка");
КонецЦикла;
Таб.ВывестиСекцию("Итоги");
Таб.ВывестиСекцию("Подвал");
Таб.ВывестиСекцию("Шапка1");
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("Строка1");
КонецЦикла;
Таб.ВывестиСекцию("Итоги1");
Таб.ВывестиСекцию("Примечание1");
Таб.Опции(0,0,0,0, "ОпцииРелизацияТоваровИСчетФактуры");
глЗащитаТаблицы(Таб);
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать расходной накладной и Счет-фактуры","");
[color=#FF0000]//Добавляю***********************************************************[/color]
//**************нахожу документ Счет-Фактура
Док1=СоздатьОбъект("Документ");
Док1.ВыбратьДокументы("СчетФактура");
если Док1.выбран()=1 тогда
//*********переменным,находящимся в макете присваиваю данные из документа Счет-Фактура
БанковскийСчет=Док1.БакновскийСчет;
УсловияОплатыПоДоговору=Док1.УсловияОплатыПоДоговору;
ПунктНазначения=Док1.ПунктНазначения;
СпособОтправления=Док1.СпособОтправления;
ТипНоменклатуры=Док1.ТипНоменклатуры;
Грузоотправитель=Док1.Грузоотправитель;
Грузополучатель=Док1.Грузополучатель;
УполномоченноеЛицоРуководитель=Док1.УполномоченноеЛицоРуководитель;
УполномоченноеЛицоГлавныйБухгалтер=Док1.УполномоченноеЛицоГлавныйБухгалтер;
Дополнительная=Док1.Дополнительная;
ДоверенностьЧерезКого=Док1.ДоверенностьЧерезКого;
СпособОтправления=Док1.СпособОтправления;
Комментарий=Док1.Комментарий;
ДатаДок=Док1.ДатаДок;
Организация=Док1.Организация;
ДокументОснование=Док1.Основание;
ДопСчетФактура=Док1.ДопСчетФактура;
СтрТТН = "";
СтрГрузоотправитель = "";
СтрГрузополучатель = "";
Контрагент.ИспользоватьДату(ДатаДок);
Если (ТипНоменклатуры <> Перечисление.ТипыНоменклатуры.Услуга) и
(ТипНоменклатуры <> Перечисление.ТипыНоменклатуры.Работа) Тогда
СтрТТН = ?((ДокументОснование.Выбран()=1),"№ "+СокрЛП(глНомерДокумента(ДокументОснование))+" от "+Формат(ДокументОснование.ДатаДок, "Д ДДММММГГГГ"),"№ _____________ от ____________________ 200__ г.");
СтрГрузоотправитель = ?(Грузоотправитель.Выбран() = 1, СокрЛП(Грузоотправитель.ПолноеНаименование) +
". РНН и адрес грузоотправителя: " + Грузоотправитель.РНН +
", " + СокрЛП(Грузоотправитель.ЮридическийАдрес), СокрЛП(Организация.ПолноеНаименование) +
". РНН и адрес грузоотправителя: " + Организация.РНН +", " + СокрЛП(Организация.ЮридическийАдрес));
СтрГрузополучатель = СокрЛП(Грузополучатель.ПолноеНаименование) + ". РНН и адрес грузополучателя: " +
Грузополучатель.РНН+","+ СокрЛП(Грузополучатель.ЮридическийАдрес);
КонецЕсли;
//Уполномоченные лица
Если УполномоченноеЛицоРуководитель.Выбран() = 1 Тогда
УполномоченноеЛицоРуководительПеч = СокрЛП(УполномоченноеЛицоРуководитель.Должность) +": "+ ФИО(УполномоченноеЛицоРуководитель);
Иначе
УполномоченноеЛицоРуководительПеч = "Руководитель организации "+ ФИО(Организация.Руководитель.Получить(ДатаДок));
КонецЕсли;
Если УполномоченноеЛицоГлавныйБухгалтер.Выбран() = 1 Тогда
УполномоченноеЛицоГлавныйБухгалтерПеч = СокрЛП(УполномоченноеЛицоГлавныйБухгалтер.Должность) +": "+ ФИО(УполномоченноеЛицоГлавныйБухгалтер);
Иначе
УполномоченноеЛицоГлавныйБухгалтерПеч = "Главный бухгалтер организации " + ?(ПустаяСтрока(Организация.ГлавныйБухгалтер.Получить(ДатаДок))=0, ФИО(Организация.ГлавныйБухгалтер.Получить(ДатаДок)), "Не предусмотрен");
КонецЕсли;
ТекстВалюта = "тенге";
Если ПустоеЗначение(Валюта) = 0 Тогда
Если Валюта <> глВалютаБухУчета Тогда
ТекстВалюта = Валюта.Наименование;
КонецЕсли;
КонецЕсли;
ДопСчетФактура = "";
Если Дополнительная = 1 Тогда
Если ДокументОснование.Выбран() = 1 Тогда
Если ДокументОснование.Вид() = "ВозвратОтПокупателя" Тогда
Если ДокументОснование.ДокументОснование.Выбран() = 1 Тогда
СФ = глНайтиСчетФактуру(ДокументОснование.ДокументОснование, "СчетФактура");
ДопСчетФактура = "Дополнительный Счет-фактура к " + глПредставлениеДокумента(СФ);
КонецЕсли;// Если ДокументОснование.ДокументОснование.Выбран() = 1 Тогда
КонецЕсли; //
КонецЕсли;
КонецЕсли;
конецесли;
КонецПроцедуры
*****************************************************************
в итоге при выводе печатой формы на печать ошибок не обнаруживается, но и данные из Счет-Фактуры не выводятся. Может я не правильно связываюсь со Счет-Фактурой? все перепробовала в синтаксисе.
и вообще, возможно ли такое сделать в 7.7? если нет, то как можно сделать общую печатную форму для этих двух документов?
очень жду советов и помощи...