Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   ЗИК: Проблема накопленной задолженности из-за "неправильных" выплат (http://forums.kuban.ru/f1040/zik_problema_nakoplennoj_zadolzhennosti_iz-za_nepravil-nyh_vyplat-1438382.html)

victuan 15.08.2011 06:40

ЗИК: Проблема накопленной задолженности из-за "неправильных" выплат
 
В ЗИК 7.7 существует проблема: если в документах ВыплатаЗарплаты систематически указывать сумму за "период" больше чем было начислено за этот период, то это приводит к увеличению сальдо по Накопленной задолженности, и к уменьшению сальдо округления. Со временем эти цифры разрастаются до астрономических размеров, пока не приведут к переполнению разрядности. После этого сальдо (общее, свернутое) по сотрудникам становится недостоверным.
Как исправить ситуацию?
В два этапа:
1) Научить (заставить) бухгалтера правильно вводить Выплату Зарплаты
2) Поправить начальное сальдо, свернув сальдо округления на накопленную задолженность.
Вроде со вторым пунктом может справиться самописная обработка, например, "Метла ЖР VZ". Но оказывается только до следующего месяца. В следующем месяце сальдо опять разворачивается до астрономических цифр (несмотря на то, что в пред. месяце оно было свернуто до аккуратных цифр). Решения нигде на просторах инета не нашел.
Но может оно всё-таки есть, это решение?

Пацталоцци 15.08.2011 07:00

а что нам мешает открыть модуль формы документа [b]НакопленнаяЗадолженность[/b], и немного пошаманить в процедуре [b]Заполнить()[/b] ?

victuan 15.08.2011 07:02

2-Пацталоцци >Желание найти решение, не меняющее конфигурациИ (их больше 10 в разных местах и организациях)

victuan 15.08.2011 07:03

И шаманить придется и в других местах.

AlexMir 15.08.2011 07:46

Без 1) все остальное бесполезно.

victuan 15.08.2011 07:55

5-AlexMir >А кто спорит? Проблема в том, что 2) не дает эффекта больше одного периода. Потом вылазять старые косяки, как будто он задолженность берет не только с предыдущего месяца, но и с более древних периодов.
И так, есть решения? Или тольо рассуждать могём?
ЗЫ. Без 1) тоже полезно, только 2) придется делать регулярно, по мере нарастания развернутого сальдо.

Гена 15.08.2011 08:41

(6) сейчас гораздо легче приучить не трогать цифры в автозаполнении доков выплат... перед глазами ясная аналогия - Расчёты по страховым взносам, которые требуют чёткого деления сумм именно по месяцам действия, ЗА которые идёт выплата...

причём, в отличие от рукотворных разбиений доков уплат страховых взносов, доки зарплатный выплат сами автоматически заполняются по периоду действия... надо только им не мешать...

victuan 15.08.2011 09:11

7-Гена >Блин. Неужели моя проблема непонятна? Проехали про пункт 1). Вопрос как решить проблему пункта 2)?!!!!

AlexMir 15.08.2011 09:15

(6) Решения есть.
Целых три, в зависимости от степени запущенности.
1. Случайно выплатили не за тот месяц нескольким сотрудникам.
2. Нескольким сотрудникам неправильно выплачивали, уже не разобраться, когда и за что.
3. Регулярно всем неправильно выплачивают.
Интересует третий вариант?

roma n 15.08.2011 09:18

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

Кондрат2 15.08.2011 09:18

Что-бы свернуть сальдо - изменения в конфе минимальные:
*1) ГлобальныйМодуль:
//Сальдо = Сальдо - Макс(УдерживаемыйНДФЛ,0);//бар это было
Сальдо = Сальдо - УдерживаемыйНДФЛ; //бар это стало !!! Вс:е валим в накопленную задолженность!!!
//СуммаВТаблицу = СуммаВТаблицу - глСальдоОкругления(ТаблицаСотрудников.Сотрудник, ДатаДокумента);//бар заремарили !!! Вс:е валим в накопленную задолженность!!!
//Если СуммаВТаблицу > 0 тогда
ТаблицаСотрудников.Сумма = СуммаВТаблицу;
//Иначе
//ТаблицаСотрудников.Сумма = 0;
//КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры //глРассчитатьНакопленнуюЗадолженность//бар это привязка

*2) ВидРасчета.НачальноеСальдоОкругления Добавлена строка 5:
Результат=0;возврат; //бар //Вс:е валим в накопленную задолженность!!!

*3) ВидРасчета.НачальноеСальдоПереплатаНДФЛ Добавлена строка 5:
Результат=0;возврат; //бар //Вс:е валим в накопленную задолженность!!!

rus66 15.08.2011 09:21

В особо запущенных случаях сворачиваю сальдо с начала года.
Если я правильно помню, надо свернуть 2 предыдущих месяца. Должно хватить.

Looking 15.08.2011 09:34

(10)
[em]ввести документы выплаты отрицательных суммы за месяцы переплаты и положительных за месяцы недоплаты[/em]

а в каком отчёте можно увидеть развёрнуто в разрезе месяцев переплату и недоплату?

roma n 15.08.2011 10:01

(13) Если мой склероз мне не врёт, - был такой отчет "Ведомость выплат" на проклубе

roma n 15.08.2011 10:14

+(14) Таки врёт. Свод выплат от Евген'а

Looking 15.08.2011 10:27

(15)спасибо за помощь!
[url]http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3983[/url]

Блондинка в шок 15.08.2011 10:30

(3) если не трогать конфу, если не трогать... хм...
просто используй Метлу ЖР три месяца подряд.

*ЗиК обладает искусственным интеллектом :) (внезапно!),
и если ее три месяца подряд тыкать носом в одно и то же, то потом она обучается и забывает про проблемы такого рода... :) Про старые проблемы, естественно, если эти три месяца плодить новые, то ничего не "забудется". :)*

(12) верно говоришь.

victuan 15.08.2011 11:47

9-AlexMir >Ну конечно третий.
12-rus66 >Хм, попробую. Завтра.

victuan 15.08.2011 11:48

17-Блондинка в шок >Спасибо.

AlexMir 15.08.2011 12:03

(18) Метод назавается "Начинаем новую правильную жизнь с августа месяца". Суть - в переносе всей задолженности в текущий месяц.
1. Начисляем и рассчитываем август, как обычно.
2. Сводим всю задолженность в Текущее начальное сальдо (ТНС). ТНС = ТНС + НЗ.
3. Удаляем Накопленную задолженность (НЗ) на начало августа.
4. Переводим все Выплаты за прошлые периоды в августе на август.
5. Выплачиваем август, как обычно.
Все. Можно сделать вручную, можно набросать простенькие обработки. Переделка программы не требуется. Разумеется, никаких выплат за период ранее августа более быть не может, иначе все опять рухнет.
И буху вдолбить раз и навсегда: выплачивать столько, сколько рассчитала ЗиКа и не более.

victuan 15.08.2011 12:06

20-AlexMir >"[em]2. Сводим всю задолженность в Текущее начальное сальдо (ТНС). ТНС = ТНС + НЗ.
3. Удаляем Накопленную задолженность (НЗ) на начало августа."[/em]
А вот в Метле у VZ сделано наоборот: ТНС обнуляем, остаток ставим в НЗ. Наверное поэтому в следующем месяце всё вылезло обратно.

victuan 15.08.2011 12:08

20-AlexMir >"[em]И буху вдолбить раз и навсегда: выплачивать столько, сколько рассчитала ЗиКа и не более[/em]"
Вот это как раз сделать не всегда удается - проще регулярно сворачивать накопившееся сальдо (или идти по пути (11))

AlexMir 15.08.2011 12:16

(21) Переносить все в НЗ нет смысла. НЗ не формирует выплату. Это просто указатель на то, что в прошлых периодах что-то невыплаченное осталось.
И (11) и Метла - это игла. Сел на нее и уже не слезешь.

Looking 15.08.2011 12:31

(21)обработка по ссылке правит НачальноеСальдоЗадолженность

[url]http://infostart.ru/public/22162/[/url]

[em]Теоретическая часть
Как известно, в 1С ЗиК 7.7 нет специального вида расчёта для хранения долга на конец месяца, эта величина
вычисляется каждый раз при формировании свода (или расчетных листков) как сумма начисления + сумма
задолженности прошлых месяцев - сумма удержания - сумма выплаты - сумма возвратов НДФЛ + сумма
возвратов в кассу. При этом период, за который произведена выплата не учитывается. В то же время долг
на начало месяца складывается из 3 видов расчетов: НачальноеСальдоОкругления (копейки от предыдущих выплат),
НачальноеСальдоЗадолженность (не выплаченная зарплата), НачальноеСальдоПереплатаНДФЛ (понятно без комментариев).
И если бухгалтер производит выплату общей суммой, а не по периодам, то происходит нестыковка.[/em]

[em]Как это работает (очень упрощённо)
Рассчитывается долг на конец предыдущего месяца для текущего сотрудника как и в своде по з/п, а затем эта величина сравнивается
с суммой упомянутых выше видов расчетов (при этом рассматриваются разные варианты: ведь какие-то из ВР могут быть отрицательными
или нулевыми). На основе анализа принимается решение, что делать: исправить запись в журнале расчетов или исправить документ
"Накопленная задолженность". [/em]

victuan 15.08.2011 12:37

23-AlexMir >Про иглу и так понятно.
24-Looking >Круто!

VZ 15.08.2011 12:42

23-AlexMir > Ничего подобного. Я вот давно не применяю - после наведения порядка все прекрасно устаканивается.
Кстати, в Метле реализован "щадящий" режим: удадяется только отрицательное значение сальдо округления. В типовом механизме есть провал, который не закрывает прошлую задолженность, даже когда выплаты фактически ее прервали.
Надо менять механизм определения этой самой накопленной задолженности (разумеется, не так, как в #11). Одновременно надо менять алгоритм документа Выплата (явное закрытие задолженности прошлых периодов). Плюс алгоритм начисления "пеней" за несвоевременную выплату з/п.
Но в 1С на это положили.

Looking 15.08.2011 12:43

(25)я её на практике не проверял, возможно она не совсем то, что нужно, правит по условию либо НачальноеСальдоЗадолженность, либо НачальноеСальдоОкругления

Looking 15.08.2011 12:51

(25)извини, неверно написал, данная обработка также обнуляет ТНС и корректирует НЗ, из плюсов (когда-то наверное это минус) то, что действия очевидны для пользователя и доступны для редактирования им, т.к. обработка вносит корректировку путём автоввода документа Исправление по каждому корректируемому сотруднику, так что пользователь затем может сам откорректировать сумму НЗ.

Buhta 15.08.2011 13:47

все буквы пока не осиливаю... но насчет повторного вылезания ошибки и двух-трех месяцев подряд: ЗИК перерасчитывает хвосты на основании всех периодов, ЗА которые была введена выплата зарплаты ... (т.е. подхватывается начальное сальдо ВСЕХ этих периодов, выплаты и т.п... алгоритм такой, что в запущенных случаях приводит к астрономическим цифрам) т.е. если каждый месяц производится выплата только ЗА 1 период, то достаточно 1 раз поправиль начальное сальдо и больше ошибки не вылезут. а если периодически проводятся доплаты ЗА какие-то прошлые периоды (хоть за 1 месяц позапрошлого года), то надо править или ВСЮ базу или переписывать алгоритм формирования начального сальдо, т.к. даже правка 3-х периодов не всегда поможет... или все хвосты выловить и закрыть и запретить бухам проводить какие-то доплаты за прошлые периоды. и ни в коем случае нельзя сторнировать выплаты и проводить повторно, можно только через возврат и выплату в текущем периоде... ЗЫ: ну, короч, алгоритм там такой кривой:) я насчет правки не озадачивалась, т.к. у меня нет кучи клиентов с серьезной кривизной - все правильно выплачивают

Buhta 15.08.2011 13:52

+ кста, данная ошибка вылезает в основном у тех, кто хочет "как положено", т.е. проводит выплаты как в бухии - в след. периоде за предыдущий и вводит накопленную задолженность. у тех, кто закрывает выплату в том-же периоде, а реальными датами оперирует только в бухии, подобные ошибки почти не возникают

VZ 15.08.2011 13:59

30-Buhta > Вот только если не делать "как положено", бухгалтерское сальдо непременно разъедется с ЗиКовским.

Buhta 15.08.2011 14:07

31-VZ > ЗИКовского [b]сальдо[/b], как бухгалтерского понятия, нет:) это программа чисто для расчета з/п, а не для ведения бухгалтерии. если все делать четко, отслеживать и сверять выплаты между бух и ЗИК, а не фантазировать, то никаких ошибок не будет.

Looking 15.08.2011 14:46

Просьба подсказать по корректности такого исправления.
Есть обработка
[url]http://infostart.ru/public/72482/[/url]
при исправлении по небольшому числу сотрудников её использование выглядит удобным, т.к. есть расшифровка отклонений по периодам и даже действие предлагается автоматически - свернуть или исправить, нужно только щёлкнуть мышкой по строке с нужным периодом. См.скриншот
[url]http://s004.radikal.ru/i207/1108/02/0d2bfa0b1e47.jpg[/url]
То есть я находясь в текущем периоде могу свернуть сальдо за все прошлые по каждому периоду отдельно?
НО разве корректно сворачивать сальдо за любой прошлый период текущим? Код свёртки в обработке выглядит так:
[em]ИначеЕсли вхТип = "Свернуть" Тогда
вхПериод = ВыбЗначение.Получить("Период");
вхСотрудник = ВыбЗначение.Получить("Объект");
вхНачСальдо = ВыбЗначение.Получить("НачСальдо");
вхЗадолженность = ВыбЗначение.Получить("Задолженность");
вхНдфл = ВыбЗначение.Получить("Ндфл");
жрЗарплата = СоздатьОбъект("ЖурналРасчетов.Зарплата");

НайденоЗад = 0;
НайденоОкр = 0;
жрЗарплата.ВыбратьПериодПоОбъекту(вхСотрудник, вхПериод);
Пока жрЗарплата.ПолучитьЗапись() = 1 Цикл
Если жрЗарплата.ВидРасч = ВидРасчета.НачальноеСальдоЗадолженность Тогда
НайденоЗад = НайденоЗад + 1;
жрЗарплата.УстановитьРеквизит("Результат", вхНачСальдо + вхЗадолженность + вхНдфл);
жрЗарплата.Записать();
ИначеЕсли жрЗарплата.ВидРасч = ВидРасчета.НачальноеСальдоОкругления Тогда
НайденоОкр = НайденоОкр + 1;
жрЗарплата.УстановитьРеквизит("Результат", 0);
жрЗарплата.Записать();
КонецЕсли;
КонецЦикла;
Если НайденоЗад = 0 Тогда
Сообщить("В журнале расчетов не найдена запись ""Задолженность по заработной плате"".", "!");
КонецЕсли;
Если НайденоОкр = 0 Тогда
Сообщить("В журнале расчетов не найдена запись ""Текущее начальное сальдо"".", "!");
КонецЕсли;
Расшифровка(вхСотрудник, Табл);

[/em]

VZ 15.08.2011 16:05

32-Buhta > Есть просто сальдо: Сальдо конечное = Сальдо начальное + начисления - удержания - выплаты.
Так вот, если в ЗиКе для периода июль вбубухаешь выплату августовского числа, то сальдо будет одно. Только вот бухгалтеру ты никак не втолкуешь, с чего бы это проводка [b]по кассе[/b] августа месяца испортила сальдо 70 счета на 31 июля.
"[em]если все делать четко, отслеживать и сверять выплаты между бух и ЗИК, а не фантазировать, то никаких ошибок не будет[/em]" - ну-ну... Вырастила идеального советского человека, не подвластного мирским соблазнам? Тогда, кааанешно... Смотри, ошибку при таком ведении "кассы в ЗиК" - фиг обнаружишь даже.

VZ 15.08.2011 16:14

33-Looking > Я бы такую обработку отправил на нуль-девайс.

Buhta 15.08.2011 16:52

34-VZ > конечно, ее гораздо проще обнаружить при миллионах красноты в начальном сальдо:) не надо относиться к ЗИК, как к бух. программе. ЗЫ: у меня все клиенты проводят выплату в том-же периоде. ошибки бывают, но вполне легко обнаруживаются (достаточно задать период ОСВ в бух по последний день выплаты з/п, отсечь межвыплаты за след. месяц и сверить остатки), зато ни у кого нет астрономических цифр в начальных остатках ЗИК

VZ 15.08.2011 17:04

36-Buhta > Извини, глупые привычки: не правлю кривизну другой кривизной. Коммерции вредят, да.

victuan 16.08.2011 05:41

35-VZ >+1!

GSokolov 16.08.2011 10:01

Вообще-то все эти обработки основной цели не достигают, только запутывают анализ. Если что и нужно править, то не распределение по сальдо (текущему-задолженности), а сами документы выплаты (распределением периода оплаты по периодам задолженностей). Иначе невозможно пользоваться отчетом по задолженностям, да и косяки продолжают вылезать в следующих периодах.

rus66 16.08.2011 10:15

(39)Ну почему, свертка зачастую помогает. Если после этого
"[b]1) Научить (заставить) бухгалтера правильно вводить Выплату Зарплаты[/b]"
А начинать можно с простой кнопки "рассчитать" на документе выплаты :)


Текущее время: 10:00. Часовой пояс GMT +3.