Имя: Пароль:
1C
 
Табель на аванс.
Ø
0 Полька
 
10.01.07
14:13
ГБ хочет, чтобы табель формировался на аванс за полмесяца. И на основании табеля выплачивался аванс в размере 50% за отработанные дни. Например с 1 по 15 число рабочих дней 10, оклад 10 000, человек работал 5 дней, потом стоят «невыходы» (потом больничный принесет), чтобы у него аванс был не 5000, а 2 500.
Кто-нибудь такое делал?
Табель формируется только после того, как сделаешь док «Начисление з/п». Делать 2 «Начисления з/п» за месяц?
1 AlexMir
 
10.01.07
14:18
Бред.
2 BorisG
 
10.01.07
14:23
(1) Это еще почему?
Вопрос в строгом соответсивии с нормативными документами.
3 Полька
 
10.01.07
14:23
Существует какой-то норматив, что табель делается только 1 раз в месяц? Или что аванс должен выплачиваться только за отработанные дни?
4 Дурочка 1С ®
 
10.01.07
14:24
Табель на аванс. © Полька
... вкус еды на слух, цвет на зуб, вонь на глаз, представляя себе фильм по названию, живопись по фамилии, страну по "Клубу кинопутешествий", остроту мнений по хрестоматии ... © М. Жванецкий
5 android
 
10.01.07
14:26
(0) Можно и без создания табеля. В качестве примера:
СуммаАванса = глРассчитатьАванс(Сотрудник, ДатаПериода);
Функция глРассчитатьАванс(Сотрудник, ДатаПериода, ОбработчикСообщений = "") Экспорт
  
Перем МассивДней[370];
  
  НачалоМесяца = НачМесяца(ДатаПериода);
  
  Оклад = глПолучитьСуммуИзРеквизита(Сотрудник.Оклад.Получить(НачалоМесяца), НачалоМесяца);
  Ставка = Сотрудник.Ставка.Получить(НачалоМесяца);
  
  ПолныйАванс = Окр(Оклад * Ставка * Константа.ПроцентАванса / 100);
  
  НормаДней = глНормаДнейЧасовЗаПериод(Сотрудник, НачалоМесяца, НачалоМесяца + 14, "Дней");
  
  Для Сч = 1 По 370 Цикл
    МассивДней[Сч] = 0;
  КонецЦикла;
  
  Если глЗаполнитьМассивДней(МассивДней, Сотрудник, НачалоМесяца, КонМесяца(НачалоМесяца),1) = 1 Тогда
      
    ОтработаноДней = глПолучитьКоличествоФактическиОтработанныхДнейЧасов(МассивДней, НачалоМесяца, НачалоМесяца + 14);
    
  Иначе
    ОтработаноДней = 0;
    Сообщить("не удалось рассчитать отработанные дни по: " + Сотрудник, "!");
  КонецЕсли;
  
  глДобавитьСообщение(ОбработчикСообщений, глФамилияИмяОтчество(Сотрудник)+", оклад на " + НачалоМесяца + " : " + Оклад + ", ставка: " + Ставка + ", отработано дней за первую половину месяца: " + ОтработаноДней + " из " + НормаДней,Сотрудник,,,?(ОтработаноДней = 0, 1, ?(ОтработаноДней < НормаДней, -1, 0)));
  
  Если НормаДней > 0 Тогда
    Аванс = Окр(ПолныйАванс * ОтработаноДней / НормаДней);
    
  Иначе
    Аванс = 0;
  КонецЕсли;
  
  Возврат Аванс;
    
КонецФункции //глРассчитатьАванс
6 Полька
 
10.01.07
14:32
Дурочка 1С ® :)))
Я его что ли придумала?
android, нельзя без создания табеля- ГБ желают.
7 android
 
10.01.07
14:55
(6) Им шашечки или ехать? Им аванс выплатить или влезть внутрь ЗиК?
8 BorisG
 
10.01.07
15:01
> Или что аванс должен выплачиваться только за отработанные дни?
Ну... в этом выражении не совсем корректно только слово "только".
Поскольку днействительно есть документ, предписывающий выплачивать аванс за отработанные дни. Но... это НЕ ЕДИНСТВЕННЫЙ способ выплаты зарплаты.
А так... принцип "Любой каприз за Ваши деньги" никто не отменял, тем более, что данная просьба нормативным документам не противоречит.
Проблема в чем?