|
Оценочные обязательства ЗУП25 в СКД - как лучше сделать? | ☑ | ||
---|---|---|---|---|
0
lexushka
09.09.16
✎
10:34
|
Добрый день
Понадобился мне такой отчет Повозившись в коде в итоге я получаю отчет по сотрудникам в СКД а средний заработок и остаток отпусков получаю неизящно: для среднего заработка создаю в транзакции документ начисленеи одновневного отпуска, записываю его, рассчитываю механизмом 1с, возвращаю результат в СКД и отменюя транзакцию остатки отпусков примерно так же, только без создания документа Работает есесно небыстро… Но за то цифры типа такие же как бух сам получит из своих документов И было бы полбеды Так теперь бы еще надо эти два значения умножать между собой для получения оценочного обязательства А в вычисляемых полях в СКД нельзя использовать результаты других вычисляемых полей… Простой вариянт опять вызвать эти две мои функции и пусть этот небыстрый отчет работает еще в два раза медленнее… Либо результат работы моих функций сохранять в Хранилище данных, или в Константах и в третьей функции их оттуда считывать Вопросы: 1 есть ли другие решения по вычислению остатка отпусков и среднего заработка, кроме использованного мною неизящного (важно цифры должны быть ээ верные) 2 если другого способа нет как мне побыстрее найти произведении двух моих вычисляемых полей? Да ЗУП25 из последних, конечно спасибо |
|||
1
Alexandr_U1982
09.09.16
✎
10:43
|
Зачем такие сложности с вычисляемыми полями? Выполнить все расчеты в коде, а в СКД результаты расчетов передайте через внешние наборы данных
ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("РезультатыРасчета", ПосчитатьВсеЧтоНужно()); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); и т.д. |
|||
2
Alexandr_U1982
09.09.16
✎
10:48
|
Альтернативное решение:
Для расчета оценочных обязательств создать документ и регистр. Все тяжелые расчеты будут делаться в документе, результаты расчетов будут записываться в регистр. Отчет будет только выводить результаты расчетов из регистра. На одном проекте делал таким способом. |
|||
3
lexushka
09.09.16
✎
11:02
|
на п1
как я себе это видел - у них любимый отчет на СКД по сотрудникам, который они настраивают как их в голову придет я из этого отчета получаю сотрудника, дату, организацию и вычисляю недостающее… а вы предлагаете перехватывтаь настройки отчета перед его формированием и вычислить недостающие данные и уже после этого формировать отчет на СКД с передачей ему нужных мне полей так? |
|||
4
lexushka
09.09.16
✎
11:03
|
на п2
изначально хотели отчет, про документ я не понял :( |
|||
5
Alexandr_U1982
09.09.16
✎
11:29
|
(3)Да так. Если это будет возможно. Нужно использовать события "ПриКомпоновкеРезультата" модуля отчета.
|
|||
6
lexushka
09.09.16
✎
11:33
|
(5) ох, надо таки пройти фаритовские курсы по СКД…
|
|||
7
Alexandr_U1982
09.09.16
✎
11:44
|
(4)Можно создать новый документ «Расчет оценочных обязательств». Этот документ нужно будет формировать после начисления зарплаты. Документ должен будет заполняться по всем сотрудникам, для каждого сотрудника будет рассчитываться средний заработок, также для каждого сотрудника будут рассчитываться остатки отпусков.
Для прозрачности проверки расчета остатка отпусков, информацию об отпусках можно выводить в виде: - Вид отпуска, - Остаток на начало периода, - Израсходовано дней отпуска, - Заработано дней отпуска, - Остаток на конец периода. Для прозрачности проверки расчета оценочных обязательств, информацию о них можно выводить в виде: - Оценочные обязательства на начало периода, - «Израсходованные» обязательства, - «Заработанные» обязательства, - Оценочные обязательства на конец периода. Документ будет «тяжелым» и рассчитываться будет долго, но зато результаты всех расчетов потом можно будет сложить в новый регистр накопления «Оценочные обязательства». Отчет будет просто читать уже рассчитанную информацию из регистра. За счет этого отчет будет работать быстро. Вот как-то так в общих словах... |
|||
8
Alexandr_U1982
09.09.16
✎
11:46
|
+(7)Скорее нужно использовать регистр сведений, а не накопления.
|
|||
9
supersonic
09.09.16
✎
12:36
|
+(7) Смысл тот же, но реализовал несколько иначе:
Вместо документа использовал обработку, которая заполняла регистры. Потом отчет формировался по их данным. Поначалу тоже использовал только независимый рс. Но потом были вопросы по конечному результату, поэтому решил использовать два регистра. независимый рс и рн (остатки). Были такие учетные ситуации, когда у сотрудника получался остаток отпуска - ноль, а резерв есть...вот тут мне помогал уже рн. рс - расчет по остаткам отпусков на дату. рн - движения за месяц. Кроме того, это позволило выводить абсолютно всех сотрудников в отчет, в том числе и уволенных (мне конкретно вынесли этим мозги). |
|||
10
Homer
09.09.16
✎
14:01
|
У меня сделана на отчете СКД без создания документов)) Но шаг влево шаг право и может не пойти средний заработок (выборочно у всех идет, но переводческий находим у кого на рубли не идет)
формирование отчета 3-5 минут (>500 чел). В другой конторе дольше делается, но у них сервак слабый, а сотрудников больше)) |
|||
11
lexushka
09.09.16
✎
14:06
|
(10) вы сами в запросе данные вычисляете?
|
|||
12
Homer
09.09.16
✎
14:09
|
(11) Средней в запросе, Остатки отпусков в коде. потом таблицей передаю СКД
|
|||
13
lexushka
09.09.16
✎
14:10
|
(12) я как-то писал код который остатки в запросе вычислял, если его подпилить в плане отпуска за свой счет… :)
|
|||
14
Homer
09.09.16
✎
14:13
|
на инфостарте есть уже такие обработки как ты хочешь!
|
|||
15
dimaldinho
09.09.16
✎
14:27
|
(0) Вариантов много
А. Документ расчета вспомогательных данных + регистр сведений с регистратором + отчет Б. Ночное регламентное задание расчета вспомогательных данных + независимый регистр сведений + отчет В. Документ расчета оценочных обязательств + печатная форма |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |