Имя: Пароль:
1C
1С v8
УПП Мясокомбинат Блок ЗП
,
0 ColonelAp4u
 
12.08.16
11:34
Добрый день разъясните мне пожалуйста 1 ситуацию.
Человека отправили в отпуск по уходу за ребенком 01.01.2016 Далее 11.07.2016 Сделали документ, изменение условий отпуска по уходу за ребенком и там проставили начисления, с 12.06.2016 начать. При начислении ЗП в начисления попадает и уход и зп, именно этого мы и хотим добиться, но потом идет некая проверка, после чего строка с ЗП удаляется и остается только отпуск. Вот код проверки

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

            
            ЗапросПроверки.УстановитьПараметр("парамСсылка", СcылкаОбъекта);
            ЗапросПроверки.УстановитьПараметр("парамНачисления", Начисления.Выгрузить());
            СтрокиКУдалению = ЗапросПроверки.Выполнить().Выгрузить();
            // удалим проверочный набор записей
            НаборЗаписейДляПроверки.Очистить();
            НаборЗаписейДляПроверки.Записать(Истина, Ложь, Истина, Ложь);
            
            ЗафиксироватьТранзакцию();
            
            Для Каждого СтрокаТЗ Из СтрокиКУдалению Цикл
                Начисления.Удалить(СтрокаТЗ.НомерСтроки - 1);
            КонецЦикла;
            
        КонецЕсли;
        // конец удаления строк табличной части, которые соответствуют полностью вытесняемым видам расчета
1 Звездец
 
12.08.16
11:35
ок, буду знать
2 ColonelAp4u
 
12.08.16
11:35
И удаляется как раз именно эта 1 строка с начислением зп
3 piter3
 
12.08.16
11:36
вопрос в чем?
4 ColonelAp4u
 
12.08.16
11:36
(1) что ты будешь знать?
5 Звездец
 
12.08.16
11:37
(2) ты реально это для общего сведения пишешь или же вопрос задашь?
6 Звездец
 
12.08.16
11:38
(4) начисление отпуска прекратить установлено?
7 polosov
 
12.08.16
11:38
(6) Очевидно нет, если все еще он вытесняет начисление ЗП.
8 Звездец
 
12.08.16
11:40
(7) там в коде даже по комментарию понятно куда надо посмотреть
9 ColonelAp4u
 
12.08.16
11:47
Дык дело в том что должно попасть и начисление отпуска и оклад, но отпуск вытеснят оклад.
10 piter3
 
12.08.16
11:49
(9) Открываешь РС плановые начисления и изучаешь
11 ColonelAp4u
 
12.08.16
11:49
Мы не нарушаем ТК РФ и человек если ушел в отпуск по уходу за ребенком может продолжить работать правда с другим графиком работы.
12 Звездец
 
12.08.16
11:49
(9) мы не против, как это отменяет то, что с 12.06 начисление отпуска надо прекратить?
13 ColonelAp4u
 
12.08.16
11:51
о прекращении начисления отпуска и речи нету в изменении условий отпуска стоит что оплачивать отпуск до мая 2017 года + в начислениях добавилась строка оклад по дням с ее окладом и значением начать
14 Звездец
 
12.08.16
11:52
(11) хочешь оставить оба, убери вытеснение в видах рассчета
15 ColonelAp4u
 
12.08.16
11:55
(14) спасибо!
16 Alexandr_U1982
 
12.08.16
12:12
(15) При назначении сотруднику отпуска по уходу за ребенком, ему начинают начисляться три вида расчета "Пособие по уходу за ребёнком до 1.5 лет", "Пособие по уходу за ребёнком до 3 лет" и "Отпуск по уходу за ребенком без оплаты".
Если сотруднику нужно платить отпуск по уходу за ребенком и оклад, то нужно прекратить начисление вида расчета "Отпуск по уходу за ребенком без оплаты". Именно этот вид расчета и вытесняет оклад.
17 ColonelAp4u
 
12.08.16
13:11
(16) я убрал из вида расчета оклад по дням и часам, а в РС стоит начать оклад с 11.05.2017
18 ColonelAp4u
 
12.08.16
13:23
(16) В добавок в изменении условий отпуска в плановых начислениях оклад по дням поставить можно но в РС проставляет начать эти начисления после окончания отпуска, и в плановых начислениях не могу выбрать вид расчета "Отпуск по уходу за ребенком без оплаты" что бы поставить ему значение прекратить
19 Alexandr_U1982
 
12.08.16
14:14
(18)Я тут проконсультировался, в общем немного не правильно написал.
Если сотруднику нужно платить отпуск по уходу за ребенком и оклад, то документ "Изменение условий отпуска по уходу за ребенком" вообще не нужно делать. В  этом случае создается два документа "Возврат на работу" (нужен, для того, чтобы сотруднику началось считаться право на ежегодный основной отпуск) и "Кадровое перемещение организаций". В кадровом перемещении нужно перевести сотрудника на график неполного рабочего времени, а также в этом документе нужно прекратить начисление вида расчета "Отпуск по уходу за ребенком без оплаты" и начать начислять вид расчета "Оклад по дням"/"Оклад по часам".
20 ColonelAp4u
 
12.08.16
14:17
(19) Ок сейчас попробую