Имя: Пароль:
1C
 
ЗУП: начисление в позиции штатки
0 Масянька
 
16.04.25
09:36
Доброе утро!
Изменили начисление...
Хотела по правильному: старое убрать, новое добавить...
Короче...
Добила всех сотрудников. Пытаюсь удалить начисление, а выдает  https://postimg.cc/5jSdCS83
В штатке (позиции) нет (было изменение штатки 1 апреля).
В отчете нет.
В РС по сотрудникам  нет.
Где искать?
Спасибо.
1 El_Duke
 
гуру
16.04.25
09:49
(0) Удалить начисление откуда ? Непонятно где вылазит текст ошибки
2 Масянька
 
16.04.25
09:51
(1) Удалить начисление из начислений - флажок "Начисление больше не используется".
3 Масянька
 
16.04.25
09:51
+ (2) Ошибка вылазит при попытке записать начисление.
4 Amra
 
16.04.25
09:53
"Масяня и ЗУП. 260 серия" )
5 Масянька
 
16.04.25
09:53
(4) По теме нет?
6 El_Duke
 
гуру
16.04.25
09:55
Может остались какие то пользовательские показатели от этого начисления ?
7 Масянька
 
16.04.25
09:56
(6) А почему на штатку ругается?
8 Гена
 
гуру
16.04.25
09:57
(7)
9 Масянька
 
16.04.25
10:06
(8) СПАСИБО!
10 SleepyHead
 
гуру
16.04.25
11:36
(7) Так еще на первой картинке ж написано..
11 Гена
 
гуру
16.04.25
10:19
(9) Не за что. Если интересно, то логика была такая:
1. Глобальным поиском "Нельзя сделать неиспользуемым"
Только одно место:
Если ВыводитьСообщениеОбОшибке Тогда        
        ТекстСообщения = НСтр("ru = 'Нельзя сделать неиспользуемым начисление...

2. Смотрим где ВыводитьСообщениеОбОшибке присвоена истина:
Если ФОИспользоватьШтатноеРасписание И НЕ РезультатыЗапросаПоШтатномуРасписанию.Пустой()
        Или НЕ РезультатыЗапросаПоПлановымНачислениям.Пустой() Тогда
        
        Отказ = Истина;
        ВыводитьСообщениеОбОшибке = Истина;
    КонецЕсли;

3. Идём на запрос
Запрос.Текст = Запрос.Текст + "
            |ВЫБРАТЬ
            |    ШтатноеРасписание.Наименование КАК ПозицияШтатногоРасписания,
            |    ШтатноеРасписание.Ссылка КАК Ссылка
            |ИЗ
            |    Справочник.ШтатноеРасписание.Начисления КАК ШтатноеРасписаниеНачисления
            |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ШтатноеРасписание КАК ШтатноеРасписание
            |        ПО ШтатноеРасписаниеНачисления.Ссылка = ШтатноеРасписание.Ссылка
            |ГДЕ
            |    ШтатноеРасписаниеНачисления.Начисление = &Ссылка
            |    И НЕ ШтатноеРасписание.ПометкаУдаления
            |    И ШтатноеРасписание.Утверждена
            |    И НЕ ШтатноеРасписание.Закрыта";
        
        РезультатыЗапросаПоШтатномуРасписанию = Запрос.Выполнить();

4. Вывод: надо посмотреть ТЧ всех строк в справочнике ШР по реквизиту Начисление
12 SleepyHead
 
гуру
16.04.25
10:48
(11) Интересно, что закрыть позицию, если есть по ней действующие начисления, нельзя, зато спокойно можно закрыть позицию, если сотрудница ушла в отпуск по уходу и по ней выключены начисления.

Помнится, меня даже просили перехватить событие закрытия позиции и не давать это сделать, если на этой позиции на дату закрытия есть сотрудник.

Вроде бы проверка, которую вы нашли, именно это и делает - но легко пропускает декретниц.
13 Масянька
 
16.04.25
11:08
Вот что меня (лично) бесит в ЗУП 3 - это непонятная зависимость (хотя, логичнее сказать - независимость) от проведения/сохранения.
В данном случае, решилось отчетом из (8) и сохранением позиции. Не перепроведением изменения штатки, а просто сохранением позиции.
Да, я понимаю, что там пересеклись периоды или как-то не так легли звезды (Венера спряталась за Марс или наоборот), но разгрести это ...
Просто накопилось.
14 SleepyHead
 
гуру
16.04.25
11:39
(13) Переход по переполнению.