Количество месяцев между датами
12.07.2011
08:24
#1
"Как найти количество месяцев между двумя датами Дата1 и Дата2?
КолМесяцев = (Дата2 - Дата1) / 3600 / 24 / 30;
Так что-ли?"
КолМесяцев = (Дата2 - Дата1) / 3600 / 24 / 30;
Так что-ли?"
12.07.2011
09:18
#6
"Мы перенесемся в прошлое... 
Но у меня это не пройдет, я просто не всеь фрагмент коды выложил, там в пределах года все крутится -
Если СокрЛП(КодВычета)="103" Тогда
//
Фильтр = Новый Структура;
Фильтр.Вставить("ФизЛицо",ВыборкаПоСтрокамДокумента.ФизЛицо);
Период = ВыборкаПоШапкеДокумента.ПериодРегистрации;
СтандартныеВычеты = РегистрыНакопления.НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Выбрать(НачалоГода(Период), КонецМесяца(Период),Фильтр,"Убыв");
Пока СтандартныеВычеты.Следующий() Цикл
// ------------- (1)
//сообщить(""""+СтандартныеВычеты.КодВычета+" "+СтандартныеВычеты.ПримененныйВычет);
Если (СокрЛП(СтандартныеВычеты.КодВычета)="103") и
(КонецМесяца(Период) <> КонецМесяца(СтандартныеВычеты.Период))Тогда
//
Разница = Месяц(Период) - Месяц(СтандартныеВычеты.Период);
Прервать;
КонецЕсли;
// ------------- (1)
КонецЦикла;
КонецЕсли;
А вообще, проблема в том, что если сотрудник не работал несколько месяцев (административный отпуск), а потом решил уволится, то его стандарный вычет по коду "103" (400 рэ за месяц) становится равным компенсации за неиспользованный отпуск..... И в регистр накопления "НДФЛПредоставленныеСтандартныеВычетыФизЛиц" заносится именно эта компенсация по коду 103. Вот воюю, пытаюсь побороть. Может в след релизах ЗиУП уже это исправили....
У нас -
1С:Предприятие 8.1 (8.1.15.14)
Зарплата и Управление Персоналом, редакция 2.5 (2.5.34.2)"
Но у меня это не пройдет, я просто не всеь фрагмент коды выложил, там в пределах года все крутится -
Если СокрЛП(КодВычета)="103" Тогда
//
Фильтр = Новый Структура;
Фильтр.Вставить("ФизЛицо",ВыборкаПоСтрокамДокумента.ФизЛицо);
Период = ВыборкаПоШапкеДокумента.ПериодРегистрации;
СтандартныеВычеты = РегистрыНакопления.НДФЛПредоставленныеСтандартныеВычетыФизЛиц.Выбрать(НачалоГода(Период), КонецМесяца(Период),Фильтр,"Убыв");
Пока СтандартныеВычеты.Следующий() Цикл
// ------------- (1)
//сообщить(""""+СтандартныеВычеты.КодВычета+" "+СтандартныеВычеты.ПримененныйВычет);
Если (СокрЛП(СтандартныеВычеты.КодВычета)="103") и
(КонецМесяца(Период) <> КонецМесяца(СтандартныеВычеты.Период))Тогда
//
Разница = Месяц(Период) - Месяц(СтандартныеВычеты.Период);
Прервать;
КонецЕсли;
// ------------- (1)
КонецЦикла;
КонецЕсли;
А вообще, проблема в том, что если сотрудник не работал несколько месяцев (административный отпуск), а потом решил уволится, то его стандарный вычет по коду "103" (400 рэ за месяц) становится равным компенсации за неиспользованный отпуск..... И в регистр накопления "НДФЛПредоставленныеСтандартныеВычетыФизЛиц" заносится именно эта компенсация по коду 103. Вот воюю, пытаюсь побороть. Может в след релизах ЗиУП уже это исправили....
У нас -
1С:Предприятие 8.1 (8.1.15.14)
Зарплата и Управление Персоналом, редакция 2.5 (2.5.34.2)"
Читают тему
(гостей: 1)