Имя: Пароль:
1C
 
1С:ЗУП 3.1 Обработка перерасчета командировок
0 DomenER
 
11.08.26
16:15
Всем привет.

Есть обработка, которая пересчитывает командировки исправляющим документом. Нормально всё пересчитывается если в исходном документе было выбрано "Рассчитать период командировки целиком в текущем документе".
Теперь возникла задача пересчитать командировку когда в исходной командировке был выбран 2й или 3й пункт говорящий о том, что расчет будет выполняться документом "Начисление зарплаты и взносов" и в исправляющем документе командировки будет выбрано 1й пункт расчёта в текущем документе.
Начисление рассчитывается, но сторнирование старого не происходит т.к. расчет находится в другом типе документа.

Тут появляется проблема как эффективно перенести табличные части
1) НачисленияПерерасчет
2) Показатели
3) РаспределениеПоТерриториямУсловиямТруда
4) РаспределениеРезультатовНачислений

Предполагю в обработку добавить эти табличные части и делать запрос на сервере с заполнением этих табличных частей. Потом на клиенте при создании исправляющих документов заполнять табличные части из обработки.

Или уже есть готовые решения?
1 DomenER
 
11.08.26
16:28
Бухгалтера могут задать перерасчет большого количества документов, например, 50. Поэтому в запросе выводится реквизиты по которым можно определить нужные строки.
Это к тому, что пересчитывается не по одному выбранному документу, а сразу по многим.
2 DomenER
 
11.08.26
16:55
На бухэксперте есть статья как такие командировки пересчитываются
https://buhexpert8.ru/1s-zup/uchet-i-oplata-komandirovok-1s-zup/uchet-i-oplata-komandirovok/kak-v-zup-3-1-pereschitat-komandirovku-esli-rasschitali-ee-vmeste-s-zarplatoj.html

Сейчас стоит задача автоматизировать перерасчет в пределах документа командировки
3 Гена
 
гуру
11.08.26
17:38
(0) Ваша обработка создаёт пакетно доки Командировка исправления?
4 DomenER
 
11.08.26
17:57
(3) Да.
Вообще взята обработка перерасчёта отпусков с бухэксперта и доработана под все документы среднего заработка.

:-)
5 DomenER
 
11.08.26
17:57
(4) В обработке можно указывать пересчитывать текущий док или создавать исправляющий документ.
6 Гена
 
гуру
11.08.26
18:11
(4) Это хорошо. В нём СДЗ_новый, увеличенный, сразу считается. В первоначальном доке дерева есть СДЗ_старый.

Осталось только взять командировочные строки начислений из давнишнего дока НачислениеЗП или то же за 1-ю половину месяца и просто умножить на коэффициент (СДЗ_новый/СДЗ_старый - 1)
И записать эту дельту такими же строками в текущем доке Командировка-исправление. Их может быть несколько, например, если есть РК и СН.

Часа два на кодирование. С запасом и перекурами )
7 Gucci76
 
11.08.26
19:23
(4) так там уже доработано под все документы среднего, кроме увольнения (но кому надо его пересчитывать).
Правда исправляет только отпуск )))
8 DomenER
 
12.08.26
09:51
(6) Если СДЗ уменьшился, то результат будет отрицательный. Показывать просто отрицательные суммы у многих вызовет вопросы. Особенно у сотрудников после получения расчетных листов.
Вообще показывать в документе только разницу расчетов бухгалтеров приведёт в ступор когда начнут разбираться почему так. А вот полноценно показывать какие суммы пересчитывались будет более наглядно.
9 DomenER
 
12.08.26
09:52
(7) Перерасчёт какого-то документа я точно добавлял. И пару раз было, что с новым релизом ЗУП обработка переставала работать.
Не знаю как там в Бухэксперте - занимаются ли обновлением обработки. Нет у меня подписки :-)
10 Gucci76
 
12.08.26
10:09
(9) Наверно у вас ранняя версия обработки. Переставала работать, потому что немного изменился старт фонового задания в типовой. А запускать анализ без фона это заблокировать базу на достаточный промежуток времени (хотя в новой версии такая возможность появилась).
11 DomenER
 
12.08.26
10:13
(10) Да. У меня версия старовата. 3.20 бралась за основу. Не знаю какая сейчас там актуальная.
12 Гена
 
гуру
12.08.26
10:18
(8) Понятно, что изначально пакет документов исправлений рассматривается только для ПОВЫШЕНИЯ СДЗ, т.е. когда выдали позднюю годовую премию.

А чтоб куче сотрудников и вдруг уменьшился СДЗ - так не бывает. Индивидуально бывает, но по десяткам - нет.
Да и Роструд не даст отобрать ранее выданные деньги.
13 DomenER
 
12.08.26
10:19
(12) Уменьшение СДЗ это единичные случаи. Но бывают.
14 Гена
 
гуру
12.08.26
10:48
(13) Ну пусть остаётся минус. Он так и так возникает, когда в доке исправления сторнируется одна запись начисления и ниже появляется меньшая с плюсом. Так и так общая с минусом.

СмотрИте. Чем хороша идея добавка - не напруживается НДФЛ, когда сторнируется доход прошлого периода.
Не спорьте.

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

Запись-сторно .............. -Сумма1 (красным)
Запись2 ............. Сумма2

Равно один к одному как:
Запись ............ Сумма2 - Сумма1

Нам и нужен только добавок +/- при пересчёте командировок при неизменном интервале дней!
You see?
15 DomenER
 
12.08.26
11:02
(14) Да понятно, что идея показывать только разницу в расчете. Может у вас там с ходу бухгалтера разберутся почему так, а у нас будут постоянно названивать с вопросами.

Ещё при первичном расчёте в документе заполнятся начисления и рассчитается НДФЛ. Когда программно скорректировать начисления показывая только разницу, то придётся пересчитывать НДФЛ в документе (первичный расчёт не увидит прошлые начисления из другого типа документа начисление зарплаты и взносы) и также менять другие табличные части отражающие распределение доходов.
16 DomenER
 
12.08.26
11:07
(15) Мне больше нравится идея до расчёта исправляющего документа подтянуть прошлые начисления из "Начисления зарплаты и взносы" как сторнирующие записи. После уже запустить типовой механизм расчета.
17 Гена
 
гуру
12.08.26
11:22
Вы меня не слышите. Делайте что хотите.
18 El_Duke
 
гуру
12.08.26
11:27
(15) "будут постоянно названивать с вопросами"
Классика жанра, побеждается это административными методами.
Выпускаете энциклику по типовым случаям перерасчета, утверждаете ее подписью генерального папы и включаете в состав эксплуатационной документации. Проводите обучение, показываете все на примерах. Результат фиксируете небольшим тестом. Сдавшие считаются обученными. После этого все звонящие направляются читать инструкцию. Кто позвонил >2 раз - лишается некоторого % премии. Сделайте и увидите: как бабка отшепчет
19 DomenER
 
12.08.26
11:34
(18) Это растянется минимум на месяца. И начальство не захочет во всё это вникать и утверждать. Уж тем более депремировать. У нас и на более простые вещи напрягаться не хотят.
20 DomenER
 
12.08.26
11:34
(17) Возможно не понял посыл :-)
21 DomenER
 
12.08.26
11:37
(19) Читать инструкции у нас никто не хочет - проще позвонить специалисту чтобы всё объяснил и показал. Так у нас во многих отделах.
Вот когда внедряли одну систему несколько лет назад, то там было без чтений инструкций никак. И то пытались названивать с вопросами. У нас специалист чуть ли не весь день сидел на телефоне. Кому какое дело до его задач.
22 DomenER
 
12.08.26
11:40
(18) Бывает отправляю почитать инструкции на 1С:ИТС - обижаются.
23 Волшебник
 
12.08.26
11:51
(17) правильно так: "У нас свободная страна. Делайте что хотите."
;)
24 Гена
 
гуру
12.08.26
12:06
(20) Тогда ещё раз.
1. Мы выяснили, что обработка делает доки исправлений командировок. Так?
2. В силу того, что если первичные командировки были с переключателем "вместе с зарплатой", то корректирующие доки тянут оттуда ноль начислений, т.к. начисления были сделаны позже в доках Начисление ЗП. Так?
3. В результате мы имеем, что наши созданные доки исправлений командировок дают полные начисления без строк сторно. Так?
25 El_Duke
 
гуру
12.08.26
12:08
(19) Чтобы это взлетело, должен быть начальник ИТ с титановыми яйками. И собственник должен хотеть порядка на фирме. Тогда все делается за 2 недели, никаких месяцов. И никаких звонков прогам быть не должно, бухи даже их телефон знать не должны. Все через заявку, по которым собирается стата и видно кто работает, а кто не хочет.
А если нач ИТ нет, дир вместо реального управления дрейфует как балласт - тогда да, юзеры на шею сядут.
26 maxab72
 
12.08.26
12:21
(25) в таких фирмах один рецепт: косить и забивать. Выслушать пользователя по телефону, маненько посочувствовать (представь себя немножко психотерапевтом) и забыть о звонке навсегда. Если будет спрашивать какая-нибудь Валентина Александровна из бухгалтерии, а почему по ее заявке ничего не делается - стандартный ответ: "заняты изучением срочной и важной задачи от Александры Валентиновны из АХО" и наоборот. Программист должен быть умным и ленивым.
27 DomenER
 
12.08.26
12:23
(25) На прошлой неделе я разговаривал со своим начальником на тему, что часто звонят бухгалтера за консультациями. А начальник говорит: "Ну если знаешь - подсказывай". А то что после таких подсказок привело к ежедневным звонкам, иногда десяток, начальнику "до лампочки".
28 Гена
 
гуру
12.08.26
12:30
Если всё так, то пытаюсь донести до Вас простую мысль: не надо больше заморачиваться, не надо ничего рассчитывать.
Нам достаточно только знание СДЗ_старый, а он ЕСТЬ в первичных доках.

После того, как заполнился док исправления командировки, мы просто умножаем текущие полные начисления на коэффициент К.

Арифметика.
Первичный док ... Сумма1 = Хрень * СДЗ_старый
Док Исправление ... Дельта = Сумма2 - Сумма1 = Хрень * СДЗ_новый - Хрень * СДЗ_старый

Вы упорно жаждете найти эту Хрень * СДЗ_старый и записать сторно. А на ..я?
Мы уже имеем Сумма2 = Хрень * СДЗ_новый

Распишем ур-ние для неизвестной К:
Дельта = Сумма2 * К = Хрень * СДЗ_новый * К = Хрень * СДЗ_новый - Хрень * СДЗ_старый

Отсюда
К = (СДЗ_новый - СДЗ_старый) / СДЗ_новый

Всё. Умножьте изначально рассчитанные в доках исправлений командировки Сумма2 на этот коэффициент. 5 минут кода.

Уже не знаю как проще объяснить.
29 El_Duke
 
гуру
12.08.26
12:32
(26) Пожалуй соглашусь
Если дир в своей фирме не хочет видеть порядка, то прогу это подавно не надо. Он че, лысый что ли ?

(27) Дык замечательно же
Вам позвонили, а вы не знаете чем помочь ... ну вот так вышло. И себя разгрузили, и указание выполнили
30 Гена
 
гуру
12.08.26
12:44
Первичный док командировки:
Основная теорема систематики: Новые системы плодят новые проблемы.