![]() |
![]() |
![]() |
|
Сторнирование окладом самого себя | ☑ | ||
---|---|---|---|---|
0
zag2art
09.10.08
✎
09:00
|
Решаю задачки на специалиста по платформе, в расчетной части есть оклад и штраф(к вопросу отношения не имеет). Так вот, в задании "необходимо предусмотреть возможность изменения начисленного оклада задним числом".
Как я понимаю, должно работать так: 1 начисление - ПериодРегистрации 01.01.2007 за 01.01.2007 по 31.01.2007 5000рублей Теперь делаем второе начисление: ПериодРегистрации 01.02.2007 за 01.01.2007 по 31.01.2007 8000рублей Как я понимаю, когда делаю второе начисление, мне нужно ПолучитьДополнение, и из него уже создать еще одну запись "сторно" на -5000 рублей. Все так и делаю, но дополнение пустое, 0 элементов. Предполагаю, что все дело в том, что я пытаюсь сторнировать оклад окладом.... В чем ошибка, и как правильно реализовать поставленную задачу? |
|||
1
zag2art
09.10.08
✎
09:38
|
ап
|
|||
2
zag2art
13.10.08
✎
08:56
|
еще раз ап
Вопрос-то в принципе простой - как задним числом пересчитать оклад??? |
|||
3
Cheater
13.10.08
✎
09:00
|
(2) ПолучитьДополнение() предлагает сторно только по другим видам расчета, делай проводки сторно вручную
|
|||
4
Cheater
13.10.08
✎
09:02
|
(0) Мыслишь правильно, период регистрации второй записи и сторно должен быть позже периода действия, иначе Фактический период действия не учитывает сторно
|
|||
5
zag2art
13.10.08
✎
09:05
|
(3) Так у меня же, в общем случае, может быть куча записей об окладе за один месяц, с разными ставками. Мне представляестя, что это довольно - таки нетривиальная задача - сторнировать часть из них...
|
|||
6
zag2art
13.10.08
✎
09:07
|
Именно "в общем случае". И мне нужно будет точно вычислить на какую сумму я сторнирую...
|
|||
7
Пуд
13.10.08
✎
09:21
|
(3) эээ Может я чего-то не понимаю,но ты утверждаешь,что для оклада не будет дополнения???
|
|||
8
zag2art
13.10.08
✎
09:23
|
(7) У меня вот тоже не выходит получить дополнение...
|
|||
9
Cheater
13.10.08
✎
09:26
|
(7) я не прав?
|
|||
10
zag2art
13.10.08
✎
09:31
|
(9) Я так понимаю, для ввода сторно вручную, мне понадобится перебрать все записи оклада за прошлый месяц, найти их пересечение с моей "вытесняющей" записью оклада. В итоге у меня может получиться несколько сторно записей с различнимы периодами действия. Так?
|
|||
11
Cheater
13.10.08
✎
09:33
|
(10) подожди, вдруг я не прав, тогда не надо гемороя со сторнированием вручную...
|
|||
12
Пуд
13.10.08
✎
09:33
|
(9) Да я не знаю...Просто что-то сомнение берет,методу,по ходу,все равно - дополнение должно быть...
(8) Сейчас покопаю на этот счет... |
|||
13
Пуд
13.10.08
✎
09:34
|
(10)Напиши,как получаешь дополнение. Код. Каким доком? Предыдущее начисление на 5000 сделал?
|
|||
14
Cheater
13.10.08
✎
09:37
|
(12) ты прав, давай разбираться с ПолучитьДополнение()
|
|||
15
Пуд
13.10.08
✎
09:38
|
Вот что нарыл в конфе по расчетной части:
Процедура РассчитатьОсновныеНачисления() Экспорт //расчет записей выполняется в транзакции НачатьТранзакцию(); //создается набор записей регистра расчета НаборОсновныеНачисления = РегистрыРасчета.ОсновныеНачисленияРегл.СоздатьНаборЗаписей(); НаборОсновныеНачисления.Отбор.Регистратор.Значение = Ссылка; ВыборкаОсновныеНачисления = СформироватьЗапросПоТабличнойЧасти(ЭтотОбъект, "ОсновныеНачисления").Выбрать(); Пока ВыборкаОсновныеНачисления.Следующий() Цикл ДобавитьСтрокуОсновныхНачислений(ВыборкаОсновныеНачисления, НаборОсновныеНачисления); КонецЦикла; ТаблицаСторно = НаборОсновныеНачисления.ПолучитьДополнение(); Для Каждого СтрокаСторно из ТаблицаСторно Цикл ДобавитьСтрокуСторноОсновныхНачислений(СтрокаСторно, НаборОсновныеНачисления, ОсновныеНачисления); КонецЦикла; //передача набора записей в процедуру общего модуля для расчета РассчитатьЗаписиРегистраРасчета("ОсновныеНачисленияРегл", НаборОсновныеНачисления, ОсновныеНачисления); //удаление движений по регистру НаборОсновныеНачисления.Очистить(); НаборОсновныеНачисления.Записать(); ЗафиксироватьТранзакцию(); КонецПроцедуры // РассчитатьОсновныеНачисления Т.е. сначал нужно сделать движения по окладу 8000 в регистр,а потом уже получать дополнение.Так делаешь? |
|||
16
zag2art
13.10.08
✎
09:50
|
(15) Делаю так:
Первым документом начисляю оклад 5000 |
|||
17
zag2art
13.10.08
✎
09:51
|
вторым документом
Сначала создаю запись оклада 8000, записываю ее - получаю дополнение (пустое), записываю его... далее делаю расчет |
|||
18
Cheater
13.10.08
✎
09:52
|
(17) не записывай запись оклада, просто формируй, а потом применяй метод ПолучитьДополнение()
|
|||
19
zag2art
13.10.08
✎
09:54
|
Собственно код
|
|||
20
Пуд
13.10.08
✎
09:57
|
(19) Действительно,попробуй убрать
Движения.ОсновныеНачисления.Записать(); Движения.Удержания.Записать(); перед тем,как получаешь дополнение. |
|||
21
Пуд
13.10.08
✎
09:57
|
+20 Попробуй записывать уже после операций с дополнением
|
|||
22
zag2art
13.10.08
✎
09:58
|
Закомментировал: Движения.ОсновныеНачисления.Записать(); - таблица дополнений все-равно пуста :(
|
|||
23
zag2art
13.10.08
✎
10:01
|
В отладчике проверил Движения.ОсновныеНачисления До вызова метода ПолучитьДополнение - там все ОК, "оклад" с соответствующими полями
|
|||
24
Cheater
13.10.08
✎
10:02
|
(22) Период регистрации какой? должен быть позже периода действия
|
|||
25
zag2art
13.10.08
✎
10:02
|
Период регистрации 01.02.2007, период действия 01.01.2007-31.01.2007 все как надо
|
|||
26
zag2art
13.10.08
✎
10:04
|
У прошлого оклада период регистрации 01.01.2007, период действия 01.01.2007 по 31.01.2007 на 5000руб
|
|||
27
zag2art
13.10.08
✎
10:06
|
Измерения, вид расчета - все точно совпадает. (документ создавал копированием, правил периоды регистрации и действия)
|
|||
28
Пуд
13.10.08
✎
10:12
|
(27) Блин,шайтан!У себя делаю-нету дополнения(((.Главное помню-было такое где-то,причем объяснялось в чем затык.
|
|||
29
Said_We
13.10.08
✎
10:12
|
А что 8.х вид расчета научился вытеснять сам себя?
Дополнение получается при вытеснении. Нет вытеснения - откуда возьмется дополнение? |
|||
30
zag2art
13.10.08
✎
10:19
|
(29) Я вот тоже об этом в (0) размышляю, хотя все еще надеюсь.
Весь прикол в том, что (0) это из задания Специалист 8.1 по платформе, а там, насколько я понимаю, на 4 часа и так суеты хватает, чтобы еще и реализовывать свой механизм сторнирования... Короче надеюсь, что все-же можно обойтись малыми силами |
|||
31
Пуд
13.10.08
✎
10:21
|
(30) Насколько я знаю - непосредственно сторнировать не нужно,нужно на экзамене только получить записи дополнения.
|
|||
32
zag2art
13.10.08
✎
10:23
|
В задании сказано дословно "необходимо предусмотреть возможность изменения начисленного оклада задним числом" - что бы это могло означать... Можт я действительно неверо понимаю что от меня требуют
|
|||
33
Said_We
13.10.08
✎
10:26
|
(32) Это и есть ввести пересчет оклада. Потом получить таблицу пересчетов и пересчитать зависимые от оклада записи. Вспомнить что ВР из дополнительнога плана видов расчетов не зависит от периода действия и что в таблицу перерасчета не попадут они. :-)) И т.д.
|
|||
34
Пуд
13.10.08
✎
10:29
|
(32) Ну в этом случае,как я понимаю,нужно вводить размер оклада 5000 и ставить флажок сторно,а потом еще одну строку с окладом 8000 и проводить.
Неужели в типовой ЗУП такие же механизмы...Как-то это не красиво |
|||
35
zag2art
13.10.08
✎
10:32
|
(33) Можно поподробнее, сходу не въехал, как это будет выглядеть. Это как-то соотносится с (10)?
|
|||
36
Пуд
13.10.08
✎
10:45
|
(33) Да,можно для тормозящих пояснить?(себя имею ввиду,если что))
|
|||
37
Cheater
13.10.08
✎
10:53
|
(33) С пересчетом согласен, нужно делать пересчет при изменении базового вида расчета или ввода вытесняющих. Но как в данном случае изменить оклад за предыдущий период? Вводить запись с разницей от предыдущего начисления оклада или сторнировать предыдущее начисление и начислять по новой?
|
|||
38
Пуд
13.10.08
✎
11:01
|
(37) Мне кажется нужно сторнировать старую...
|
|||
39
Пуд
13.10.08
✎
11:07
|
Ну что,никто не может объяснить,как по умному-то?Что никого нет,кто в ЗУПе работает???
|
|||
40
zag2art
13.10.08
✎
11:15
|
Да уж, я в сомнениях. Реализовывать любой механизм более 20-30 строчек думаю времени просто не хватит....
Вопрос так и остался не отвеченным пока. Можт есть еще варианты? |
|||
41
Cheater
13.10.08
✎
11:23
|
Может спросить у тех, кто сдал?
|
|||
42
Пуд
13.10.08
✎
11:28
|
(41) Да вот они молчат чего-то....
|
|||
43
Said_We
13.10.08
✎
11:51
|
(39) А вы пробовали перерасчет ввести в ЗиУП?
|
|||
44
Said_We
13.10.08
✎
12:02
|
Делается он только по документу - путем заполнения всех тех же строк но с признаком сторно, плюс те записи, которые должны быть.
|
|||
45
Said_We
13.10.08
✎
12:04
|
Правда не все строки из-документа попадают. Но это уже конкретная реализация в ЗиУП.
|
|||
46
Megas
13.10.08
✎
12:10
|
(41) Я сдал , помю только что проблемм у меня небыло =) и писал точно не так!
Когда получал дополнения то запускал процедурину где всё расчитываю , она мне считала сторно |
|||
47
Пуд
13.10.08
✎
12:37
|
(43) Нет,не пробовал,потому и интересуюсь
|
|||
48
Said_We
13.10.08
✎
12:48
|
(47) Ну так введи и посмотри. Сразу захочется глянуть в код на кнопку заполнить.
|
|||
49
Cheater
13.10.08
✎
13:00
|
(46) Не понял. Ты использовал ПолучитьДополнение()?
|
|||
50
Said_We
13.10.08
✎
14:01
|
(49) Объясни. Зачем использовать дополнение при пересчете?
Вот когда сам расчет идет, то дополнение надо использовать, а то вдруг введенный новый оклад кого вытеснил :-))) и это вытесненное тоже надо пересчитать... Не надо путать дополнение и пересчет. Это же разные вещи. |
|||
51
Пуд
13.10.08
✎
14:02
|
(50) Так как же сделать правильно перерасчет?Какова последовательность действий?
|
|||
52
Cheater
13.10.08
✎
14:04
|
(50) я где-то в (49) говорил про пересчет? Мне интересно как он реализовал сторно оклада - с использованием метода ПолучитьДополнение() или без.
|
|||
53
Said_We
13.10.08
✎
14:14
|
(51) Вам как в ЗиУП или как можно сделать?
|
|||
54
Пуд
13.10.08
✎
14:22
|
(53) Как можно и как правильно делать.
|
|||
55
Пуд
13.10.08
✎
14:22
|
+54 Просто что-то пока мутно насчет этого....
|
|||
56
Пуд
13.10.08
✎
14:26
|
+55 в голове...
|
|||
57
zag2art
13.10.08
✎
15:00
|
(53) Нам как в Зупе и как лучше всего сделать на экзамене в условиях ограниченного времени.
|
|||
58
Said_We
13.10.08
✎
15:17
|
(56)
Ввести перерасчет - необходимо отсторнировать то что, необходимо, т.е. чем вызван перерасчет. Если это изменение оклада, то это естественно сам оклад и все что от него зависит. Для этого чисто технически пишут процедуру заполнения. Никакого получения дополнения тут не нужно. Т.е. теоретически можно (и это дописывалось в типовую) можно пересчитать только одного сотрудника и перезаполнение не по документу, а просто ввести перерасчет за перерасчитываемый период по произвольному списку соттрудников... и т.д. Но как известно типовую лудше не менять... :-)) Да и возможно этого не нужно в данном случае. Иногда изменяются не записи в регистре расчетов, а справочная информация от которой зависит расчет. Вот тут иногда, и полезно вводить перерасчет по группе сотрудников, а не по некому документу начисления в целом. Дополнение необходимо получать во время процедуры расчета. При начислении отпуска или БЛ или других вытесняющих ВР это понятно... и при их пересчете. Т.е. захотели Вы пересчитать отпуск или БЛ и ввели документ исправление. При этом может понадобиться отсторнировать часть оклада, из-за того что период увеличился - это сразу документ БЛ или отпуска и сделает. Если период наоборот уменьшился, то необходимо наоборот доначислить оклад и пересчитать все что зависит от оклада. Т.е. в этом случае, необходимо что бы в таблицу пересчетов попал оклад и все что от него зависит..... |
|||
59
Пуд
13.10.08
✎
15:20
|
(58) Ну как это делается, фактически?
>>Если период наоборот уменьшился, то необходимо наоборот доначислить оклад и >>пересчитать все что зависит от оклада. Как тут нужно действовать?Полностью отсторнировать весь оклад за прошлый период и начислить в нужном размере или отсторнировать часть оклада,чтобы общий результат был верный(до нужной суммы)?Какой применяется подход? |
|||
60
Said_We
13.10.08
✎
15:27
|
(57) ИМХО. В ЗиУП проще прописать заполнение документа по документу изменения окладов. Т.е. взять от туда список сотрудников который, необходимо пересчитать и период за который необходимо пересчитать.
Заполнить все по основным и дополнительным начислениям (не расчитываемых по среднему заработку) что было. Можно ориентироваться что было введено документом вида начисление ЗП. Так проще, но не совсем верно. Можно и удержания и НДФЛ пересчитать, но это уже на сколько глубоко рисовать...., т.е. учитывать что может пересчитывается прошлый налоговый период или нет... и т.д. :-))) В общем заолняете список начислений с признаком сторно. Далее вводите список всех плановых начислений которые необходимы в пересчитываемом периоде. В принципе взя загвоздка и состоит в том что пересчитать надо не только то что вводилось документом начисление ЗП из плановых, а ввобще все что зависит от оклада. Но от оклада и БЛ зависит и Отпуск и ... список можно продолжать... По каждому такому отпуску и т.д. тоже надо вводить пересчет. ИМХО. На экзамене главная цель показать что понимаешь как механихм работает и различаешь дополнение от пересчета.... В типовом решении пересчет реализован .... ну очень долго он вообше не был реализован, так что.... сильно больших и глубоких реализаций вряд ли потребуется. |
|||
61
zag2art
13.10.08
✎
15:32
|
(61) "сильно больших и глубоких реализаций вряд ли потребуется" , мне сейчас конкретно и точно нужно знать, что от меня могут потребовать и как это реализовать.
Я так понимаю, чтобы пересчитать мой оклад в (0) мне нужно вручную ввести сторно за прошлый месяц, новый оклад за прошлый месяц и добавить в таблицу перерасчетов все записи, которые зависят от оклада за прошлый месяц? так? |
|||
62
Said_We
13.10.08
✎
15:33
|
(59) Пересчет в 8.х подразумевает полное сторно и новое начисление.
Есть проблемы с тем когда у сторно записи совпадает период регистрации и период действия. Но это через несколько лет поправят. Ранее в 8.0 неправильно учитывалась такая запись в фактическом периоде действия и в данных графика, если период действия был больше или равен периоду регистрации. В 8.1 если равны, а если больше то уже гуд. Скоро (пару лет) совсем условие уберут в запросе и тогда совсем будет гуд. :-)) ИМХО если есть запись в регистре расчетов и она активна, то она должна везде во всех таблицах виртуальных учавствовать. А так получается запись есть, активна, но не влияет... :-)) |
|||
63
Said_We
13.10.08
✎
15:35
|
(61) "мне сейчас конкретно и точно нужно знать, что от меня могут потребовать и как это реализовать" - это спрашивать надо у организаторов экзамена, так как условия меняются. Те кто сдавал пару лет назад ЗиУП не чего не знали и не показывали про компановку данных, а сейчас это типа обязательно....
Условия постоянно меняются. |
|||
64
Пуд
13.10.08
✎
15:36
|
Ужас...Надо обратиться к Марксу в виде "Проф.разработки"))
|
|||
65
zag2art
13.10.08
✎
15:38
|
(64) Там по-моему не очень подробно про сторно. Даже вроде нет описания модели получения фактического периода действия сторно записей...
|
|||
66
zag2art
13.10.08
✎
15:40
|
У меня 29-го экзамен, чувствую, что если никто нормально не подскажет - пройду мимо этой темы... Вряд-ли 1Ц мне номально все объяснит...
|
|||
67
Пуд
13.10.08
✎
15:40
|
(65) есть...страница 320
|
|||
68
Cheater
13.10.08
✎
15:40
|
(64) Всё равно остаются некоторые вопросы...
|
|||
69
Пуд
13.10.08
✎
15:43
|
(68) Это точно...
|
|||
70
zag2art
13.10.08
✎
15:46
|
(67) Нет. Там про влияние сторно-записей на фактический период других записей, а про формирование фактического периода действия самой сторно-записи не разъяснено.
(68) Куча непоняток на самом деле. Вроде во всем врубаюсь, все понимаю, но что именно реализовывать на экзамене не представляю. Просто, если все делать как положено - не уложишься в экзаменационное время..... :( |
|||
71
Cheater
13.10.08
✎
15:52
|
(70) Главное не наделать грубых ошибок... А так да, сам читаю "профессиональную разработку", многие вопросы освещены в общем, но остаются ньюансы )))
|
|||
72
zag2art
13.10.08
✎
15:55
|
(71) Именно. Мне для того, чтобы разобраться с расчетами пришлось перелапатить книжки 4... и все-равно есть вопросы, на которые в них нет ответов...
|
|||
73
Cheater
13.10.08
✎
15:57
|
(72) еще от релизов платформы некоторые моменты зависят. Нормально сдашь, не дрейфь
|
|||
74
zag2art
13.10.08
✎
15:57
|
Где еще можно спросить???
|
|||
75
zag2art
13.10.08
✎
15:58
|
(73) Сдам-то полюбому нормально, просто хочется "полностью" разобраться, чтобы потом больше к этому не возвращаться
|
|||
76
Cheater
13.10.08
✎
16:04
|
(75) Как разберешься, отпишись тут
|
|||
77
Пуд
13.10.08
✎
16:09
|
(76)+1
|
|||
78
zag2art
13.10.08
✎
16:16
|
У меня, кстати, возникла такая вот (довольно-извращенная идея): прежде всего нам нужно получить набор сторно записей (как если бы нам его дал метод ПолучитьДополнение). Так вот идея в том, чтобы в ОбработкеПроведения, создать новый вид расчета, вытесняющий оклад, по нему получить дополнение, создать набор сторно записай, а сам вид расчета удалить после этого...
|
|||
79
zag2art
13.10.08
✎
16:17
|
Сторно-записи естественно проводить по виду расчета Оклад...
|
|||
80
Пуд
13.10.08
✎
16:18
|
(78) Я,конечно,не знаток,но,по моему за такое на экзамене можно и по шее схлопотать(((
|
|||
81
zag2art
13.10.08
✎
16:21
|
(80) :))) да уж. Эт я от безысходности рассуждаю. Просто в общем случае записей оклада за прошлый месяц может быть штук тридцать, причем все с разными ставками.... Чтобы их сторнировать на правильную сумму нужно нехило извратиться...
А (78) естественно дальше рассуждений не пойдет. На экзамене я ничего не собираюсь использовать чего не встречал, и что не было рекомендовано |
|||
82
Cheater
13.10.08
✎
16:22
|
(78) А почему тогда не создать набор записей по виду расчета, вытесняющего оклад, получить набор записей через получить дополнение, очистить набор записей документа, создать записи по ПолучитьДополнение(), сделать записи по окладу?
|
|||
83
zag2art
13.10.08
✎
16:25
|
(82) в общем случае, такого вида расчетов может и не быть...
|
|||
84
Cheater
13.10.08
✎
16:28
|
(83) может
|
|||
85
Пуд
13.10.08
✎
16:30
|
(78) Я бы сделал так - получил бы записи РС по данному виду за период действия,на который вводится, сторнировал бы их с обратным знаком,сделал правильные движения,потом бы получил дополнение,чтоб выяснить какие зависящие от оклада нужно пересчитать и далее их перерассчитал...Ну это так - мысли вслух
|
|||
86
zag2art
13.10.08
✎
16:36
|
(85) у тебя в общем случае может быть частичное пересечение того, что ты хочешь сторнировать, и сторно-записи, поэтому просто поменять знак можно не всегда иногда придется пересчитывать на основе ДанныхГрафика с учетом ставок оклада соответствующих записей...
|
|||
87
Said_We
13.10.08
✎
16:41
|
(86) Сторно записи не надо сторнировать... :-)
|
|||
88
Said_We
13.10.08
✎
16:43
|
Сторно-сторно не бывает.
Когда нужно отменить сторно прошлого периода, то просто вводят новую запись и не более того. |
|||
89
zag2art
13.10.08
✎
16:43
|
(87) может я неясно выразился, но никакие сторно-записи, я сторнировать не собираюсь. Только записи оклада за прошлый месяц
|
|||
90
Пуд
13.10.08
✎
16:45
|
(88) А у тебя нет примерного кода?
|
|||
91
Said_We
13.10.08
✎
17:14
|
На счет получения дополнения, то еще раз повторюсь оно нужно уже при расчете и оно обязательно при расчете, но не при заполнении документа перерасчета.
1. Выбор периода и заполнения списка по кому (список сотрудников, документ конкретный и т.д.) пересчитать. 2. Заполнение документа. Добавление сторно-записей по списку. 3. Добавление записей не сторно, т.е. то что должно быть. 4. Расчет. Получение дополнения в том числе. 5. В результате в таблицу пересчета попадают записи, которые должны быть пересчитаны. А тут уже типовой пересчет и писать не чего не надо. Если типовой пересчет чему-то не соответствует, то это уже проблемы типового пересчета. Цениться минимальные изменения и максимальное использование типовых механизмов. И опятьже задача пересчитать только оклад сводится к заполнению только оклада, а все остальное появиться в таблице пересчета. ИМХО. При расчете в типовом решении ЗиУП есть проблема. Но она как правило проявляется при пересчете отпуска, БЛ и т.д. Т.е. сторно-записи, которые получены за счет пересчета и те сторно записи, которые получены за счет дополнения при расчете должны себя вести по разному. А именно. Строно записи полученные за счет пересчета не должны расчитываться. Записи которые получены дополнением расчитываться должны. В ЗиУП этого нет. Но это отдельный разговор к сертификации вряд ли имеет отношение. (90) Пример кода есть в ЗиУП. Там же есть заполнение документа по перерасчитываемому документу. |
|||
92
zag2art
13.10.08
✎
17:17
|
(91) Давай определимся с терминологией. Что ты называешь сторно-записью пересчета?
|
|||
93
Said_We
13.10.08
✎
17:21
|
(92) Это записи - добавленные в момент заполнения документа. Не из дополнения.
Т.е. в приведенных условиях в (0) это записи с окладом введенные в прошлых периодах, которые теперь необходимо пересчитать. В ЗиУП в документе начисление ЗП появляются такие строки в момен нажатия на кнопку заполнить при выбранном пересчитываемом документе. |
|||
94
zag2art
13.10.08
✎
17:25
|
(93) в (0) это сторно-запись на -5000 с периодом регистрации 01.02.2007?
|
|||
95
Said_We
13.10.08
✎
17:33
|
(94) Да.
А если совсем не выходить из рамок задания, то Вам дополнение совсем не понадобиться. 1. Первая причина в том что оклад не вытесняет никого. 2. Вторая причина в том что даже если бы вытеснял, то получение дополнения и т.д. уже прописано в расчете самого документа начисление ЗП. Если реализовывать более сложные межанизмы связанные с пересчетом отпуска и БЛ, отзыва из отпуска, больничный во время отпуска и т.д. То как раз тогда и понадобилось бы отличать записи сторно полученные дополнением и пересчетом в момент расчета. Я это описал не с целью кого-то запутать... Просто писал усё... Наверное не надо было... |
|||
96
zag2art
13.10.08
✎
17:39
|
(96) Да ладно, все нормально, потихоньку всё проясняется. Теперь к самому заданию. У меня оклад, и штаф (процентом от оклада за предыдущий месяц). Будем считать что оклад и штаф за месяц можно начислить только один раз.
Итак, чтобы задним чилом откорриектировать оклад - мне при начислении нового оклада 8000 ( из (0)) нужна сторно запись на -5000. Отсюда возникает вопрос будут ли проблемы со штрафом в месяце 02.2007? |
|||
97
Пуд
13.10.08
✎
17:42
|
(96) А какие могут быть проблемы?Если сторнировать оклад,то потом,для штрафа,как раз нужно получить дополнение?Разве не так?
|
|||
98
zag2art
13.10.08
✎
17:42
|
Да, еще в задании нужно сделать только отчет по перерасчетам, сами перерасчеты делать не нужно...
|
|||
99
zag2art
13.10.08
✎
17:44
|
(97) Штраф за февраль использует данные оклада за январь. Вот и вопрос, если я задним числом исправлю оклад за январь, скажется ли это на февральском штрафе... Короче говоря, когда мы будем получать базу для штрафа, будут ли правильно учтены сторно и оклад задним числом?
|
|||
100
Альберт_Уфа
13.10.08
✎
17:45
|
(100)
|
|||
101
Said_We
13.10.08
✎
17:47
|
(97) Нет не так.
База умеет браться только по периоду действия. Следовательно в таблице пересчета надо показать что надо пересчитать штраф за январь в феврале. |
|||
102
Пуд
13.10.08
✎
17:48
|
(99) Так перед тем,как получать базу для штрафа мы должны будем правильно рассчитать оклад,те сторнировать и ввести верный. И все будет в ажуре
|
|||
103
Said_We
13.10.08
✎
17:49
|
(97) "получить дополнение" - а что штраф вытесняет оклад. Если нет, то при чем здесь дополнение?
|
|||
104
Пуд
13.10.08
✎
17:49
|
Вот и перевалила ветка за 100,а ясности - мало.
(97) Таблица пересчета - мы ее сами получим или методом ПолучитьДополнение()? |
|||
105
Пуд
13.10.08
✎
17:50
|
(103) Так дополнение что - только для вытесняющих видов?
|
|||
106
Said_We
13.10.08
✎
17:54
|
(104) УУУУУУ....
Таблица пересчета, не имеет отношения к дополнению совсем.... ВЫБРАТЬ ОсновныеНачисленияПерерасчет.ОбъектПерерасчета, ОсновныеНачисленияПерерасчет.ВидРасчета, ОсновныеНачисленияПерерасчет.ФизЛицо ИЗ РегистрРасчета.ОсновныеНачисления.ПерерасчетОсновныхНачислений КАК ОсновныеНачисленияПерерасчет Только имя регистра расчета с ЗиУП по моему не сходится... |
|||
107
Said_We
13.10.08
✎
17:55
|
(105) Дополнение только для учета вытеснения и нужно. И более не для чего.
|
|||
108
Пуд
13.10.08
✎
17:58
|
(107) Спасибо,видно,я совсем запутался(((
|
|||
109
Said_We
13.10.08
✎
18:12
|
Самое главное вовремя распутаться.
|
|||
110
Cheater
13.10.08
✎
18:27
|
(105) ПолучитьДополнение() только для сторно записей, есть еще Перерасчеты, см. стр. 354 в "Проф разработке"
|
|||
111
Пуд
14.10.08
✎
08:59
|
(110) Вчера на ночь уже перечитал...Просто не использую совсем расчеты,забываю быстро...
|
|||
112
zag2art
14.10.08
✎
09:08
|
Присяжные заседатели, заседание продолжается
|
|||
113
Пуд
14.10.08
✎
09:18
|
(112) Есть новости?:)Как решил делать в итоге?
|
|||
114
zag2art
14.10.08
✎
09:21
|
Короче, так-как штраф считается с оклада за предыдущий месяц - вполне достаточно будет сторнировать и переначислить оклад.
Если бы штаф считался от оклада за текущий меся - тогда нужно было бы еще и сторнировать и пересчитывать его... А так все тип-топ. Код будет примерно по такой схеме: Запросом получаем запись с окладом за прошлый месяц, на ее основании делаем сторно запись, далее вводим запись с новым окладом... Вопрос, думаю, закрыт |
|||
115
Cheater
14.10.08
✎
09:24
|
(114) Так у тебя оклад за прошлый месяц увеличивается, т.к. период действия у него прошлый месяц )))
|
|||
116
zag2art
14.10.08
✎
09:27
|
(114) Получается, записи с периодом регистрации 01.01.2007 будут думать, что оклад 5000 - и это правильно, так-как месяц уже закрыт, зато в феврале 2007 мы наслим на 3000 больше (8000-5000)... все корректно. И февральский штраф будет правильно считаться (от 8000)
|
|||
117
zag2art
14.10.08
✎
09:27
|
(116) для (115)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |