Как зарегистрировать начисления при программном создании документа отпуск без сохранения оплаты.

```1c
    &НаСервере
    Процедура СформироватьНаСервере ()

    Для Каждого Сотрудник ИЗ Таблица Цикл

    ОтпускБезСохраненияОплаты = Документы.ОтпускБезСохраненияОплаты.СоздатьДокумент();
    ОтпускБезСохраненияОплаты.Сотрудник = Сотрудник.Сотрудник;
    ОтпускБезСохраненияОплаты.ДолжностьРуководителя = Справочники.Должности.НайтиПоКоду();
    ОтпускБезСохраненияОплаты.ВидОтпуска = Справочники.ВидыОтпусков.НайтиПоНаименованию("Отпуск за свой счет");
    ОтпускБезСохраненияОплаты.ДатаНачала = ДатаНачала;
    ОтпускБезСохраненияОплаты.ВидРасчета = ПланыВидовРасчета.Начисления.НайтиПоКоду("ОТПДО");
    ОтпускБезСохраненияОплаты.ДатаОкончания = ДатаКонца;
    ОтпускБезСохраненияОплаты.Номер = Формат(Номер,"ЧГ=0") + "-A";
    ОтпускБезСохраненияОплаты.Основание = "Личное заявление " + ЗарплатаКадрыОтчеты.ПросклоненныеФИО(Сотрудник.Сотрудник.ФизическоеЛицо.Фамилия,2,Сотрудник.Сотрудник) + " " + Сотрудник.Сотрудник.ФизическоеЛицо.ИнициалыИмени + " " + Лев(Сотрудник.Сотрудник.ФизическоеЛицо.Отчество,1) + ".";
    ОтпускБезСохраненияОплаты.ОсвобождатьСтавку = Ложь;
    ОтпускБезСохраненияОплаты.Дата = ДатаДокумента;
    ОтпускБезСохраненияОплаты.Ответственный = ПользователиКлиентСервер.ТекущийПользователь();
    ОтпускБезСохраненияОплаты.Руководитель = Справочники.ФизическиеЛица.НайтиПоКоду("16031 ");
    ОтпускБезСохраненияОплаты.ПериодРегистрации = ДатаНачала;

    Номер = Номер + 1;

    ОтпускБезСохраненияОплаты.Записать(РежимЗаписиДокумента.Проведение);

    КонецЦикла;

    КонецПроцедуры
```

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