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

Версия для печатиPDF-версия

Добрый день. \

я только учусь, прошу не ругаться. Создала внешнюю печатную форму  ДопСоглашение Трудового договора .

но у меня выходит ошибка (см рисунок).

прошу помочь что я не так делаю.

Прикреплённые файлы: 

Вы пытаетесь вывести в табличный документ выборку из результатов запроса.

Должно быть что-то в этом роде:

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

 

Спасибо :) . Все получилось. Очень вам благодарна.

Вы не могли бы подсказать как мне вывестии Адрес Регистрации в ОбластьПодвал?

Нужно получить эти данные или данные уже получены и их надо вывести в печатную форму?

Получить и вывести в печатную форму.

Примерно так:

Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	КонтактнаяИнформация.Представление
	|ИЗ
	|	РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
	|ГДЕ
	|	КонтактнаяИнформация.Объект = &Объект
	|	И КонтактнаяИнформация.Вид = &Вид";

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

РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда 
	ОбластьПодвал.Параметры.АдресРегистрации = ВыборкаДетальныеЗаписи.Представление;
КонецЕсли;

Спасибо большое.

ОбластьПодвал.Параметры.РаботникиОрганизации= СсылкаНаОбъект.Физлицо;  
ОбластьПодвал.Параметры.ИНН = СсылкаНаОбъект.Физлицо.ИНН;
ОбластьПодвал.Параметры.СтраховойНомерПФР=СсылкаНаобъект.Физлицо.СтраховойНомерПФР;
ОбластьПодвал.Параметры.ФИОКратко=СсылкаНаОбъект.Физлицо;
 
ФИОКратко= Фамилия+ " "+ Прав(Имя,1)+ ". "+ Прав(Отчество,1)+ ".";
 
ТабДок.Вывести(ОбластьПодвал);
Хочу вывести ФИО Кратко например Иванов.И.И.
выдает ошибку "Преобразование значения к типу Число не может быть выполнено" что не так?
 

А откуда Фамилия, Имя и Отчество берутся?

Справочник сотрудникиОрганизации

В данном случае наверное спрвочник Физические лица

На самом деле вы их из воздуха пытаетесь получить. Они же никак в модуле не инициализированы.

Воспользуйтесь типовой функцией:

ФИОКратко = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаобъект);

Доброе утро.

Нашла такую функцию.

Функция ПолучитьФамилиюИмяОтчество(Фамилия = " ", Имя = " ", Отчество = " ", ФИОКратко = Истина) Экспорт
 
 
Если ФИОКратко Тогда
Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + 
?(НЕ ПустаяСтрока(Отчество) , 
Лев(Отчество,1)+".", ""), ""), "");
Иначе
Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Имя + 
?(НЕ ПустаяСтрока(Отчество) , " " + Отчество, ""), ""), "");
КонецЕсли;
 
КонецФункции. Как мне здесь правильно указать ССылку на Объект. Чтобы было видно откуда брать

А той функции, о которой я писал выше не нашлось?

Какой релиз УПП?

нет ( к сожалению ее нет

Через поиск по конфигурации искали?

В Управление производственным предприятием 1.3.55.1 она точно есть.

Управление производственным предприятием, редакция 1.3 (1.3.110.2).

Только сейчас нашла )

вот что нашла

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

А строка 

ФИО = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаОбъект);

как в тексте функции появилась?

В общем случае вызов функции общего модуля производится так:

Значение = [Имя общего модуля].[Имя функции]([Параметры]);

Изначально там было так "ФИО = ОбщегоНазначения.ФамилияИнициалыФизЛица(РаботникФИО)"

А вы говорите, что функции ОбщегоНазначения.ФамилияИнициалыФизЛица не нашлось.

простите виновата)).

Посмотрел в релизе 1.3.110.1. Там нужная функция присутствует без изменений.

В общем, не надо ничего выдумывать. Пишите так:

ОбластьПодвал.Параметры.ФИО = ОбщегоНазначения.ФамилияИнициалыФизЛица(СсылкаНаобъект);
Функция ФамилияИнициалыФизЛица(Объект = "", Фамилия = " ", Имя = " ", Отчество = " ", НаДату = Неопределено) Экспорт
 
Если Не ЗначениеЗаполнено(Фамилия) И Не ЗначениеЗаполнено(Имя) Тогда 
 
ФИО = ФамилияИмяОтчествоФизЛица(СсылкаНаОбъект);
 
Фамилия = ФИО.Фамилия;
Имя = ФИО.Имя;
Отчество= ФИО.Отчество;
 
КонецЕсли;
 
Возврат ?(НЕ ПустаяСтрока(Фамилия), 
Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + ?(НЕ ПустаяСтрока(Отчество),Лев(Отчество,1)+".", ""), ""),
"");
 
КонецФункции
Эта функция?
Вставила ее в свою печтную форму .
прописала что что вы мне писали
 
ОбластьПодвал.Параметры.РаботникиОрганизации= СсылкаНаОбъект.Физлицо;  
ОбластьПодвал.Параметры.ИНН = СсылкаНаОбъект.Физлицо.ИНН;
ОбластьПодвал.Параметры.СтраховойНомерПФР=СсылкаНаобъект.Физлицо.СтраховойНомерПФР;
 
ФИОКратко=ОбщегоНазначения.ФамилияИнициалыФизЛица(ФИОКратко);
 
ТабДок.Вывести(ОбластьПодвал);
 

Ошибка  Процедура или функция с указанным именем не определена (ФамилияИмяОтчествоФизЛица)

ФИО = <<?>>ФамилияИмяОтчествоФизЛица(ФИОКратко); вроде все правильно указала 

Вы курсы не преподаете случайно. ?

Не надо никаких функций копировать в свою обработку. Нужно добавить всего одну строку, которую я писал выше, перед строкой ТабДок.Вывести(ОбластьПодвал);.

Не надо ничего усложнять. Всё просто.

Курсы я не преподаю. У меня терпения не хватает)

Я все сделала. точно так как вы описали. Спасибо.

Спасибо что на меня хватило. :)

Еще раз , спасибо!!!

 

Пожалуйста) Обращайтесь ещё.