|
ЗУП 3.1. Автоматическое создание документов. | ☑ | ||
---|---|---|---|---|
0
Антиквар
24.01.18
✎
23:44
|
Всем привет!
Кто-нибудь писал обработку по автоматическому созданию документов начислений в ЗУП 3.1.? Интересуют Разовые начисления и Материальная помощь. Мы на ЗУП 3.1 только переходим, изучаем, данные документы нужно подгружать обработкой. В ЗУП 2.5. у меня это просто делалось, здесь же вообще не могу въехать. Ну создать документы и заполнить основные значения не проблема. Но в этих документах при выборе сотрудника в табличной части до фига всего делается, а именно заполняются различные реквизиты. Например, в разовых начислениях заполняются невидимые в табличной части графики работы. А затем эти графики проводятся в регистр расчета. Наверняка они там нужны. В материальной помощи тоже много всего. И если в ЗУП 2.5 было как-то прозрачно, то тут я пытаюсь по коду следить где что заполняется, и тупик, мозгов не хватает дойти до конца. Все процедуры заполнения не экспортные. Получается только если форму документа открывать и вызывать процедуры обработки выбора каждого сотрудника например... Короче совета прошу, куда лучше копать, ибо конфа для меня незнакомая, начинаю разбираться, но пока очень тяжко. |
|||
1
SleepyHead
гуру
25.01.18
✎
07:56
|
(0) А зачем вам вообще создавать документы автоматически?
В ЗУП 3.1 есть такие возможности подбора сотрудников в документы, которых в 2.5 не было. Может быть, вам просто в документ подбирать нужно по определенным правилам? |
|||
2
Антиквар
25.01.18
✎
08:05
|
(1) Нет, дело в том, что у нас в сторонней программе это всё делается, а в ЗУП загружается. В 2.5 также было.
|
|||
3
SleepyHead
гуру
25.01.18
✎
08:07
|
(2) Я делал загрузки в назначение плановых начислений, и в разовые начисления. Да, там есть ссылки на графики и все такое, но все эти значения особо не влияют, если вы загружаете готовые суммы, которые считать вам уже не надо.
Для этого надо так настроить начисления, чтобы в их формулах не было показателей, то есть установить переключатель в положение, что результат фиксирован готовой суммой. Там, где требовалось загрузить график - подставлял график работы сотрудника, и все. |
|||
4
SleepyHead
гуру
25.01.18
✎
08:18
|
(0) Для матпомощи вам вообще нужно грузить только колонку "Начисления", и может быть, "показатели". Перед проведением прописать
ДокОБъект.ОбменДанными.Загрузка = Истина; Провести, и открыть документ как пользователю., выставить прочие параметры, все что нужно само подтянется, в том числе расчет НДФЛ, если требуется. |
|||
5
Джо-джо
25.01.18
✎
08:47
|
(2) Загружай значение показателей (один Регистр), а начисление делай Начислением зп
|
|||
6
SleepyHead
гуру
25.01.18
✎
08:51
|
(5) начисление матпомощи? Сезон вредных советов открыт!
|
|||
7
Фрэнки
25.01.18
✎
09:00
|
Не знаю вредный это будет совет или нет, но в 3.1 есть опция в настройках расчета зарплаты - Выполнять автоматический пересчет документов при их редактировании -
вероятно, что будет лучше в случае топика это отключить. Далее, просмотреть на события и обработчики, которые срабатывают при заполнении строки табличной части в интерактивном режиме. Собственно, это довольно очевидный совет. |
|||
8
Фрэнки
25.01.18
✎
09:01
|
Т.е. заполнив программно все строки, пройдя по вызовам обработчиков, в самом конце сделать вызов, который сидит под кнопкой пересчета на форме документа.
|
|||
9
SleepyHead
гуру
25.01.18
✎
09:04
|
(8) Для этого нужно делать внешнюю обработку, которая подключается к форме документа. Что-то я такое делал пару лет назад, получалось.
А у автора, насколько я понял, задача просто создать документ, заполнить и провести. Я бы не заморачивался, создал, провел бы, а потом открыл и пересчитал показатели по кнопочке. |
|||
10
Alexandr_U1982
25.01.18
✎
11:22
|
По поводу полей с графиками работы, насколько я понял, они заполняются по следующему принципу:
"ГрафикРаботы" - Если для сотрудника в месяце начисления есть табель или индивидуальный график, ставится ссылка на сотрудника; в противном случае ставится график работы по сотруднику на дату начала. "ГрафикРаботыНорма" - Если для сотрудника в месяце начисления есть индивидуальный график, ставится ссылка на сотрудника; в противном случае ставится график работы по сотруднику на дату начала. "ОбщийГрафик" - Всегда ставится график работы по сотруднику на дату начала. Есть еще такие поля: "ПериодРегистрацииВремени" - Если для сотрудника в месяце начисления есть табель или индивидуальный график, ставится месяц начисления (период регистрации); в противном случае не заполняется. "ПериодРегистрацииНормыВремени" - Если для сотрудника в месяце начисления есть индивидуальный график, ставится месяц начисления (период регистрации); в противном случае не заполняется. На что может повлиять некорректное заполнение этих полей пока не знаю, еще не разобрался. |
|||
11
mikeA
25.01.18
✎
12:10
|
(0) Дежавю какое-то.
ЗУП31 Начисление ЗП Вкратце, если допустимо заполнение документа человеком, загружайте только данные для расчёта зарплаты и настраивайте начисления. Человек будет открывать документ и нажимать кнопку Заполнить. Если же нужно полностью автоматическое создание документов тогда да, в дополнении к этому придётся копипастить процедуры из модуля формы. С этим надо повозиться, но тоже решаемо. И да, всё вышесказанное для ЗУП КОРП 3.1.1. Хотя в 3.1.5 в этом плане видимо мало что изменилось, раз до сих пор возникает этот вопрос) |
|||
12
Антиквар
25.01.18
✎
13:47
|
(3) Да, я загружаю готовые суммы, считать не надо ничего. В настройках указано как Вы и написали, фиксированной суммой.
Но боюсь, что из-за отсутствия в регистре расчета тех же графиков например, в будущем где-то вылезет проблема. |
|||
13
Антиквар
25.01.18
✎
13:51
|
(4) Не понял, что имеете ввиду вот этим:
"Провести, и открыть документ как пользователю., выставить прочие параметры, все что нужно само подтянется, в том числе расчет НДФЛ, если требуется" По матпомощи я решил создавать программно документ, после чего открывать на экране его форму, и тогда я думаю будут доступны все процедуры и функции формы, которые я также программно смогу вызвать через эту открытую форму, после чего форму закрыть. Вы про это имели ввиду? |
|||
14
Антиквар
25.01.18
✎
13:55
|
(8) "Т.е. заполнив программно все строки, пройдя по вызовам обработчиков, в самом конце сделать вызов, который сидит под кнопкой пересчета на форме документа."
В том и проблема, я надеялся что у этих документов на кнопках пересчета висят какие-нибудь экспортные процедуры (ну не обязательно сразу на кнопке, ну чтоб потом хоть вызывались). Но к сожалению там обычные процедуры, в модулях самих форм. Т.е. для возможности их программного вызова надо открыть на экране саму форму. Ну я так думаю, вроде делал такое когда-то. Правда не с управляемыми формами это было. |
|||
15
Антиквар
25.01.18
✎
14:02
|
(9) Можете пояснить это: "Для этого нужно делать внешнюю обработку, которая подключается к форме документа"
Я внешней обработкой и гружу. Я выше в сообщениях описал, как хочу сделать, должно ведь сработать? "А у автора, насколько я понял, задача просто создать документ, заполнить и провести." Да, задача такая, даже проводить не надо, расчетчики проведут. Просто очень большие списки подгружаются, чтоб вручную не вносить. "Я бы не заморачивался, создал, провел бы, а потом открыл и пересчитал показатели по кнопочке." Не получится. Например, я проверял, что в разовых начислениях при пересчете документа и проведении заполняется только один график из трех. А все три заполняются только при выборе сотрудника. А в мат. помощи почему-то вообще нет пересчета. Я убрал в настройках автоматический пересчет документов, кнопка Пересчитать в мат.помощи появилась, но всегда недоступна. Не разбирался пока почему так. По идее в мат. помощи достаточно перевыбрать вид начисления в шапке документа, и строки пересчитываются (и код вычета, и сумма вычета). Но грузить будут расчетчики, а они ничего перевыбирать не будут, зайдут, глазами окинут список, и проведут. |
|||
16
Антиквар
25.01.18
✎
14:04
|
(10) спасибо за полезную инфу
|
|||
17
Антиквар
25.01.18
✎
14:14
|
(11) Действительно похожая тема, но не моя. Начисление ЗП у нас создается ручками в ЗУПе, ни откуда не грузится. Ну и вопросы у человека несколько другие были.
|
|||
18
Фрэнки
25.01.18
✎
15:06
|
(15) помимо просто Пересчитать, нужно заполнять документ последовательно и отловить отладчиком, замером производительности... как угодно протрассировать работу. В конце, по кнопке Пересчитать должно сделать не только вызов внутренних процедур формы, а вытянется кое-что из общих модулей. И вытаскивать это должен действительно расчетчик, а не оператор вводимых данных.
И когда давал совет, то имел ввиду не использование формы буквально, а переписывание к себе нужных(!) строчек кода в свой модуль. Но вот думаю сейчас, что придется собственную форму вам делать, в которой выполниться весь необходимый код в контексте Клиента и в контексте Сервера в верной последовательности. |
|||
19
bolobol
25.01.18
✎
15:41
|
И так поработает до ближайшего обновления и - снова всё копипастить.
|
|||
20
Антиквар
25.01.18
✎
15:50
|
(18) Не понял про отладчик и замер производительности...
(19) согласен. Мне кажется тут лучше форму открывать и вызывать её событие, чтобы быть уверенным, что после нового релиза всё будет работать. |
|||
21
bolobol
25.01.18
✎
16:00
|
(20) Хм... А такое возможно?
|
|||
22
Вафель
25.01.18
✎
16:02
|
(20) а как все это в рег задание потом запихать?
|
|||
23
Alexandr_U1982
25.01.18
✎
16:04
|
(21)Вся проблема в том, что в модуле формы у некоторых процедур/функций не хватает слова "Экспорт".
|
|||
24
Alexandr_U1982
25.01.18
✎
16:05
|
(22)В какое рег.задание?
|
|||
25
Фрэнки
25.01.18
✎
16:41
|
(19) если структурно назначение полей в табчасти дока не поменяется, то ничего там не придется копипастить. Я думал, что идея прикрутить к этой теме расширение как-то сама собой придет в голову.
|
|||
26
Вафель
25.01.18
✎
16:48
|
(23) сделай расширение и добавь где нужно
|
|||
27
Мыш
25.01.18
✎
16:51
|
(0) Сделай обработку заполнения табличной части.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |