8.х индексация и отпускные

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем sedrik, 1 июл 2010.

  1. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Итак..... У меня проблема! Для того чтобы приняли на работу меня попросили написать конфигурацию, которая будет считать зарплату... с налогами я разобрался в два счета, но вот с отпускными и индексацией у меня возникла проблема.... Я незнаю как их расчитать... Прошу вашей помощи!!!! Может кто-то поделится приблизительным кусочком кода или знает как это описать(это все должно расчитыватся в одной форме документа).
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Нужно точное ТЗ потому как если описывать как расчитывается отпуск в типовой конфе то могли видет что там ого го т.к учитываются всевозможные варианты и т.д. Вы сам принцип расчета отпуска значете? методику читали? что такое 29.4 понимаете?
  3. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1

    расчет индексации я понимаю, потому решил сделать проще.... каждому из сотрудников присвоить собственный коэфициент индексации и дальше вести всё по формуле...
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    НУ в принципе у каждого сотрудника и может быть коэффициент индексации свой.

    У Вас вообще сейчас в каком вопросе то проблема стоит?
  5. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    индексацию решил примитивным способом, добавивши в справочник по сотруднмикам реквизит индексацию. Сейчас делаю расчет отпускных через регистр накопления. Также сейчас у меня проблема в печатных формах. Я создал поле "тело" и теперь думаю как сделать так чтобы в него при нажатии на кнопку печать выводилу нужную информацию из справочника(печптная форма документа).
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Стоп. как это расчет отпускных через регистр накопления? все через регистры расчета. вы что это творите
  7. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1

    ой.... извиняюсь :unsure: я их делаю через регистр сведений... Но так тоже значит неправильно учту свою ошибку. спасибо вам за подсказку!
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    какой регистр сведений? регистр РАСЧЕТА. так вам работы не видать
  9. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    нет! я обмолвился! Я начинал писать не в регистре накопления, а в регистре сведений! Сейчас начал делать через Расчет!! еще раз спасибо!
  10. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Итак... у меня появился маленький вопрос: Я добавил в справочник по сотрудникам флажок. Если его нажать то сотруднику должен высчитыватся подоходный налог, а если не поставить, то нет. Я предполагаю, что я должен описать в форме документа через
    Код:
    если флажок=истина тогда Подоходный=истина иначе Подоходный=ложь конецесли;
    
  11. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Я ошибся! При нажатии на галочку должна использоватся константа для расчета Подоходного!! а при её отсутствии нет!
    имеющийся код для расчета (он не должен менятся):
    Код:
    если СтрокаТЧ.Итог <= Константы.Зарплата_подоходный.Получить() тогда 
    СтрокаТЧ.Подоходный=(СтрокаТЧ.Итог-(Константы.НСЛ.Получить()+СтрокаТЧ.Соц_страх_безраб+СтрокаТЧ.Пенсионный_фонд+СтрокаТЧ.Соц_страх_нетруд))*0.15 иначе
    СтрокаТЧ.Подоходный=(СтрокаТЧ.Итог-(СтрокаТЧ.Соц_страх_безраб+СтрокаТЧ.Пенсионный_фонд+СтрокаТЧ.Соц_страх_нетруд))*0.15	
    конецесли;
    
  12. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Чет ниче не понял (я про стиль программирования, а не про методику расчета).

    Например это:
    я думаю можно написать так:
    Код:
    Подоходный = флажок;
    
    И вот это:
    думаю красивее (и правильнее) было бы так:
    Код:
    Если СтрокаТЧ.Итог <= Константы.Зарплата_подоходный.Получить() тогда 
    НСЛ = Константы.НСЛ.Получить();
    Иначе
    НСЛ = 0;
    КонецЕсли;
    СтрокаТЧ.Подоходный = (СтрокаТЧ.Итог - (НСЛ + СтрокаТЧ.Соц_страх_безраб + СтрокаТЧ.Пенсионный_фонд + СтрокаТЧ.Соц_страх_нетруд)) * 0.15;
    
    
  13. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    я только 2 месяца его изучаю и буду рад любой помощи!!! Эдинственный минус я в нем теряюсь.... но это только начало =)
  14. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Вообще то подоходний можно было создать как плановое удержание и назначать его сотрудникам и не мучаться.

    другое что беспокоит это как вы считаете подоходний можте расшифровать?
    что такое 0.15? НДФЛ -13 % причем тут сраховая, накопительаня?
  15. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    13% было бог знает когда!!! Сейчас он состовляет 15%(украинское законодательство), но на всякий случай я его впишу в константы!
    Кстате, подкинули мне хорошую идею!! и на всякий случай кидаю код документа для расчета зп. Может подкините как его упростить(некоторые попытки венчались ошибками)
    Код:
    СтрокаТЧ=ЭлементыФормы.Данные.ТекущиеДанные;
    СтрокаТч.Начислено=строкаТч.Оклад/строкаТч.График*строкаТч.Отработаные_дни;
    СтрокаТЧ.Итог=СтрокаТЧ.Начислено+СтрокаТЧ.Надбавка; 
    если строкаТч.Итог > Константы.ФССЗТВП.Получить() тогда
    строкаТч.Индексация=строкаТч.Сотрудник.Индексация.Коэфициент*Константы.ФССЗТВП.Получить();
    r=Константы.СоцСтрах_нетруд2.Получить()
    иначе строкаТч.Индексация=строкаТч.Сотрудник.Индексация.Коэфициент*СтрокаТЧ.Итог;
    r=Константы.СоцСтрах_нетруд1.Получить();
    конецесли;
    СтрокаТЧ.Итог=СтрокаТЧ.Итог+строкаТч.Индексация;
    СтрокаТЧ.Итог=СтрокаТЧ.Итог+СтрокаТЧ.Отпускные+СтрокаТЧ.Больничный;
    СтрокаТЧ.Соц_страх_безраб=СтрокаТЧ.Итог*Константы.Соцстрах_безраб.Получить();
    СтрокаТЧ.Пенсионный_фонд=СтрокаТЧ.Итог*Константы.Пенсионный_фонд.Получить();
    СтрокаТЧ.Соц_страх_нетруд=СтрокаТЧ.Итог*r;
    
    Если СтрокаТЧ.Итог > Константы.Зарплата_подоходный.Получить() тогда
    НСЛ=0 иначе НСЛ=Константы.НСЛ.Получить()
    КонецЕсли;
    Если   СтрокаТЧ.Сотрудник.Дата_увольнения<>0 Тогда
    НСЛ=0  иначе НСЛ=Константы.НСЛ.Получить()
    КонецЕсли;
    
    Если СтрокаТЧ.Сотрудник.Флаг=Ложь тогда
    НСЛ = Константы.НСЛ.Получить()
    Иначе  НСЛ=0
    КонецЕсли;
    
    
    СтрокаТЧ.Подроходный = (СтрокаТЧ.Итог - (НСЛ + СтрокаТЧ.Соц_страх_безраб + СтрокаТЧ.Пенсионный_фонд + СтрокаТЧ.Соц_страх_нетруд)) * 0.15;
    СтрокаТЧ.К_выплате=СтрокаТЧ.Итог-СтрокаТЧ.Соц_страх_безраб-СтрокаТЧ.Пенсионный_фонд-СтрокаТЧ.Соц_страх_нетруд-СтрокаТЧ.Подроходный;
    СтрокаТЧ.К_выплате=СтрокаТЧ.К_выплате-СтрокаТЧ.Аванс;
    До_сплати=Данные.Итог("К_выплате");
    Оклад=Данные.Итог("Оклад");
    Надбавка=Данные.Итог("Надбавка");
    Аванс=Данные.Итог("Аванс");
    Прибутковій_податок=Данные.Итог("Подроходный");
    Пенсійний_фонд=Данные.Итог("Пенсионный_фонд");
    Соцстрахбезроб=Данные.Итог("Соц_страх_безраб");
    Соціальне_страхування=Данные.Итог("Соц_страх_нетруд");
    Всього=Данные.Итог("Итог");
    Відпускні=Данные.Итог("Отпускные");
    Індексація=Данные.Итог("Индексация");
    Начислено=Данные.Итог("Начислено");
    
    
    
  16. TopicStarter Overlay
    sedrik
    Offline

    sedrik

    Регистрация:
    1 июл 2010
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Тут уже подскажите чайнику! У меня в ТЧ документа поле сотрудник по умолчанию 25 символов, а этого нехватает! Как мне поставить знасение неограниченое???
  17. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    У нас в России 13% вот по этому и говорю. Что касется наименование то неограниченное не рекомендую ставить. поставьте 100 символов на ФИО с головой хватит.

    А насчет кода, то надо бы хотя бы видеть что у вас за ТЧ в которой вы строки расчитываете?

Поделиться этой страницей