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

Внешняя печатная форма.

Автор ls600, 26 мар 2013, 14:08

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

ls600


Доброго времени суток. Делаю внешнюю печатную форму для документа "Доверенность." в коде синтаксических ошибок нет. но при печати выскакивает такое сообщение:

Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (ПолучитьМакет): Недопустимое значение параметра (параметр номер '1')


В чем дело понять не могу???? Подскажите.
Конфигурация Бухгалтерия Для Казахстана 8.2



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


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

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


СтруктурнаяЕдиницаОрганизация = ОбщегоНазначения.ПолучитьСтруктурнуюЕдиницу(Шапка.Организация, Шапка.СтруктурноеПодразделение);

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


Макет = ПолучитьМакет("Д1");


ДанныеОФизЛице = ПроцедурыУправленияПерсоналом.ДанныеФизЛица(СсылкаНаОбъект.Организация, СсылкаНаОбъект.ФизЛицо, СсылкаНаОбъект.Дата);

ФамилияИмяОчествоДоверенного = ""+ДанныеОФизЛице.Фамилия +" "+ ДанныеОФизЛице.Имя +" "+ ДанныеОФизЛице.Отчество;
Должность                    = СокрЛП(ДанныеОФизЛице.Должность);
    СтруктураФИО = Новый Структура();
СтруктураФИО.Вставить("Фамилия", ДанныеОФизЛице.Фамилия);
СтруктураФИО.Вставить("Имя", ДанныеОФизЛице.Имя);
СтруктураФИО.Вставить("Отчество", ДанныеОФизЛице.Отчество);

Руководители = ОбщегоНазначения.ОтветственныеЛицаОрганизаций(СтруктурнаяЕдиницаОрганизация, СсылкаНаОбъект.Дата);
Руководитель = Руководители.Руководитель;
Бухгалтер    = Руководители.ГлавныйБухгалтер;

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

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

//найдем документ, выполнящий поручение
     СписокЗаполнения = ОбщегоНазначения.ПолучитьСписокВводимыхДокументовНаОсновании(ЭтотОбъект.Метаданные());
Для Каждого Элемент Из СписокЗаполнения Цикл
НайденыйДокумент = ОбщегоНазначения.НайтиПодчиненныйДокумент(СсылкаНаОбъект.Ссылка,Элемент.Значение);
Если НайденыйДокумент = Неопределено Тогда
Продолжить;
Иначе
ОбластьМакета.Параметры.ДокументИсполнения = НайденыйДокумент;
Прервать;
КонецЕсли;
КонецЦикла;
ТабДокумент.Вывести(ОбластьМакета);

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

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

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

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


ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
ТабДокумент.Вывести(ОбластьМакета);


ОбластьМакета = Макет.ПолучитьОбласть("Строка");


Пока ВыборкаСтрокТовары.Следующий() Цикл


ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
Если ТипЗнч(ВыборкаСтрокТовары.ЦеннностиПредставление) = Тип("Строка") Тогда
ЦеннностиПредставление = ВыборкаСтрокТовары.ЦеннностиПредставление;
Иначе
ЦеннностиПредставление = ВыборкаСтрокТовары.ЦеннностиПредставление.НаименованиеПолное;
КонецЕсли;

ОбластьМакета.Параметры.ЦеннностиПредставление = ЦеннностиПредставление;

ОбластьМакета.Параметры.КоличествоПрописью = "";

Если ВыборкаСтрокТовары.Количество <> 0 Тогда
ОбластьМакета.Параметры.КоличествоПрописью = Строка(ВыборкаСтрокТовары.Количество) + " (" +
СокрЛП(КоличествоПрописью(ВыборкаСтрокТовары.Количество)) + ")";
                                           
КонецЕсли;

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


КонецЦикла;

Руководители = ОбщегоНазначения.ОтветственныеЛицаОрганизаций(СтруктурнаяЕдиницаОрганизация, СсылкаНаОбъект.Дата);
Руководитель = Руководители.Руководитель;

ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
ОбластьМакета.Параметры.Заполнить(Шапка);

Если ЗначениеЗаполнено(Руководитель) Или Руководитель <> Неопределено Тогда
ОбластьМакета.Параметры.Руководитель     = СокрЛП(Руководитель);
КонецЕсли;

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


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


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

ls600

Наконец разобрался в чем проблема была и ошибка, в Окне регистрации печатных форм был указан файл который не относился к этому отчету, эту строку удалил и новую добавил. все заработало. :D

mam66

Цитата: ls600 от 27 мар 2013, 07:48
Наконец разобрался в чем проблема была и ошибка, в Окне регистрации печатных форм был указан файл который не относился к этому отчету, эту строку удалил и новую добавил. все заработало. :D
подскажи что надо поправить

ls600

в окне регистрации удаляешь строку в табличной части и заново прикрепляешь внешнюю печатную форму к документу.

Теги:

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

Рейтинг@Mail.ru

Поиск