0
Darkdimass
05.07.16
✎
20:49
|
сам программистом 1с не являюсь, просто по анологии с другими языками пытаюсь провести деноминацию, остался последний рывок, после деноминации появились Копейки
все работает корректно кроме рассчета в ЗП налога ПФ(пенсионный фонд)
он округляется до целых, подскажите в каких модулях это можно исправить?
на данный момент интересует работа Ит.КО() не могу найти описания сего "выражения"
|
|
1
Darkdimass
05.07.16
✎
20:51
|
Функция юРассчитатьБазуПФ(Сотрудник, Дата1, Дата2, ОтпускБуд, СуммаПФ = 0) Экспорт
БазаДляНачисленияПФ = 0;
ОтпускБуд = 0;
СуммаПФ = 0;
Если Дата1 <= Дата2 Тогда
Ит = СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ВключатьСубсчета(-1,-1);
Ит.ИспользоватьСубконто(ВидыСубконто.Сотрудники, Сотрудник, 1, 0);
Ит.ВыполнитьЗапрос(Дата1, Дата2, "70.1,70.4,70.5",,,2);
Ит.ВыбратьСчета();
Пока Ит.ПолучитьСчет()=1 цикл
СчетКод = Ит.Счет.Код;
Если СчетКод ="70.1" тогда
БазаДляНачисленияПФ = БазаДляНачисленияПФ + Ит.КО("С");
Ит.ВыбратьКорСчета();
Пока Ит.ПолучитьКорСчет() = 1 Цикл
КорСчетКод = Ит.КорСчет.Код;
Если КорСчетКод = "69" тогда
БазаДляНачисленияПФ = БазаДляНачисленияПФ - Ит.КорКО(); // Д-т 69, К-т 70: начисления за счет ПФ
СуммаПФ = Ит.КорДО(); // начисленный ПФ // Д-т 70, К-т 69 - удержано с сотрудника
ИначеЕсли Лев(КорСчетКод,2) = "97" тогда
ОтпускБуд = ОтпускБуд + Ит.КорКО(); // Д-т 97впр, К-т 70: отпускные будущего в заданном интервале
КонецЕсли;
КонецЦикла;
ИначеЕсли (СчетКод = "70.4") или (СчетКод = "70.5") тогда
// Проездные и матпомощь
БазаДляНачисленияПФ = БазаДляНачисленияПФ + Ит.КО();
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат БазаДляНачисленияПФ // по периоду регистрации
КонецФункции // юРассчитатьБазуПФ
|
|
3
Darkdimass
05.07.16
✎
20:54
|
примерный косяк есть и в подоходном, не уверен что он считается корректно ибо у кого то при зп 460р пн=45,89 а у кого-то при 400р пн=41,21
третий вообще в осадке
430 зп пн= 29,51
|
|