Склонение ФИО руководителя в печатной форме
Добрый день!
Подскажите, пожалуйста, как дописать модуль для реализации склонения ФИО руководителя в печатной форме? Нужен дательный падеж :( Не бейте тапком, только учусь)
Подскажите, пожалуйста, как дописать модуль для реализации склонения ФИО руководителя в печатной форме? Нужен дательный падеж :( Не бейте тапком, только учусь)
Процедура ПечатьОбъекта(ТабДок, Ссылка)
Макет = ПолучитьМакет("Макет11");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РазовоеНачисление.Начислено КАК Начислено,
| РазовоеНачисление.МесяцНачисления КАК МесяцНачисления,
| РазовоеНачисление.Подразделение КАК Подразделение,
| РазовоеНачисление.Начисления.(
| НомерСтроки КАК НомерСтроки,
| Сотрудник КАК Сотрудник,
| Сотрудник.Код КАК СотрудникКод,
| Результат КАК Результат
| ) КАК Начисления,
| РазовоеНачисление.Начислено КАК Начислено1,
| РазовоеНачисление.Организация КАК Организация,
| РазовоеНачисление.Организация.НаименованиеПолное КАК ОрганизацияНаименованиеПолное,
| РазовоеНачисление.Организация.НаименованиеСокращенное КАК ОрганизацияНаименованиеСокращенное,
| СведенияОбОтветственныхЛицахСрезПоследних.Руководитель.ФИО КАК ФИО,
| СклоненияПредставленийОбъектов.ДательныйПадеж КАК ДательныйПадеж,
| СклоненияПредставленийОбъектов.Объект КАК Объект
|ИЗ
| Документ.РазовоеНачисление КАК РазовоеНачисление
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОбОтветственныхЛицах.СрезПоследних КАК СведенияОбОтветственныхЛицахСрезПоследних
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СклоненияПредставленийОбъектов КАК СклоненияПредставленийОбъектов
| ПО СведенияОбОтветственныхЛицахСрезПоследних.Руководитель = СклоненияПредставленийОбъектов.Объект
| ПО РазовоеНачисление.Организация = СведенияОбОтветственныхЛицахСрезПоследних.Организация
|ГДЕ
| РазовоеНачисление.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
НачисленияОбластьШапкаТаблицы = Макет.ПолучитьОбласть("НачисленияШапкаТаблицы");
НачисленияОбластьПодвалТаблицы = Макет.ПолучитьОбласть("НачисленияПодвалТаблицы");
НачисленияОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("НачисленияДетали");
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьЗаголовок.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьЗаголовок,ВыборкаДетальныеЗаписи.Уровень());
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
ТабДок.НачатьГруппуСтрок();
ТабДок.Вывести(НачисленияОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
НачисленияВыборкаДетальныеЗаписи = ВыборкаДетальныеЗаписи.Начисления.Выбрать();
Пока НачисленияВыборкаДетальныеЗаписи.Следующий() Цикл
НачисленияОбластьДетальныхЗаписей.Параметры.Заполнить(НачисленияВыборкаДетальныеЗаписи);
ТабДок.Вывести(НачисленияОбластьДетальныхЗаписей, НачисленияВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(НачисленияОбластьПодвалТаблицы);
ТабДок.ЗакончитьГруппуСтрок();
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
КонецПроцедуры
Функция ПросклонятьФИО(ФИО, Падеж, Объект, Пол = Неопределено)Экспорт
ФИОДатПадеж = СклонениеПредставленийОбъектов.ПросклонятьФИО(ФИО, 3, Объект, Пол);
Возврат ФИОДатПадеж;
КонецФункции
ПоказатьПо теме из базы знаний
- Печатная форма договора контрагента по шаблону Word с выгрузкой в MS Word для УПП, КА, УТ 10.3 и УНФ.
- Договор поставки (Внешняя печатная форма документа "Реализация товаров и услуг")
- Подключаемые печатные формы с .DOCX макетом без Word'а
- Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3
- Небольшая доработка к механизму отзыва из отпуска в ЗУП (+ печатная форма Отзыв из отпуска)
Найденные решения
1. В запросе это
лишнее
2. Перед заполнением нужной части переназначить то, что будет передано на форму.
предположим, что это "ОбластьЗаголовок" и на форме параметр называется "ФИОПадеж"
И тогда получим примерно такое.
| СклоненияПредставленийОбъектов.ДательныйПадеж КАК ДательныйПадеж,
2. Перед заполнением нужной части переназначить то, что будет передано на форму.
предположим, что это "ОбластьЗаголовок" и на форме параметр называется "ФИОПадеж"
И тогда получим примерно такое.
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьЗаголовок.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ОбластьЗаголовок.Параметры.ФИОДатПадеж = СклонениеПредставленийОбъектов.ПросклонятьФИО(ВыборкаДетальныеЗаписи.ФИО, 3, Объект, Пол);
....
КонецЦикла;
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
1. В запросе это
лишнее
2. Перед заполнением нужной части переназначить то, что будет передано на форму.
предположим, что это "ОбластьЗаголовок" и на форме параметр называется "ФИОПадеж"
И тогда получим примерно такое.
| СклоненияПредставленийОбъектов.ДательныйПадеж КАК ДательныйПадеж,
2. Перед заполнением нужной части переназначить то, что будет передано на форму.
предположим, что это "ОбластьЗаголовок" и на форме параметр называется "ФИОПадеж"
И тогда получим примерно такое.
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьЗаголовок.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ОбластьЗаголовок.Параметры.ФИОДатПадеж = СклонениеПредставленийОбъектов.ПросклонятьФИО(ВыборкаДетальныеЗаписи.ФИО, 3, Объект, Пол);
....
КонецЦикла;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот