|
|
|
начисления-удержания
|
|||
|---|---|---|---|
|
#18+
Нарисовал очередную версию реализации начислений. Если в таблице orders поле F для документа корректировки будет равно null, то именно он является текущим документом корректировки. И будет учитываться при расчете. Сделано для тестирования разных вариантов. Если какой-то не используется то это поле должно быть равно 1. MAKE_NACH_MAIN - начисление по основным документам. MAKE_NACH_CORRECTION - по корректирующим Прокомментируйте :-) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 14:15 |
|
||
|
начисления-удержания
|
|||
|---|---|---|---|
|
#18+
ИМХО: мне всегда казалось, что начисления/списания делаются на основе какой-то базовой цифры, например должностного оклада как минимум должна присутствовать таблица со списком людей которым что-то начисляется наверно есть разные виды начисления, например помимо степендии - материальная помощь, проф взносы, банкомат и т.д - таблица с видами таких начислений начисления могут проводиться пару раз в месяц, или для всех раз в месяц - потом для нескольких человек... то есть для конкретного "начисления" табличка, в которой указывается кому начисляли, и какие виды начислений, выбранный алгоритм расчета как я понял, вы хотите, сделать так, чтобы вбив документы, указав периоды действия и параметры - и все начисление автоматом расчитались/пересчитались мне кажется очень проблематично документами описать диапазоны и алгоритмы... выбор должен делать сам бухгалтер (с указанием документа на основании которого он это сделал) то есть (например), со штатки вбил дни, с приказа суммы, настроки выбрал, конкретно для начисления которое делается 15.июля, вбил в справочник и связцал с цифрами приказы - и получил суммы по людям и итог. у буха это все должно быть как на листе excel, чтоб он мог проверить циферки тут явно не 2 таблицы если вам приходится "начислять" циклами в ХП, 99% не совсем удачно сделали структуру на все должно хватать пары тройки UPDATE/инсерт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 16:45 |
|
||
|
начисления-удержания
|
|||
|---|---|---|---|
|
#18+
Кифирчик как я понял, вы хотите, сделать так, чтобы вбив документы, указав периоды действия и параметры - и все начисление автоматом расчитались/пересчитались мне кажется очень проблематично документами описать диапазоны и алгоритмы... выбор должен делать сам бухгалтер (с указанием документа на основании которого он это сделал) то есть (например), со штатки вбил дни, с приказа суммы, настроки выбрал, конкретно для начисления которое делается 15.июля, вбил в справочник и связцал с цифрами приказы - и получил суммы по людям и итог. у буха это все должно быть как на листе excel, чтоб он мог проверить циферки В таблице приказов есть поле KIND. В этой упрощенной схеме kind равно типу насления. Понятно что должна быть табличка с людьми :-) У меня сейчас есть система документооборота. В которой указываются периоды действия документов. Либо пары документов назначение-снятие чеголибо. Вот и получаются диапазоны. Вот и хочется имея все текущие документы и диапазоны их действия прикрутить к этому расчет. Хочется упростить работу бухгалтера. чтобы система сама подбирала документы-основания для начисления. В данном примере я хотел отработать ситуацию с начислениями, когда присутствуют документы-корректировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 17:21 |
|
||
|
начисления-удержания
|
|||
|---|---|---|---|
|
#18+
zenkВ апреле появился корректирующий документ. Значит требуется какой-то перерассчёт. Определяем дату начала перерасчёта как минимум из дат начала основного документа и хвоста его корректировок. Это 1.1.10 Перерасчитываем январь по последней версии документа. Изменений в суммах по сравнению с архивом января нет. Ничего не делаем. Перерасчитываем февраль. В архиве начисления (и удержания) есть, а по расчёту должны быть 0. В архив текущего месяца (апреля) пишем разницу (- стипендия) (+ профсоюзные) с указанием, что месяц фактический - 02-2010. Перерассчитываем март. Та же ситуация. Рассчитываем апрель. Кроме текущих начислений, у нас 2 строчки с минусами по стипендии, 2 строчки с плюсом по профвзносам. "Свёртывать" отдельные строчки ни в коем случае нельзя - они за разные периоды. за январь пересчитываем данные по новой версии документа в цикле. внутри цикла сравниваем данные в таблице начисления и получаемые в цикле. разницу пишем в таблицу. запускаем тот же цикл по новой версии документа на февраль. цикл не выдает никаких данных. и это понятно т.к. новый документ заканчивает действие в январе. Значит внутренний цикл поиска в таблице начислений уже не отработает. тогда как в данной ситуации проверить начисления за феравль и минусовать их в расчетном месяце? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2010, 15:32 |
|
||
|
начисления-удержания
|
|||
|---|---|---|---|
|
#18+
Никто не прокомментирует? :-) Подробно всю ветку не читал, но так как тема близкая :), выскажусь. Подумайте сразу о реализации T-12 (Табель учета использования рабочего времени). Избежите множества проблем в будущем :) Начисления и удержания конечно же имеют место быть как сущности, но окончательный расчет должен производится по табелю. Т.е. что я хочу сказать, у вас должна быть возможность задним числом скорректировать любой один день в табеле рабочего времени и отразить корректировки в текущем расчете. При этом периоды начислений/документов-оснований служат входящей информацией для инициализации/автозаполнения табеля на каждый день. Если сразу не подумать о расчете на основе табеля, возникнет множество проблем, например, с вытеснением оклада отпуском или больничным, корректировкой оклада задним числом, овертаймами, сторнированием начислений, зависящих от времени. В итоге, в ходе расчета, вам все равно придется раскладывать периоды начислений по дням. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2010, 17:51 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1542556]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 455ms |

| 0 / 0 |
