Здравствуйте. В шапке макета, есть параметр ФИОДиректора, он заполняется, должность прописана текстом (не параметр), возникла необходимость менять ФИОДиректора. Подтягивается этот параметр из формы документа (Реквизит формы Руководитель)! Как прописать в модуле менеджера код, который делал бы следующее: проверял бы:

```1c
    Если Реквизит Формы Руководитель <> значению по умолчанию Тогда
    в макете параметр ДолжностьРуководителя = равно той должности которая соответствует той фамилии которая теперь вместо директора
    КонецЕсли
```

Можно и иначе, написал так как вижу это я.
ФИО меняется, был допустим петров, я меняю данные на форме на Сидорова, теперь в макете (печатной форме) выводится Сидоров, а должность остается как у директора, хотя Сидоров зам!
Можете написать как обращаться с модуля менеджера к данным формы или справочникам , и сравнивать эти значения
---
Все допёр, спасибо.

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

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

    ДвиженияДокументов = РезультатЗапроса[1].Выгрузить();
    ВыборкаДокументы = РезультатЗапроса[2].Выбрать();
    ДанныеДиректора = Новый Структура("СсылкаНаОбъект, Период, Фамилия, Имя, Отчество",
    ВыборкаДокументы.ДиректорСсылка, ВыборкаДокументы.ТекстДата);

    СтруктураПараметров = Новый Структура();

    СтруктураПараметров.Вставить("Директор", КорреспондентыКлиентСервер.ФИО(ДанныеДиректора, Истина));
```
---
Невнимательно прочитал вопрос. Если должность в макете задана статично, то только поменять ее на параметр, получать должность человека и подставлять ее в этот параметр. Должность, скорее всего, хранится в какомнить периодическом регистре сведений, например Ответственные лица организаций. Все данные для получения должности есть: дата документа - дата на которую нужно получить должность, ссылка на физ. лицо, должность которого нужно получить, организация по которой нужно получить данные. Наверняка есть готовая функция, которые возвращает должность ответственного лица на заданную дату.
---
Есть, но это лицо не входит в группу ответственные лица, поэтому она не подходит. Параметр я установил
---
Так нужно внести его в РС и заполнить должность и все остальное. Если нет данных по должности ФЛ, то собственно и должность нельзя узнать.
---
Сейчас у меня вроде этого что-то:

```1c
    ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.ДиректорСсылка,ВыборкаДокументы.ТекстДата);
    Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
    Должность = ТребуемыеДанные.Должность;
    Сообщить(Должность);
```
---
Так алгоритм-то готов. Нужно только данные сотрудника заполнить.
---
Данные в справочнике сотрудники заполнены
---
Нет конфы этой под рукой. Что делает процедура Справочники.Сотрудники.ПолучитьДанныеСотрудника()?
---
В результате должность не заполнена?
---
Все допёр, спасибо.

```1c
    ТребуемыеДанные = Новый Структура("СсылкаНаОбъект, Период, Должность, Подразделение",ВыборкаДокументы.Руководитель,ВыборкаДокументы.ТекстДата);
    Справочники.Сотрудники.ПолучитьДанныеСотрудника(ТребуемыеДанные);
    Должность = ТребуемыеДанные.Должность;
    СтруктураПараметров.Вставить("ДиректорДолжность", Должность);
```
---
Напишите лучше внешнюю печ. форму