ФИО в родительном падеже.

Родительный падежЗдравствуйте.

Сталкивались ли вы с необходимостью создания печатных форм Актов выполненных работ?

Если да, то как вы решали вопрос с необходимостью указывать фамилии и должности в Родительном падеже?

Например такая фраза “в лице Генерально директора Пупкина В.А., действующего на основании Устава“.

Я знаю что существует внешняя компанента, которая умеет склонять фамилии. Но желания пользоваться ей небыло по нескольким причинам. Главная из них заключается в том, что существует достаточно много фамиилй, которые склоняются не по правилам. Я решил данный вопрос иначе.

В конфигурации “Управление торговлей” ко всем без исключения контрагентам можно прикреплять Контактные лица, одно из которых можно сделать Основным. А для любого контактного лица с помощью универсального механизма Свойств можно задать любые свойства.

Так вот я взял на вооружение данный механизм. И теперь чтобы в Акте выполненных работ (и еще в ряде специфических печатных формах) фамилия и должность ответственного лица указывалась в Родительном падеже, я добавляю специфические параметры в Свойства Контактного лица. А в печатной форме использую процедуру получения этих параметров.

Я назвал эти свойства “ВЛице” и “НаОсновании”.

Выглядит это так:

Свойства контактного лица

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

Функция ПолучитьЗначениеСвойства(ТекОбъект,ТекСвойство)

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

А параметры получаются с помощью вызова функции

ПолучитьЗначениеСвойства(ОбъектСвойства,ИмяСвойства).

Как это выглядит в модуле:

ПараметрыПечати.Вставить("ЗаказчикВЛице",ПолучитьЗначениеСвойства(Шапка.ПредставительКонтрагента,"ВЛице"));

ПараметрыПечати.Вставить("ЗаказчикНаОсновании",ПолучитьЗначениеСвойства(Шапка.ПредставительКонтрагента,"НаОсновании"));

Здесь Шапка.ПредставительКонтрагента – это ссылка на контактное лицо контрагента.

Тот же самый метод я применяю к Ответственным лицам организации, чтобы подставить представителя другой стороны.

ПараметрыПечати.Вставить("ИсполнительВЛице",ПолучитьЗначениеСвойства(РуководительФизЛицо,"ВЛице"));

ПараметрыПечати.Вставить("ИсполнительНаОсновании",ПолучитьЗначениеСвойства(РуководительФизЛицо,"НаОсновании"));

Здесь РуководительФизЛицо – физ лицо, которое выбрано в качестве руководителя организации.

Вот и весь секрет.

P.S. В дополнение к этому письму я приготовил небольшой видеоурок “Как добавить свойство элементу справочника”. В этом видеоуроке на примере справочника Контактные лица я продемонстрировал как добавить свойства “ВЛице” и “НаОсновании” к контактному лицу контрагента. Мои подписчики уже получили ссылку для загрузки файла с видеоуроком. Если вы тоже хотите получить его, подпишитесь на рассылку “Секреты настройки 1С” через форму на странице “Бонус”.

Удачи вам!

Будьте на связи!


Понравилась статья? Вы можете оставить отзыв или подписаться на RSS, чтобы автоматически получать информацию о новых статьях.

Еще почитать:


Отзывы

>Функция ПолучитьЗначениеСовйства(ТекОбъект,ТекСвойство)…
Опечатка )

Благодарю, уже исправил.

Большое спасибо

Ваш отзыв

Деление на параграфы происходит автоматически, адрес электронной почты никогда не будет опубликован, допустимый HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*

*