Имя: Пароль:
1C
 
1C ERP 2.2 как изменить формулу расчета НДФЛ
, , ,
0 amadeus2010
 
15.08.18
14:23
Добрый день клиент использует 1C ERP 2.2 немного доработанную для транспортной компании. Необходимо в документе Начисление зарплаты изменить формулу расчета НДФЛ при расчете удержаний.
Не подскажите какой модуль отвечает за расчет удержаний НДФЛ?
1 hhhh
 
15.08.18
14:42
(0) да там 150 модулей, ну ты спросил.
2 amadeus2010
 
15.08.18
14:53
да я сам запутался какой модуль отвечает за расчет НДФЛ.
пытался найти через отладчика не получилось, глобальный поиск мало что дал
3 PR
 
15.08.18
14:54
Вызови программиста
4 Вафель
 
15.08.18
14:55
я бы не стал такого делать .
убьешь же блок зп, потом не восстановишь
5 Вафель
 
15.08.18
14:55
нужно виды расчетов настраивать
6 бигтейсти
 
15.08.18
15:02
(0) а что именно ты хочешь поменять?
7 КнОпка
 
15.08.18
15:17
Создать внешнюю обработку, подключить к документу со своим алгоритмом расчета. Делов то
8 amadeus2010
 
15.08.18
15:19
в документе Начисление зарплаты мне надо чтобы в табличной части НДФЛ Налог рассчитывался по формуле Налог = Оклад - МРОТ(173 маната) * Ставка НДФЛ (14%)
Сейчас программа считает Налог = Оклад * Ставка НДФЛ (13%)
9 amadeus2010
 
15.08.18
15:20
(7) обработку по пересчету НДФЛ?
можно небольшой пример кода?
10 КнОпка
 
15.08.18
15:31
(9) вам нужна другая ерп

http://1c.kz/v8/RegionalSolutions_KZ_ERP2.php
11 КнОпка
 
15.08.18
15:32
(10) ой, нет) нету вроде
у вас азербайджан
12 Вафель
 
15.08.18
15:35
(8) а есн вы как считаете? или тоже нужно формулу поправить?
13 amadeus2010
 
15.08.18
15:49
я создал кнопку Расчет НДФЛ
/////////////////////////////////
СтрокаТЧ = Элементы.НДФЛ.ТекущиеДанные;
    СтрокаТабЧасти = Элементы.Начисления.ТекущиеДанные;
    СтрокаТЧ.Налог = (СтрокаТабЧасти.Результат -173) * 0.14;
    Объект.Удержано = Объект.НДФЛ.Итог("Налог");
//////////////////////////////////////////
считает по одной строке.Как можно сделать чтобы считала списком.
14 amadeus2010
 
15.08.18
15:49
ЕСН править не надо, только НДФЛ
15 amadeus2010
 
15.08.18
15:50
Дело в том что у компании уже есть ЕРП и они не захотят покупать еще одну программу
16 amadeus2010
 
15.08.18
15:54
еще вопрос как на вкладке Взносы документ Начисление зарплаты сделать видимой колонку ТФОМС, по умолчанию она скрыта
17 иубиповец
 
15.08.18
16:03
А вычетов у вас не бывает что ли?
А чел весь месяц в отпуску.
А в якие пересчеты
А чел заработал менее 173 монеты, че тогда:)

Может быть не стоит зарплатный блок?:)

П.С. (13) как написали так и считает:). Обходите строки
18 иубиповец
 
15.08.18
16:04
Может быть не стоит зарплатный блок ломать..
19 Вафель
 
15.08.18
16:06
ну тс точно не стоит. ибо он не знает как по тч даже пройти.
20 amadeus2010
 
15.08.18
16:07
по нашему закону надо НДФЛ рассчитывать так как я написал выше.
Вычеты должны быть но сейчас надо правильно рассчитать НДФЛ чтобы правильно выдать зарплату
21 amadeus2010
 
15.08.18
16:08
По ТЧ можно пройтись циклом Для каждого из Цикл, но здесь 2 табличные части из которых берутся данные
22 иубиповец
 
15.08.18
16:50
>>Вычеты должны быть но сейчас надо правильно рассчитать НДФЛ чтобы правильно выдать зарплату
Эм, а как вы без них правильно зп рассчитаете то?:) (21) И.. тч начисления выгружаете в тз, сотрудник всего, по НДФЛ ходите ищите сумму по сотруднику из тз - выполняете свои расчеты. То что Вы хотете тогда получится:)
23 Базис
 
naïve
15.08.18
17:06
(13) А потом этот копрокод превратится в типовую для новой страны.

Ситуация "Сотрудник-апа вернулс из отпуска по уходу за ребёнком на 2 дня, проработала в командировке и ушла в отпуск по беременности и родам, но иногда выходила на инвентаризации в выходные дни" может не соответствовать вашей формуле. И в январе вычет может поменяться, константа будет изменена, при перепроведении всем изменится сальдо.
24 ptiz
 
15.08.18
17:10
(0) А отчетность вы как сдавать собираетесь?
Бросайте эту затею.
25 шаэс
 
15.08.18
17:29
(15) даже на ЗуП не разорятся? При наличие ЕРП могли бы. Чтобы не иметь проблем с расчетом, а потом и с отчетами
26 amadeus2010
 
15.08.18
23:09
у каждой страны свои требования. а что в ЗУП можно изменить формулу расчета НДФЛ?
27 amadeus2010
 
15.08.18
23:16
если есть возможность поменять формулу расчета НДФЛ в общих модулях то подскажите в каком модуле. В УПП и БП 2.0 я знаю как это сделать, но в ЕРП не нашел
28 bolder
 
15.08.18
23:33
(0) Есть ЗУиП для Азербайджана.Там все»Расчет заработной платы и налогов,» из каропки.Не занимайтесь фигней.
29 amadeus2010
 
16.08.18
00:22
есть и ЕРП для Азербайджана, но надо именно в ЕРП клиента доработать блок Зарплата
30 hhhh
 
16.08.18
06:32
(29) ну это обойдется клиенту в 200 тысяч. Вы ему цены сразу озвучьте.
31 Emery
 
16.08.18
07:01
(0) > как изменить формулу расчета НДФЛ

Сейчас модно все менять через расширения.

(1) > да там 150 модулей, ну ты спросил

Я все больше склоняюсь к мысли, что БСП это как бы легальная обфускация кода со стороны самой фирмы 1С. Т.е., вроде все доступно, но попробуй что-либо изменить – «замучаешься пыль глотать (с)».

Например, я пробовал адаптировать ЗУП к реалиям ЛНР. НДФЛ считается также, но округляется до копеек, а не до рублей, как в России. Нашел общий модуль по расчету НДФЛ, заменил в десятках мест Окр(…, 0) на Окр(…, 2). Не помогло! Оказывается, надо было менять еще размерность всех реквизитов с целых на дробные. Жесть! Проще написать полностью свой расчетный модуль, оформить его как расширение и лепить хоть к ЕРП, хоть к ЗУПу.
32 amadeus2010
 
16.08.18
07:59
Да модулей действительно много, в УПП 1.3, БП 2.0 было проще изменить формулу расчета НДФЛ. А здесь как матрешка, открываешь и уходишь дальше. Зачем усложнять жизнь и код:)
А относительно своего вопроса, пришлось создать кнопу Пересчет НДФЛ:
///////////////////////////////////////////////
СтрокаТЧ = Элементы.НДФЛ.ТекущиеДанные;
    СтрокаТабЧасти = Элементы.Начисления.ТекущиеДанные;
    
    Для Каждого СтрокаТЧ из Объект.НДФЛ Цикл
        СтрокаТЧ.Налог = (СтрокаТабЧасти.Результат -173) * 0.14;
    КонецЦикла;
    
    Объект.Удержано = Объект.НДФЛ.Итог("Налог");
///////////////////////////////////////////////////

теперь надо смотреть по коду как рассчитывается Ведомость по зарплате,чтобы правильно рассчиталась зарплата за вычетом налогов
33 Провинциальный 1сник
 
16.08.18
08:19
"Я все больше склоняюсь к мысли, что БСП это как бы легальная обфускация кода со стороны самой фирмы 1С. Т.е., вроде все доступно, но попробуй что-либо изменить"
В мемориз!
34 иубиповец
 
16.08.18
08:42
(32) А в результате этого кода НДФЛ случайно не у всех одинаковый получается?:)
35 sechs
 
16.08.18
08:50
(31) Они виноваты в том, что ты не осилил, да.
36 КнОпка
 
16.08.18
09:01
(35) Не осилил что? Он все верно говорит

(32) НДФЛ считается помесячно или с начала года как и в России ?
Хотя клиентам вашим сойдет и так
37 amadeus2010
 
16.08.18
09:04
нет НДФЛ разный, НДФЛ считается помесячно
38 bolder
 
16.08.18
09:11
(34) +100500))Человек в упор не хочет видеть последствий.А ведь это только начало.Сколько ещё граблей то впереди)Почему сегодня не пятница?))
39 КнОпка
 
16.08.18
09:33
(38) Вчера была маленькая пятница)
40 hhhh
 
16.08.18
09:35
(38) ну если не готовы платить, то значит им и так сойдет. На коленке.
41 Emery
 
16.08.18
09:48
(36)-(37) Я пробовал делать пробные расчеты на «сложном» сотруднике. НДФЛ у нас хотя и проще (считается только помесячно с пересчетом подоходного за год и при увольнении, правда, это осталось от Украины, в ЛНР, как бы особо уже и не требуется), чем в России, но выйти на нужные цифры (за исключением округления) вполне получалось.

Однако смысла особого адаптировать ЗУП в ЛНР / ДНР я не увидел. Сама концепция расчета у нас значительно проще российской. Это раз. Второе, ЗУП жестко заточена под российское законодательство, тогда как моя собственная программа по зарплате достаточно гибкая, чтобы получать любой теоретически допустимый результат. Третье, учет рабочего времени в ЗУПе мне совершенно не нравится, опять же жесткий и ограниченный. Для корректного учета переходящих смен через полночь, в ЗУПе я ничего путного не нашел. Тогда как собственное моделирование рабочих смен, их продолжительности, разрывности, наложение двух различных рабочих графиков друг на друга и т.д. и т.п., все это делается без особых проблем. Причем, что немаловажно, на порядок проще, чем в ЗУПе.

В ЛНР и ДНР официальных программ 1С для расчета зарплаты нет вообще. А ведь можно за относительно небольшой бюджет такую программу сфарганить. Я бы предложил обычные формы на «восьмерке» с использванием РИБа. Когда меня спонсировали, в свое время, на разработку зарплаты а «семерке», то на полное создание с нуля и внедрение ее на главном предприятии ушло полтора – два года (в зависимости от того как считать доработки в работающей конфигурации). Причем эта программа работает более 13 лет, правда ограничена хотелками, в основном, только одного предприятия.

Кстати, есть только один продукт для непризнанных республик, который можно найти в Интернете. Это «Бухгалтерия для ДНР». Вся реклама о ней ограничивается только демонстрацией почти пустых бухгалтерских отчетов. Скорее всего, я думаю, это легкая переделка «Бухгалтерии для Украины», что, на мой взгляд, не очень серьезно, поскольку у нас куда более серьезные изменения (сворачивание гривневых остатков в рублевые, смена валюты учета, перевод украинской отчетности на русский язык, создание новых видов отчетов, исправление ошибок в амортизации ОС, а также создание двух клиент-банков) в ПУБ-77 для Украины прошли как бы между прочим, а, может быть, это надо было бы оформить как «Бухгалтерию для ЛНР», правда, для «семерки»? Что интересно, сайт, который торгует «Бухгалтерией для ДНР», зарегистрирован в Москве.

Вот я и удивляюсь, неужели до сих не нашлось ни одного спонсора для создания простых и удобных конфигураций для ЛНР/ ДНР?
42 amadeus2010
 
16.08.18
10:09
(41) В Азербайджане тоже свое законодательство, есть конфигурации ЗУП 2.5, УПП 1.3, БП 2.0 которые локализованы под местные законодательство, но ЕРП 2, я пока не видел, хотя есть реклама от наших франчайзи но это скорее доработки под конкретных заказчиков а не готовый продукт для использования в Азербайджане. Вот и приходится дорабатывать типовые российские конфигурации под наши законы.
43 amadeus2010
 
16.08.18
10:12
Еще вопрос в ЕРП 2 в начислении зарплаты есть реквизит ТФОМС и есть регистр тарифы страховых взносов в котором я указал ставку ТФОМС под наши правила. В документе Начисление зарплаты эта колонка не активна.
Как можно ее активизировать?
44 Emery
 
16.08.18
10:56
(42) > Вот и приходится дорабатывать типовые российские конфигурации под наши законы.

Вопрос дорабатывать типовую конфигурацию либо разрабатывать ее с нуля всегда был актуальным. А уже приводил на этом форуме пример, что трое программистов с другой фирмы два года адаптировали под свое производственное предприятие ЗиК-77 для Украины. Я с этой работой справился один практически за то же самое время. Они переделали, по их словам, 80% кода, у меня – 100%. Вот и спрашивается, что лучше или там проще?

Поэтому подобный вопрос стоит и для «восьмерки». Что лучше адаптировать ЗУП-2.5 либо (2.1 для Украины) под свое законодательство либо написать программу с нуля? Поскольку, на мой взгляд, «зарплата» в 1С считается не слишком оптимально, то выгодней написать конфигурацию с нуля. Тем более, что опыта работы с «зарплатой» уже вполне достаточно, чтобы предлагать собственные концепции и решения, отличные от фирменных.

Можно вести речь и об управляемых формах, когда слишком много клиентов и нужен именно веб-сервер, но в нашем случае это пока не актуально.

Относительно 1С:ERP, то этот монстр еще тот. Если не получится ограничиться расширениями, то тогда придется положить болт на обновления (или вручную обновляться самому). Гораздо проще для необратимых переделок – ПУБ-7.7. По крайней мере, у нас этот путь оказался самым эффективным.
45 amadeus2010
 
17.08.18
15:03
СтрокаТЧ = Элементы.НДФЛ.ТекущиеДанные;
СтрокаТабЧастиНачисления = Элементы.Начисления.ТекущиеДанные;
СтрокаТабЧастиВзносы = Элементы.Взносы.ТекущиеДанные;

Для Каждого СтрокаТЧ из Объект.НДФЛ Цикл
//Если СтрокаТабЧастиНачисления.Результат <= 173 Тогда
//СтрокаТЧ.Налог = СтрокаТабЧастиНачисления.Результат * 0.14;
//Иначе
СтрокаТЧ.Налог = (СтрокаТабЧастиНачисления.Результат -173) * 0.14;
//КонецЕсли;
КонецЦикла;

Для Каждого СтрокаТабЧастиВзносы из Объект.Взносы Цикл
СтрокаТабЧастиВзносы.Страховка = СтрокаТабЧастиНачисления.Результат * 0.5/100;
КонецЦикла;


Объект.Удержано = Объект.НДФЛ.Итог("Налог");
ИтогВзносы = Объект.Взносы.Итог("Страховка") + Объект.Взносы.Итог("ФФОМС") + Объект.Взносы.Итог("ПФРДоПредельнойВеличины")+Объект.Взносы.Итог("ФСС");
///////////////////////////////////////////////////////////////////////////////////
Код работает но всем сотрудникам независимо от отклада начисляет одну сумму НДФЛ
У каждого сотрудника свой оклад например 442, 800, 681, но всем начислен один и тот же НДФЛ например 42.
Можете поправить меня где я ошибся в расчетах.
46 Вафель
 
17.08.18
15:06
нужно не от текущих данных отталкиваться, а бежать по 2 таблицам связывая их по ключевому полю.
скорее всего это сотрдуник
47 amadeus2010
 
17.08.18
15:24
(46) т.е. создать запрос по табличным частям документа и потом из запроса вытащить данные?
Надо учесть что при начислении зарплаты в разные месяцы сотрудник может получить не одинаковую сумму из-за отпуска,болезни
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший