Добрый день. Вопрос, возможно, смешной для продвинутых 1С-ков, но все же помогите... . В 1С ЗУП 3.0 можно редактировать макет трудового договора, изменить текст, добавлять параметры. Мне нужно добавить один параметр - оклад сотрудника. В свойствах самой ячейки выставил "заполнение" как "шаблон", а какое название у оклада я не знаю. Пробовал [Оклад], [РазмерОклада] подставлять - в итоге пусто. Ради интереса подставлял [Сотрудник], появлялось ФИО текущего сотрудника, а как его оклад вывести - не знаю. И если можно, то подскажите, где можно глянуть весь список этих параметров?
---
Попробуй расписать:
1. Меняем макет приказа, у меня так: 1.png

2. В конфигураторе Обработка ПечатьКадровыхПриказовРасширенная, модуль менеджера, функция ПараметрыТрудовогоДоговора в конце вставляем строку:

```1c
    Параметры.Вставить("РазрешениеНаПроживание", ");
    Параметры.Вставить("УсловияОказанияМедпомощи", ");
    Параметры.Вставить("КоличествоДнейОтпускаОбщее", ");
    Параметры.Вставить("ОснованиеРуководителя", ");
    Параметры.Вставить("ОборудованиеРабочегоМеста", ");
    Параметры.Вставить("ИныеУсловияДоговора", ");
    Параметры.Вставить("РуководительДолжностьВПадеже", ");

    //<<
    Параметры.Вставить("Оклад", ");
    //>>
    Возврат Параметры;

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

3. Там же функция ДанныеДляПечатиТрудовогоДоговора, то же вконце вставляем строки:

```1c
    Если Не ЗначениеЗаполнено(Выборка.РуководительДолжность) Тогда
    ПараметрыТрудовогоДоговора.РуководительДолжность = "__________________________";
    КонецЕсли;

    Если Не ЗначениеЗаполнено(Выборка.РуководительФамилияИО) Тогда
    ПараметрыТрудовогоДоговора.РуководительФамилияИО = "__________________________";
    КонецЕсли;

    Если ЗначениеЗаполнено(Выборка.ТелефонОрганизации) Тогда
    ПараметрыТрудовогоДоговора.ОрганизацияТелефон = Выборка.ТелефонОрганизации;
    Иначе
    ПараметрыТрудовогоДоговора.ОрганизацияТелефон = "__________________________";
    КонецЕсли;

    Если ЗначениеЗаполнено(Выборка.ФаксОрганизации) Тогда

    ПараметрыТрудовогоДоговора.ОрганизацияТелефон = ПараметрыТрудовогоДоговора.ОрганизацияТелефон +
    " " + НСтр("ru='Факс'") + ": " + Выборка.ФаксОрганизации;

    КонецЕсли;

    //<<
    Строка_Оклад=Выборка.Ссылка.Показатели.Найти(Справочники.ПоказателиРасчетаЗарплаты.Оклад,"Показатель");
    Если Строка_Оклад=Неопределено тогда
    Оклад=0;
    Иначе
    Оклад=Строка_Оклад.Значение;
    КонецЕсли;
    ПараметрыТрудовогоДоговора.Оклад=Оклад;
    //>>

    МассивПараметров.Добавить(ПараметрыТрудовогоДоговора);

    КонецЦикла;

    Возврат МассивПараметров;

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

3. Сохраняем конфигурацию, обновляем конфигурацию БД, запускаем 1С в режиме Предприятия, формируем трудовой договор.
---
Vladimir87, параметры заполняются кодом. В процедуре или функции печати модуля или менеджера объекта. Если такого параметра не было то его нужно описать кодом и тогда он заполнится.
---
Попробуй расписать:
1. Меняем макет приказа, у меня так: 1.png

2. В конфигураторе Обработка ПечатьКадровыхПриказовРасширенная, модуль менеджера, функция ПараметрыТрудовогоДоговора в конце вставляем строку:

```1c
    Параметры.Вставить("РазрешениеНаПроживание", ");
    Параметры.Вставить("УсловияОказанияМедпомощи", ");
    Параметры.Вставить("КоличествоДнейОтпускаОбщее", ");
    Параметры.Вставить("ОснованиеРуководителя", ");
    Параметры.Вставить("ОборудованиеРабочегоМеста", ");
    Параметры.Вставить("ИныеУсловияДоговора", ");
    Параметры.Вставить("РуководительДолжностьВПадеже", ");

    //<<
    Параметры.Вставить("Оклад", ");
    //>>
    Возврат Параметры;

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

3. Там же функция ДанныеДляПечатиТрудовогоДоговора, то же вконце вставляем строки:

```1c
    Если Не ЗначениеЗаполнено(Выборка.РуководительДолжность) Тогда
    ПараметрыТрудовогоДоговора.РуководительДолжность = "__________________________";
    КонецЕсли;

    Если Не ЗначениеЗаполнено(Выборка.РуководительФамилияИО) Тогда
    ПараметрыТрудовогоДоговора.РуководительФамилияИО = "__________________________";
    КонецЕсли;

    Если ЗначениеЗаполнено(Выборка.ТелефонОрганизации) Тогда
    ПараметрыТрудовогоДоговора.ОрганизацияТелефон = Выборка.ТелефонОрганизации;
    Иначе
    ПараметрыТрудовогоДоговора.ОрганизацияТелефон = "__________________________";
    КонецЕсли;

    Если ЗначениеЗаполнено(Выборка.ФаксОрганизации) Тогда

    ПараметрыТрудовогоДоговора.ОрганизацияТелефон = ПараметрыТрудовогоДоговора.ОрганизацияТелефон +
    " " + НСтр("ru='Факс'") + ": " + Выборка.ФаксОрганизации;

    КонецЕсли;

    //<<
    Строка_Оклад=Выборка.Ссылка.Показатели.Найти(Справочники.ПоказателиРасчетаЗарплаты.Оклад,"Показатель");
    Если Строка_Оклад=Неопределено тогда
    Оклад=0;
    Иначе
    Оклад=Строка_Оклад.Значение;
    КонецЕсли;
    ПараметрыТрудовогоДоговора.Оклад=Оклад;
    //>>

    МассивПараметров.Добавить(ПараметрыТрудовогоДоговора);

    КонецЦикла;

    Возврат МассивПараметров;

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

3. Сохраняем конфигурацию, обновляем конфигурацию БД, запускаем 1С в режиме Предприятия, формируем трудовой договор.
---
alwiz3, Сделал на копии базы, все получилось. Спасибо за помощь. Единственный нюанс: это пришлось вскрывать конфигурацию. Если не ошибаюсь, то это в дальнейшем при обновлениях может вылезти боком. Удивительно, что разработчики 1С не добавили изначально такой параметр, ИМХО нужный. Еще раз спасибо.
---
Зарплата и управление персоналом, редакция 3.0 (3.0.25.125)
---
Тебе надо посмотреть модуль заполнения печатной формы конфигуратором, там и увидишь что в какой области каким параметром заполняется, по идее если там нет нужного параметра там пару строк всего чиркануть в конфигураторе для того что бы заполнялось, только смотри в какой области печати находится то что тебе надо заполнять, и там и пиши.
---
katochimoto, где его найти в конфигураторе это модуль?
---
Под рукой нет конфигурации, точно не скажу, но для начала открывай конфигуратор ищи слева в дереве конфигурации документ из которого печатается эта печатная форма, скорее всего или в модуле документа из которого печатается или вынесено в общие но скорее всего в модуле документа, в твоем случае скорее всего это документ принятия на работу прям поиском пройдись может найдешь.
---
katochimoto, Получается документ "ПриемНаРаботу", в нем в модуле искать процедуру, связанную с выводом на макет трудового договора, где-то там искать. Реквизиты могут подойти (на скрине)?
---
Пробовал подставлять [ФОТ] и [НачислениеИтогРазмерГлавное], но ничего, как еще обратится к этому реквизиту документа с окладом, непонятно.
---
Vladimir87, Ты смотришь форму документа, а надо смотреть модуль документа или модуль формы документа.
---
katochimoto, кажись она:
---
Vladimir87, здесь ФОТ - реквизит формы. Его достать вне контекста формы вы не сможете

Посмотрите функцию ПолучитьДанныеДляПечатиКадровогоПриказаТ1() в модуле менеджера обработки "ПечатьКадровыхПриказов". Там оклад сотрудника запрашивается.
И макет печатной формы "ПФ_MXL_Т1" в этой же обработке
---
```1c
    Функция ПараметрыТрудовогоДоговора()

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

    Параметры.Вставить("Ссылка", Неопределено);
    Параметры.Вставить("ПриказОПриемеНомер", ");
    Параметры.Вставить("ПриказОПриемеДата", '00010101');
    Параметры.Вставить("ОрганизацияНаименованиеПолное", ");
    Параметры.Вставить("ОрганизацияАдресЮридический", ");
    Параметры.Вставить("ОрганизацияАдресФактический", ");
    Параметры.Вставить("ОрганизацияГородФактическогоАдреса", ");
    Параметры.Вставить("Сотрудник", Справочники.Сотрудники.ПустаяСсылка());
    Параметры.Вставить("Подразделение", Справочники.ПодразделенияОрганизаций.ПустаяСсылка());
    Параметры.Вставить("Должность", Справочники.Должности.ПустаяСсылка());
    Параметры.Вставить("ВидЗанятостиПоДоговору", ");
    Параметры.Вставить("ТрудовойДоговорНомер", ");
    Параметры.Вставить("ТрудовойДоговорДата", '00010101');
    Параметры.Вставить("СрокДействияПредставление", ");
    Параметры.Вставить("РуководительФамилияИО", ");
    Параметры.Вставить("РуководительФИОПолные", ");
    Параметры.Вставить("РуководительПол");
    Параметры.Вставить("РуководительДолжность", Справочники.Должности.ПустаяСсылка());
    Параметры.Вставить("ДатаПриема", '00010101');
    Параметры.Вставить("ФИОПолные", ");
    Параметры.Вставить("ФамилияИО", ");
    Параметры.Вставить("Пол");
    Параметры.Вставить("АдресПоПропискеПредставление", ");
    Параметры.Вставить("ДокументПредставление", ");
    Параметры.Вставить("Страна", Справочники.СтраныМира.Россия);
    Параметры.Вставить("РазрешениеНаРаботу", ");
    Параметры.Вставить("РазрешениеНаПроживание", ");
    Параметры.Вставить("УсловияОказанияМедпомощи", ");
    Параметры.Вставить("КоличествоДнейОтпускаОбщее", ");
    Параметры.Вставить("ОснованиеРуководителя", ");
    Параметры.Вставить("ОборудованиеРабочегоМеста", ");
    Параметры.Вставить("ИныеУсловияДоговора", ");
    Параметры.Вставить("РуководительДолжностьВПадеже", ");

    Возврат Параметры;

    КонецФункции
```
---
Vladimir87, Похоже, по идее должна быть где то рядом функция заполнения, потому что эта функция только собирает параметры, должна быть еще непосредственно та которая пишет их уже в макет, ищи то то типо:
Область = Макет.ПолучитьОбласть("Шапка");
Область.Параметры.ПечДата = ТекущаяДата(); \\ ну только учти тут в примере про заполнение параметра "ПечДата" в твоем случае дописать надо строку которая заполнит оклад, ну или найти мало ли где в заполнении мелькает параметр который тебе нужен огда его просто укажешь в макете печатной формы
---
Если я понимаю правильно, вы используете механизм "настройки макетов печатных форм" в режиме предприятия, и хотите чтобы ваш параметр заполнился значением оклада сотрудника.
При имользовании этого механизма оперировать вы можете только с ограниченным набором параметров, заданных разработчками.

 Ссылка
 ПриказОПриемеНомер
 ПриказОПриемеДата
 ОрганизацияНаименованиеПолное
 ОрганизацияАдресЮридический
 ОрганизацияАдресФактический
 ОрганизацияГородФактическогоАдреса
 Сотрудник
 Подразделение
 Должность
 ВидЗанятостиПоДоговору
 ТрудовойДоговорНомер
 ТрудовойДоговорДата
 СрокДействияПредставление
 РуководительФамилияИО
 РуководительФИОПолные
 РуководительДолжность
 ДатаПриема
 ФИОПолные
 ФамилияИО
 Пол
 АдресПоПропискеПредставление
 ДокументПредставление
 ВидЗастрахованногоЛица
 РазрешениеНаРаботу
 РазрешениеНаПроживание
 УсловияОказанияМедпомощи

Это все параметры которые вы можете использовать для формирования печатной формы трудового договора.
Для добавления в этот список своего параметра (решайте сами как назвать) вам необходимо исправить кучу типового кода.
Если хотите в это окунуться, советую начать с изучения работы обработки "ПечатьКадровыхПриказовРасширенная". Именно там формируется список параметров и достаются данные для заполнения этих параметров.

Если у вас много времени и желания этим заняться - дерзайте. Задача не для новичков
---
Для решения этой задачи я бы обратился к следующему материалу: http:// /news/2016-07-06-how-to-adapt-complex-report/
Здесь подробно (не для новичков) расписан процесс доработки стандартных отчетов и запросов на примере конфигурации ЗУП 3.0.

А еще лучшим способом было бы создать внешнюю печатную форму необходимого договора. Создать и заполнить в ней все необходимые параметры
---
alexey_asu, спасибо за ссылку, для новичков самое то, много полезного узнал.