Добрый день,
ЗУП 3.1.30.57
Сотрудник Гольд Лев Самуилович (позиция штатного расписания: Директор /Руководство/) в отпуске с освобождением ставки на период отсутствия.
На время его отсутствия переведен (временный перевод) сотрудник Симутина Елена Францевна (до перевода занимала позицию штатного расписания: Главный бухгалтер /Бухгалтерия/).
В отчете Заполненность штатного расписания позиция штатного расписания Главный бухгалтер /Бухгалтерия/ становится Временно освобожденной кадровым переводом, Вакантной и Свободной.
Подскажите, почему может быть такая логика (позиция становится вакантной)? Или эта ошибка программы?
Ведь если позиция свободна, на нее может быть принят/переведен другой сотрудник или позиция может быть закрыта. Тогда сотруднику после окончания перевода некуда будет вернуться?
Есть ли какой-то показатель, который отвечает за временно освобожденную кадровым переводом, чтобы можно было его учесть в формуле Свободно (это пользовательское поле)?
ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Занята временно], 0) — ЕстьNull([Подработка постоянно], 0) — ЕстьNull([Подработка временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0) — ЕстьNull(Забронирована, 0)
Может быть есть какой-то другой способ не учитывать временно освобожденную кадровым переводом в Свободно?
Скрины — во вложении
Все комментарии (47)
Комментарии закрыты.
Приложение
Добрый день.
Логика программы, в моем понимании, в том, что в случае временного перевода, например, на период отпуска по уходу за ребенком, ставка будет временно освобождена не один год. И по сути она вакантна — на время такого перевода мы можем принять нового сотрудника по срочному трудовому договору.
В ЗУП есть механизм проверки соответствия кадровых документов штатному расписанию. Он включается в разделе Настройка — Кадровый учет — Штатное расписание — Настройка штатного расписания.
Если включить эту проверку и в период временного освобождения ставки попытаться принять на постоянную работу сотрудника, программа выдаст предупреждение, что кадровый документ не соответствует штатному расписанию. Тоже самое произойдет и с кадровым переводом, период которого выйдет за границы временного освобождения ставки.
Добрый день, Анна, понятно.
Можно как-то исключить должность, с которой был перевод из свободных ставок?
Есть ли какой-то показатель, который отвечает за временно освобожденную кадровым переводом, чтобы можно было его учесть в формуле Свободно (это пользовательское поле)?
ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Занята временно], 0) — ЕстьNull([Подработка постоянно], 0) — ЕстьNull([Подработка временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0) — ЕстьNull(Забронирована, 0)
Может быть есть какой-то другой способ не учитывать временно освобожденную кадровым переводом в Свободно?
Задача критична, нужно найти способ исключения должности при временных переводах из свободных ставок…
Не хотелось бы вмешиваться в конфигурацию программы и «ломать» типовой алгоритм.
Поэтому надо как-то настройками сделать. Если показателя нет такого (по временно осв кадровым переводом), чтобы включить в формулу, может доп реквизит ввести (типа временный перевод)? но тогда как его учесть в формуле?
Причем статус позиции Временно освобождена кадровым переводом, видимо, не так давно был введен…
Если в формулу добавить: — ЕстьNull([Временно освобождена (кадровым переводом)], 0)
ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Занята временно], 0) — ЕстьNull([Подработка постоянно], 0) — ЕстьNull([Подработка временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0) — ЕстьNull(Забронирована, 0) — ЕстьNull([Временно освобождена (кадровым переводом)], 0)
то пишет: поле не найдено [Временно освобождена (кадровым переводом)]
Да, я пробую настроить отчет, но поля такого нет.
Через дополнительные реквизиты тоже пока не могу придумать, как их использовать. Потому что влиять они должны на позицию штатного расписания. Но мы же не можем при каждом переводе позицию изменять?
Кажется, нашла решение:
в формулу нужно добавить — ЕстьNull([Свободна временно], 0)
и убрать — ЕстьNull([Занята временно], 0)
ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Подработка постоянно], 0) — ЕстьNull([Подработка временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0) — ЕстьNull(Забронирована, 0) — ЕстьNull([Свободна временно], 0)
Тогда в свободно не будет данных (т.е. эти обе позиции будут заняты, как и требуется)
Анна, сможете проверить? )
и тогда еще вопрос статус Занята временно получается только при Временном кадровом переводе? никакие другие документы не дают этот статус?
Да, такое выражение работает. Верменно освобождена кадровым переводом заполнено, а Свободно — пусто.
Но Занята временно — это еще и срочный трудовой договор.
ок, спасибо, проверю еще по срочному ТД
в демо базе формула сработала, а на пром.базе — нет (((
я даже ее скопировала из демо, результат не меняется
сохранила даже отдельный вариант отчета (
не понимаю, что это за фокус такой может быть?
Свободно остается не смотря на новую формулу? Может быть сроки формирования отчета не соответсвуют временному освобождению ставок? Там ведь на дату формируется состояние.
да, остается
нет, сроки норм, причем если вывести поле Свободна временно в отчет, то стоит 1, т.е .вроде все корректно
а в формуле не срабатывает
я оставила прежнее поле Свободно
и добавила еще одно с новой формулой (чтобы сравнить значения по всей Орг)
и вот не срабатывает даже на контрольном примере
а в демо базе все ок
Попрбовала на копии рабочей базы, у меня сработало. Я меняла в пользовательском поле и выражение детальных записей, и выражение итоговых записей.
Попробуйте настройки отчета из демо-базы выгрузить и в рабочую загрузить.
Добрый день, не пойдет решение с этой формулой. Действительно, тогда по срочным ТД будет минус в Свободно…
Вернула в формулу занаята временно
ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Занята временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0) — ЕстьNull([Свободна временно], 0)
но теперь по Директору будет минус (два статуса по этой позиции: временно освобождена и временно занята)
тоже это не подходит
Надо как-то идентифицировать этот временный перевод и его только исключать
Может быть можно составную формулу какую-то сделать? Если временный кадровый перевод, то считаем по этой формуле, иначе по другой
Задача остро стоит… Сможем мозговой штурм БЭ подключить? )
может через доп реквизит или еще что-то есть, что идентифицирует врем кадр перевод и этот идентификатор включить в расчет Свободно
Нашла еще такой вариант:
в формулу вернула Занята временно, убрала Свободна временно и добавила Свободно ставок
ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Занята временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0) — ЕстьNull([Свободно ставок], 0)
Тогда ни по кому свободных ставок не будет (и с минусом тоже), в том числе срочный ТД норм
Вопрос: Свободно ставок — это типовой расчетный показатель свободно, в котором учитываются все статусы позиции? )
можно ли с помощью этого показателя решить задачу? или еще что-то в нем не то?
Так тоже нельзя, тогда реальные свободные ставки тоже обнуляются (
Придумала еще один вариант
Временно освобождена (кадровым переводом) идентифицируется получается по совокупности показателей: Свободна и Свободна временно
Тогда можно посчитать Занято* = Занята временно + Занята постоянно + Совмещена временно + Совмещена постоянно + Свободна временно (если по позиции есть одновременно Свободна и Свободна временно)
И Свободно = Запланировано — Занято*
Вопрос, как в формуле Занято* учесть значение Свободно временно, если по позиции одновременно есть показатель Свободна и Свободна временно?
т.е. если Свободна и Свободна временно, то прибавляем Свободно временно
Елена, добрый день.
К сожалению, мы сейчас не сможем устроить мозговой штурм БЭ, у нас выездное мероприятие и большинство коллег сегодня не на рабочем месте, как и я.
Ваш вопрос может подождать до понедельника, чтобы я могла как следует смоделировать новые формулы?
Сегодня у нас работает всего один сотрудник-Елена Пьянкова. Если совсем не получится подождать, тогда попросим её подключиться.
Давайте попросим Елену? мне нужно чуть-чуть подсказать
Составила такую формулу
Выбор
Когда Свободна > 0 И [Свободна временно] > 0
Тогда ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Занята временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0) — ЕстьNull([Свободна временно], 0)
Иначе ЕстьNull([Количество ставок], 0) — ЕстьNull([Занята постоянно], 0) — ЕстьNull([Занята временно], 0) — ЕстьNull([Совмещена постоянно], 0) — ЕстьNull([Совмещена временно], 0)
Конец
Но по ней считается почему-то общее по двум формулам
Елена, добрый день! Пришлите мне пожалуйста, на эл.почту настройки отчета (с последней ошибкой), я посмотрю.
Письмо Вам на почту отправила.
Добрый день, Елена, пришло только уведомление об ответе, а почты нет
отправила
Спасибо, письмо пришло. Посмотрю настройки, по результатам отпишусь.
хорошо, спасибо большое!
Может быть, такой подход тоже будет неверным, но что еще придумать, уже не знаю (
Добрый день! Пока нашла вот такой вариант с отбором — https://go.screenpal.com/watch/cZQ3hvVSZ5k
По первоначально варианту тоже вроде бы получилось настроить, но только итог с минусом показывает:
Но может это и хорошо.
Пока не придумала как от него избавиться.
Настройки высылаю — https://buhexpert8.ru/wp-content/uploads/2024/09/Svobodno.zip
Елена, добрый день, первый вариант у меня не сработал, исключается и позиция, которая только Свободна. Но этот вариант не очень подходит, в отчете нужны все позиции, надо только скорректировать Свободно без учета временно осв кадровым переводом.
Настройки второго варианта загрузила, у меня показываются верные данные на тест примере демо базы (приложила сскрин), только не поняла, в чем отличия от моего варианта? ))) формула вроде та же сама, (если ее скопирую и вставлю в свой вариант, то в моем получается ерунда), может быть еще какие-то настройки? не формула правилась?
Файл не приложился, добавляю
Добрый день, Елена! Вы в группировке не указали функцию «Сумма»:
В типовом показателе она есть.
Елена, поняла, спасибо! Буду проверять настройки на рабочей базе )
На рабочей базе не срабатывают настройки… и вручную добавляла поле, формулу копировала, и целиком настройки и свои, и ваши подгружала… в Свободно* не срабатывает формула, настройки скидывала до стандартных, отчет сохраняла ( Скрин приложила. Что ЗУП хочет еще? (((
Елена, а релизы программ одинаковые в тестовой версии и в рабочей?
У нас в формуле есть показатель «Количество ставок». Далее остальные (состояний позиций) из него вычитаются.
Соответственно, для проверки нужно вывести его.
Т.е. получается, что по первой позиции 2 ставки или более, поэтому при вычитании у нас выходит 1.
Елена, добрый день, да, релизы одинаковые.
Показатель Кол-во ставок в отчёте есть, это поле Запланировано.
Еще раз с нуля загрузила настройки на копию рабочей базы
По показателям и статусам позиции все совпадает (скрин приложила)
Демо база:
Временный перевод: свободна / свободна временно / временно осв кадр / вакантна
Копия рабочей:
Временный перевод: свободна / свободна временно / временно осв кадр / вакантна
Неправильно:
— Столбец 12 Итого = 2
— Свободно* должно быть пусто у машиниста: Запланировано (кол-во ставок) (=1) — Свободна временно (=1) = 0
Еще странность (на примере демо базы):
Если отбор по позициям ШР делать, то ок
А если по сотрудникам, занимающим эти позиции, то исчезает статус Вакантна и в Свободна — нет данных у глав буха
Хорошо. Если будут вопросы, пишите🙂
Добрый день! В поле 12 проблема в том, что в итоговых строчках программа показатель «Свободна временно» уже берет сгруппированный:
В показателе «Свободно*» попробуйте последовательно поменять формулу и проверить значения.
Т.е. сначала в первой ячейке указываем после «тогда» только ЕстьNull([Количество ставок], 0)
А во второй Сумма(ЕстьNull([Количество ставок], 0)).
Так мы поймем какие промежуточные значения берет для расчета программа.
До момента добавления в формулу ЕстьNull([Свободна временно], 0) все получается корректно (начинала от Кол-ва ставок и далее последовательно остальными показателями дополняла формулу)
Как только добавила Свободна временно, результат совсем не ожидаемый получается:
В Свободно* исчез итог и у Машиниста 1 остается
Если в формуле оставить только Свободна временно (и добавила еще +10 для наглядности (без 10 тоже проверяла))
Выбор
Когда Свободна > 0 И [Свободна временно] > 0
Тогда ЕстьNull([Свободна временно], 0) + 10
Иначе 0
Конец
Выбор
Когда Свободна > 0 И [Свободна временно] > 0
Тогда Сумма(ЕстьNull([Свободна временно], 0)) + 10
Иначе 0
Конец
По машинисту получается тоже корректно (1+10=11)
Но итог в Свободно* должен быть тоже 11, а не 12 (видимо по той же причине – берет сразу итоговые значения), но в типовом поле Свободно вроде все корректно по итогу…
Получается проблема именно при добавлении в формулу Свободна временно (не вычитает ее)
т.е. лишних никаких значений нет
Наверное, без разработчика тут не обойтись уже (
Добавила файл со скринами
Елена, в тестовой рабочей взяла другие позиции ШР, где отпуск уже был проведен по сотруднику, и на его позицию сделала кадровый перевод, теперь у меня данные получились как надо: в Свободно* все по 0, в итого Свободно* = -1 (т.е. как у вас первоначально)
Получается, что какой-то неверный кадровый учет или влияет последовательность проведения документов… И таких ошибочных в целом по Орг много (
и минус этот в итого, конечно, мешается…
Можно попробовать убрать минус условным оформлением, видео высылаю — https://go.screenpal.com/watch/cZQZjKVSwwq
Разработчики периодически исправляют ошибки по учету позиций штатного расписания. Поэтому может быть ситуации, что раньше данные в регистрах отражались по-другому.
Можно попробовать на копии базы зайти в регистр сведений «Занятость позиций штатного расписания интервальный», далее зайти справа в меню Ещё — Разблокировать объекты. Затем снова Ещё — Перезаполнить регистр.
Только что по позиции были верные данные, сформировала отчет по всей Орг, стала анализировать верные/неверные сформировала отчет по верной и неверной позиции, та, которая была правильная, стала неправильной ((( в Свободно* по ней заполнилась 1, а не было ее, даже в выгруженном отчете не было (((
Видимо, это нереализуемо настройками в текущей конфигурации…
1С молчат…
Елена, Анна, спасибо вам!
Других путей настроек, наверное, тут нет
Елена, я пока закрывать вопрос не буду, попробую зайти с другой стороны.
Есть регистр сведений «Занятость позиций штатного расписания интервальный». В нём данные хранятся немного по-другому, чем в основном регистре «Занятость позиций штатного расписания» за счет периодов. Можно попробовать настроить универсальный отчет по нему.
Елена, благодарю ) если только универсальный поможет найти причину расхождения или поведения программы.
У нас отчетность по вакансиям, она настроена на основе отчета Занятость позиций штатного расписания, вот именно в нем нужно реализовать, чтобы временные кадровые переводы не учитывались в Свободно.
Может быть, еще вариант для этого отчета найдется, не через эти показатели Свободна и Свободна временно.
Если доп реквизит ввести, который будет идентифицировать этот перевод, но его в формуле не учесть тогда…
Скорее всего, доработка конфигурации нужна, чтобы эта Временна свободна тоже в отдельный показатель писалась (для нее ее нет, насколько пониманию)
Добрый день! По данному вопросу написала разработчикам #HL-893046. Посмотрим, что они ответят.
Елена, добрый день, хорошо, спасибо ) будем ждать )
Добрый день! Пришел ответ от разработчиков:
Добрый день, Елена, понятно… спасибо!