![]() |
|
ЗУП Получения отпусков | ☑ | ||
---|---|---|---|---|
0
golem14
16.01.20
✎
13:29
|
В ЗУП 3.1 для полученя отпусков использую ОстаткиОтпусков.ОстаткиОтпусковСотрудниковНаДату(). Этот метод возвращает таблицу значений с отпусками, но они не разделены по видам отпуска. Как получить остатки отпусков сотрудников по видам отпуска, так как в отчёте "Остатки отпусков"?
|
|||
1
golem14
16.01.20
✎
13:32
|
вот в этом методе есть разбиение ОстаткиОтпусков.ОстатокОтпускаСотрудникаНаДату(), но он только по одному сотруднику.
|
|||
2
golem14
16.01.20
✎
13:36
|
У ОстаткиОтпусков.ОстаткиОтпусковСотрудниковНаДату() параметры такие:
// Функция рассчитывает сводные остатки отпусков для списка сотрудников. Остаток рассчитывается на конец дня. // // Параметры: // Сотрудники - список сотрудников; // ДатаОстатков - дата, на которую необходимо получить остаток. Если не указана, используется текущая дата. // ВидыОтпусков - массив элементов справочника ВидыОтпусков, по которым необходимы остатки, если не указано // остатки получаются по всем видам отпусков. // пробовал перечислить нужные виды в ВидыОтпусков, но это работает просто как отбор. |
|||
3
dka80
16.01.20
✎
13:40
|
Функция ОстаткиОтпусковСотрудниковНаДату(Сотрудники, ДатаОстатков = '00010101', ВидыОтпусков = Неопределено) Экспорт
Если Не ЗначениеЗаполнено(ДатаОстатков) Тогда ДатаОстатков = НачалоДня(ТекущаяДатаСеанса()); КонецЕсли; СтруктураПараметров = ОстаткиОтпусков.ОписаниеПараметровДляОстаткиОтпусков(); СтруктураПараметров.Сотрудники = Сотрудники; СтруктураПараметров.ДатаОстатков = НачалоДня(ДатаОстатков); СтруктураПараметров.ВидыОтпусков = ВидыОтпусков; Результат = ОстаткиОтпусков.ОстаткиОтпусков(СтруктураПараметров); СтруктураОстатковОтпусков = РазложитьТаблицуОстатковОтпусков(Результат); СводныеОстатки = СтруктураОстатковОтпусков.ОстаткиОтпусковПоВидуОтпуска; Возврат СводныеОстатки; КонецФункции |
|||
4
golem14
16.01.20
✎
13:50
|
ну в общем видимо нужно сделать свою функцию без СводныеОстатки.
|
|||
5
kzot
16.01.20
✎
13:58
|
а Функция ТаблицаОстатковОтпусков неподошла ?
|
|||
6
golem14
16.01.20
✎
14:05
|
(5) в общем модуле ОстаткиОтпусков нет такой функции ТаблицаОстатковОтпусков, что вы имеете ввиду?
|
|||
7
KnightAlone
16.01.20
✎
14:11
|
(0) о это ты хорошо написал, мне не копаться теперь. есть заявка в доке отпуска показывать число дней остатка, щас посмотрю эту функцию
|
|||
8
kzot
16.01.20
✎
14:12
|
(6) какой релиз ?
|
|||
9
golem14
16.01.20
✎
14:26
|
(8) точно в ЗУП есть такая фунция, а в ERP 2.4.8.92 нет.
|
|||
10
kzot
16.01.20
✎
14:27
|
(9) используй, там есть "ВидыОтпусков" и всё отдает.
|
|||
11
kzot
16.01.20
✎
14:29
|
(9) в ERP 2.4.8.92 подсистемы
ЗарплатаКадрыБазовая 3.1.9.252 ЗарплатаКадрыРасширенная 3.1.9.252 |
|||
12
golem14
21.01.20
✎
13:26
|
в ERP получаю остатки отпусков при помощи стандартной функции
ТаблицаОстаткиОтпусков = ОстаткиОтпусков.ТаблицаОстатковОтпусков(СтруктураПараметров); По некоторым сотрудникам нет остатка отпусков, но если проверить по отчету "Остатки отпусков" остатки есть. И самое интересное, после того как я посмотрел отчёт остатки отпусков по сотруднику, его остатки становятся видны по функции ТаблицаОстаткиОтпусков = ОстаткиОтпусков.ТаблицаОстатковОтпусков(СтруктураПараметров); Что вообще происходит в этой ЗУП? |
|||
13
golem14
21.01.20
✎
13:35
|
что это за Эффект наблюдателя: пока я не посмотрел отпуска сотрудника через отчёт я не могу их получить.
|
|||
14
Akela has missed
21.01.20
✎
13:39
|
(13) Отчет перед формированием запускает РасчетЗаработанныхОтпусков. По хорошему его всегда надо запускать перед получением таблицы остатков.
|
|||
15
kzot
21.01.20
✎
16:52
|
(13) назначение регистра сведений "Заработанные права на отпуска" вам надо разобрать чуть лучше.
|
|||
16
Homer
21.01.20
✎
17:22
|
(13) не нравится. напиши свой метод получения остатков
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |