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

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


Выходит ошибка, что документ не рассчитан.
3.1.10.135
По теме из базы знаний
Найденные решения
23. uriah 17 23.12.19 10:23 Сейчас в теме
(21) Проблема не в проведении в проведении документа, это вторично. первично заполнение реквизитов документа, причем связанных друг с другом. Если через Администрирование - Обслуживание - Корректировка данных- Групповое изменение реквизитов глянуть на реквизиты Документа Отпуск без оплаты. там обнаружится куча реквизитов, которых на форме нет. Вот тут, мне кажется. собачка и зарыта.
Provorez; +1 Ответить
24. Provorez 23.12.19 12:00 Сейчас в теме
(23) Все верно, нашел что за реквизиты нужны были. "Рассчитал" и "ПерерасчетВыполнен".
Спасибо за помощь
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. uriah 17 22.12.19 15:38 Сейчас в теме
ОтпускБезСохраненияОплаты.Сотрудник = Сотрудник.Сотрудник;
Вот это не ошибка?
3. Provorez 22.12.19 15:42 Сейчас в теме
(2) Сотрудник это элемент табличной части, которого я выбираю на форме
4. uriah 17 22.12.19 15:59 Сейчас в теме
(3) А если попробовать записать документ без проведения и посмотреть, что не заполнилось в созданном документе?
5. Provorez 22.12.19 16:03 Сейчас в теме
(4) Суть в том, что он их проводит, но в регистрах начисления, пфр фсс и тд не записывает. И вот при повторном проведении пишет ошибку "Документ не рассчитан". Так же не отображается в списке кадровых документов, а только в списке отпусков.
6. uriah 17 22.12.19 16:06 Сейчас в теме
(5)
Суть в том, что он их проводит, но в регистрах начисления, пфр фсс и тд не записывает.

Это значит, что проводокпо регистрам нет - есть отображение отметки о проведении в журнале отпусков.
7. uriah 17 22.12.19 16:13 Сейчас в теме
Скорей всего не устанавливается количество дней отпуска в документе и из-за этого не происходит расчет, к тому же, думется вид расчета устанавливать нет необходимости.
8. uriah 17 22.12.19 16:27 Сейчас в теме
ОтпускБезСохраненияОплаты.ВидОтпуска = Справочники.ВидыОтпусков.НайтиПоНаименованию("Отпуск за свой счет");

Если вручную добавили такой отпуск, тогда поиск может дать результаты, стандартное наименование Отпуск без оплаты в соотв. с частью 1 статьи 128 ТК РФ или Отпуск без оплаты в соотв. с частью 2 статьи 128 ТК РФ
9. Provorez 22.12.19 16:40 Сейчас в теме
10. uriah 17 22.12.19 16:45 Сейчас в теме
Вид отпуска точно без оплаты (должен быть установлен признак отпуска Без оплаты). Количество дней отпуска заполнено?
11. Provorez 22.12.19 16:47 Сейчас в теме
(10) Да, без оплаты и все заполнено
12. uriah 17 22.12.19 16:50 Сейчас в теме
Если в документе, в поле Сотрудник нажать кнопку открыть - позиционирование происходит на нужном сотруднике?
13. Provorez 22.12.19 16:54 Сейчас в теме
(12) Да, при этом я меняю все возможные поля на форме после создания, и все равно возникает та же ошибка.
14. uriah 17 22.12.19 16:56 Сейчас в теме
А если попробовать подставить стандартный отпуск без оплаты (предопределенный)?
15. Provorez 22.12.19 17:00 Сейчас в теме
16. uriah 17 22.12.19 17:02 Сейчас в теме
Не увидел в заполнении документа установки реквизита "Организация".
17. Provorez 22.12.19 17:20 Сейчас в теме
(16) Добавил, такая же ошибка.
18. uriah 17 22.12.19 17:22 Сейчас в теме
Давайте от обратного, если вручную создать документ отпуск без оплаты, и заполнить теми реквизитами, которыми вы заполняете программно - документ проведется?
19. Provorez 22.12.19 17:45 Сейчас в теме
20. uriah 17 22.12.19 18:15 Сейчас в теме
Тогда, получается, при создании документа программно, у вас не заполняются какие-то реквизиты, необходимые для проведения документа. Нужно через отладчик посмотреть обработку проведения и проверить какие из реквизитов не заполнены.
21. Provorez 23.12.19 09:21 Сейчас в теме
(20) нашел что, должно цеплять процедуру
ПровестиПоУчетам(ДокументСсылка, РежимПроведения, Отказ, ВидыУчетов = Неопределено, Движения = Неопределено, Объект = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
. Хотел вызвать ее у себя в обработке вручную, но не пойму как мне обратиться к движениям?
22. Provorez 23.12.19 10:00 Сейчас в теме
(21) А нет, вызывается, ошибся, ищу дальше проблему
23. uriah 17 23.12.19 10:23 Сейчас в теме
(21) Проблема не в проведении в проведении документа, это вторично. первично заполнение реквизитов документа, причем связанных друг с другом. Если через Администрирование - Обслуживание - Корректировка данных- Групповое изменение реквизитов глянуть на реквизиты Документа Отпуск без оплаты. там обнаружится куча реквизитов, которых на форме нет. Вот тут, мне кажется. собачка и зарыта.
Provorez; +1 Ответить
24. Provorez 23.12.19 12:00 Сейчас в теме
(23) Все верно, нашел что за реквизиты нужны были. "Рассчитал" и "ПерерасчетВыполнен".
Спасибо за помощь
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот