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