Ошибка при проведении документа "Начисление зарплаты и взносов"

1. user1859069 09.02.23 08:48 Сейчас в теме
Доброго дня!
При попытке провести начисления - выдает ошибку

Конфигурация ЗУП3 типовая, обновляли недели 3 назад.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
3. laperuz 46 09.02.23 09:03 Сейчас в теме
С партнерского:
Ошибка возникает, например, при пересечении периодов действия начислений.

Сама ошибка состоит в том, что неверно формируется текст сообщения об ошибке (парадокс но причина в этом).

После исправления появляется возможность проанализировать данные и поправить их.

Где искать: Общий модуль РасчетЗарплатыРасширенный

Процедура ПроверитьПересечениеФактическогоПериодаДействия

При обращении к результату второго запроса в таблице результата отсутствует поле "Регистратор"

Если в текст запроса добавить соответствующую строку, по крайней мере при исключении будет появляться сообщение с проблемным сотрудником и информации о проблемном начислении.

Пример исправленного текста запроса:

"ВЫБРАТЬ
   |    ФПДНачислений.Регистратор КАК Регистратор,
   |    ФПДНачислений.Сотрудник КАК Сотрудник,
   |    ФПДНачислений.Организация КАК Организация,
   |    ФПДНачислений.ВидРасчета КАК ВидРасчета,
   |    ФПДНачислений.ПериодДействияНачало КАК ДатаНачала,
   |    ФПДНачислений.ПериодДействияКонец КАК ДатаОкончания,
   |    ФПДНачислений.НомерСтроки КАК НомерСтроки
   |ПОМЕСТИТЬ ВТФПДНачислений
   |ИЗ
   |    РегистрРасчета.Начисления.ФактическийПериодДействия(
   |            ВидРасчета.ЗачетНормыВремени = ИСТИНА
   |                И Сотрудник В (&МассивСотрудников)
   |                И ПериодРегистрации = &ПериодРегистрации
   |                И СторноТекущегоПериода = НЕОПРЕДЕЛЕНО
   |                И Сторно = ЛОЖЬ
   |                И ФиксСторно = ЛОЖЬ
   |                И Перерасчет = ЛОЖЬ
   |                И НЕ(Регистратор ССЫЛКА Документ.Увольнение
   |                        И (ВидРасчета.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ОплатаОтпуска)
   |                        ИЛИ ВидРасчета.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ДенежноеСодержаниеНаПериодОтпуска))
   |                        И СторнируемыйДокумент ССЫЛКА Документ.Отпуск
   |                        И СторнируемыйДокумент <> ЗНАЧЕНИЕ(Документ.Отпуск.ПустаяСсылка))) КАК ФПДНачислений
   |;
   |
   |////////////////////////////////////////////////////////////­////////////////////
   |ВЫБРАТЬ
   |    ДвиженияДокумента.Сотрудник КАК Сотрудник,
   |    ДвиженияДокумента.ВидРасчета КАК ВидРасчета,
   |    ДвиженияДокумента.ДатаНачала КАК ДатаНачала,
   |    ДвиженияДокумента.ДатаОкончания КАК ДатаОкончания,
   |    ДвиженияДокумента.НомерСтроки КАК НомерСтроки,
   |    ДанныеРегистра.Регистратор КАК Регистратор,
   |    ДанныеРегистра.ВидРасчета КАК ВидРасчетаРегистр,
   |    ДанныеРегистра.ДатаНачала КАК ДатаНачалаРегистр,
   |    ДанныеРегистра.ДатаОкончания КАК ДатаОкончанияРегистр,
   |    ДанныеРегистра.НомерСтроки КАК НомерСтрокиРегистр
   |ИЗ
   |    ВТФПДНачислений КАК ДвиженияДокумента
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТФПДНачислений КАК ДанныеРегистра
   |        ПО ДвиженияДокумента.Сотрудник = ДанныеРегистра.Сотрудник
   |            И ДвиженияДокумента.Организация = ДанныеРегистра.Организация
   |            И (ДвиженияДокумента.Регистратор = &Документ)
   |            И (ДанныеРегистра.Регистратор <> &Документ)
   |            И ДвиженияДокумента.ДатаНачала <= ДанныеРегистра.ДатаОкончания
   |            И ДвиженияДокумента.ДатаОкончания >= ДанныеРегистра.ДатаНачала
   |            И (НЕ ДанныеРегистра.ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеНеотработанное), ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеОтработанноеВПределахНормы)))
   |            И (НЕ ДвиженияДокумента.ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеНеотработанное), ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеОтработанноеВПределахНормы)))
   |            И (ВЫБОР
   |                КОГДА ДанныеРегистра.ВидРасчета.ЗачетОтработанногоВремени
   |                        И ДвиженияДокумента.ВидРасчета.ЗачетОтработанногоВремени
   |                    ТОГДА ДанныеРегистра.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ДвиженияДокумента.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
   |                ИНАЧЕ ИСТИНА
   |            КОНЕЦ)
   |;
   |
   |////////////////////////////////////////////////////////////­////////////////////
   |ВЫБРАТЬ
   |    ДвиженияРегистратора.Сотрудник КАК Сотрудник,
   |    ДвиженияРегистратора.ВидРасчета КАК ВидРасчета,
   |    ДвиженияРегистратора.ДатаНачала КАК ДатаНачала,
   |    ДвиженияРегистратора.ДатаОкончания КАК ДатаОкончания,
   |    ДвиженияРегистратора.НомерСтроки КАК НомерСтроки,
   |    ДвиженияРегистратораДляПроверки.Регистратор КАК Регистратор,
   |    ДвиженияРегистратораДляПроверки.ВидРасчета КАК ВидРасчетаДляПроверки,
   |    ДвиженияРегистратораДляПроверки.ДатаНачала КАК ДатаНачалаДляПроверки,
   |    ДвиженияРегистратораДляПроверки.ДатаОкончания КАК ДатаОкончанияДляПроверки,
   |    ДвиженияРегистратораДляПроверки.НомерСтроки КАК НомерСтрокиДляПроверки
   |ИЗ
   |    ВТФПДНачислений КАК ДвиженияРегистратора
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТФПДНачислений КАК ДвиженияРегистратораДляПроверки
   |        ПО (ДвиженияРегистратора.Регистратор = &Документ)
   |            И (ДвиженияРегистратораДляПроверки.Регистратор = &Документ)
   |            И ДвиженияРегистратора.Сотрудник = ДвиженияРегистратораДляПроверки.Сотрудник
   |            И ДвиженияРегистратора.Организация = ДвиженияРегистратораДляПроверки.Организация
   |            И ДвиженияРегистратора.НомерСтроки <> ДвиженияРегистратораДляПроверки.НомерСтроки
   |            И ДвиженияРегистратора.ДатаНачала <= ДвиженияРегистратораДляПроверки.ДатаОкончания
   |            И ДвиженияРегистратора.ДатаОкончания >= ДвиженияРегистратораДляПроверки.ДатаНачала
   |            И (ВЫБОР
   |                КОГДА ДвиженияРегистратора.ВидРасчета.ЗачетОтработанногоВремени
   |                        И ДвиженияРегистратораДляПроверки.ВидРасчета.ЗачетОтработанногоВремени
   |                    ТОГДА ДвиженияРегистратора.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ДвиженияРегистратораДляПроверки.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
   |                ИНАЧЕ ИСТИНА
   |            КОНЕЦ)
   |
   |УПОРЯДОЧИТЬ ПО
   |    Сотрудник,
   |    НомерСтроки";
Показать
user1859069; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1859069 09.02.23 08:49 Сейчас в теме
Кеш чистить пробывал - не помогло
3. laperuz 46 09.02.23 09:03 Сейчас в теме
С партнерского:
Ошибка возникает, например, при пересечении периодов действия начислений.

Сама ошибка состоит в том, что неверно формируется текст сообщения об ошибке (парадокс но причина в этом).

После исправления появляется возможность проанализировать данные и поправить их.

Где искать: Общий модуль РасчетЗарплатыРасширенный

Процедура ПроверитьПересечениеФактическогоПериодаДействия

При обращении к результату второго запроса в таблице результата отсутствует поле "Регистратор"

Если в текст запроса добавить соответствующую строку, по крайней мере при исключении будет появляться сообщение с проблемным сотрудником и информации о проблемном начислении.

Пример исправленного текста запроса:

"ВЫБРАТЬ
   |    ФПДНачислений.Регистратор КАК Регистратор,
   |    ФПДНачислений.Сотрудник КАК Сотрудник,
   |    ФПДНачислений.Организация КАК Организация,
   |    ФПДНачислений.ВидРасчета КАК ВидРасчета,
   |    ФПДНачислений.ПериодДействияНачало КАК ДатаНачала,
   |    ФПДНачислений.ПериодДействияКонец КАК ДатаОкончания,
   |    ФПДНачислений.НомерСтроки КАК НомерСтроки
   |ПОМЕСТИТЬ ВТФПДНачислений
   |ИЗ
   |    РегистрРасчета.Начисления.ФактическийПериодДействия(
   |            ВидРасчета.ЗачетНормыВремени = ИСТИНА
   |                И Сотрудник В (&МассивСотрудников)
   |                И ПериодРегистрации = &ПериодРегистрации
   |                И СторноТекущегоПериода = НЕОПРЕДЕЛЕНО
   |                И Сторно = ЛОЖЬ
   |                И ФиксСторно = ЛОЖЬ
   |                И Перерасчет = ЛОЖЬ
   |                И НЕ(Регистратор ССЫЛКА Документ.Увольнение
   |                        И (ВидРасчета.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ОплатаОтпуска)
   |                        ИЛИ ВидРасчета.КатегорияНачисленияИлиНеоплаченногоВремени = ЗНАЧЕНИЕ(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ДенежноеСодержаниеНаПериодОтпуска))
   |                        И СторнируемыйДокумент ССЫЛКА Документ.Отпуск
   |                        И СторнируемыйДокумент <> ЗНАЧЕНИЕ(Документ.Отпуск.ПустаяСсылка))) КАК ФПДНачислений
   |;
   |
   |////////////////////////////////////////////////////////////­////////////////////
   |ВЫБРАТЬ
   |    ДвиженияДокумента.Сотрудник КАК Сотрудник,
   |    ДвиженияДокумента.ВидРасчета КАК ВидРасчета,
   |    ДвиженияДокумента.ДатаНачала КАК ДатаНачала,
   |    ДвиженияДокумента.ДатаОкончания КАК ДатаОкончания,
   |    ДвиженияДокумента.НомерСтроки КАК НомерСтроки,
   |    ДанныеРегистра.Регистратор КАК Регистратор,
   |    ДанныеРегистра.ВидРасчета КАК ВидРасчетаРегистр,
   |    ДанныеРегистра.ДатаНачала КАК ДатаНачалаРегистр,
   |    ДанныеРегистра.ДатаОкончания КАК ДатаОкончанияРегистр,
   |    ДанныеРегистра.НомерСтроки КАК НомерСтрокиРегистр
   |ИЗ
   |    ВТФПДНачислений КАК ДвиженияДокумента
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТФПДНачислений КАК ДанныеРегистра
   |        ПО ДвиженияДокумента.Сотрудник = ДанныеРегистра.Сотрудник
   |            И ДвиженияДокумента.Организация = ДанныеРегистра.Организация
   |            И (ДвиженияДокумента.Регистратор = &Документ)
   |            И (ДанныеРегистра.Регистратор <> &Документ)
   |            И ДвиженияДокумента.ДатаНачала <= ДанныеРегистра.ДатаОкончания
   |            И ДвиженияДокумента.ДатаОкончания >= ДанныеРегистра.ДатаНачала
   |            И (НЕ ДанныеРегистра.ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеНеотработанное), ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеОтработанноеВПределахНормы)))
   |            И (НЕ ДвиженияДокумента.ВидРасчета.ВидВремени В (ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеНеотработанное), ЗНАЧЕНИЕ(Перечисление.ВидыРабочегоВремениСотрудников.ЧасовоеОтработанноеВПределахНормы)))
   |            И (ВЫБОР
   |                КОГДА ДанныеРегистра.ВидРасчета.ЗачетОтработанногоВремени
   |                        И ДвиженияДокумента.ВидРасчета.ЗачетОтработанногоВремени
   |                    ТОГДА ДанныеРегистра.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ДвиженияДокумента.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
   |                ИНАЧЕ ИСТИНА
   |            КОНЕЦ)
   |;
   |
   |////////////////////////////////////////////////////////////­////////////////////
   |ВЫБРАТЬ
   |    ДвиженияРегистратора.Сотрудник КАК Сотрудник,
   |    ДвиженияРегистратора.ВидРасчета КАК ВидРасчета,
   |    ДвиженияРегистратора.ДатаНачала КАК ДатаНачала,
   |    ДвиженияРегистратора.ДатаОкончания КАК ДатаОкончания,
   |    ДвиженияРегистратора.НомерСтроки КАК НомерСтроки,
   |    ДвиженияРегистратораДляПроверки.Регистратор КАК Регистратор,
   |    ДвиженияРегистратораДляПроверки.ВидРасчета КАК ВидРасчетаДляПроверки,
   |    ДвиженияРегистратораДляПроверки.ДатаНачала КАК ДатаНачалаДляПроверки,
   |    ДвиженияРегистратораДляПроверки.ДатаОкончания КАК ДатаОкончанияДляПроверки,
   |    ДвиженияРегистратораДляПроверки.НомерСтроки КАК НомерСтрокиДляПроверки
   |ИЗ
   |    ВТФПДНачислений КАК ДвиженияРегистратора
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТФПДНачислений КАК ДвиженияРегистратораДляПроверки
   |        ПО (ДвиженияРегистратора.Регистратор = &Документ)
   |            И (ДвиженияРегистратораДляПроверки.Регистратор = &Документ)
   |            И ДвиженияРегистратора.Сотрудник = ДвиженияРегистратораДляПроверки.Сотрудник
   |            И ДвиженияРегистратора.Организация = ДвиженияРегистратораДляПроверки.Организация
   |            И ДвиженияРегистратора.НомерСтроки <> ДвиженияРегистратораДляПроверки.НомерСтроки
   |            И ДвиженияРегистратора.ДатаНачала <= ДвиженияРегистратораДляПроверки.ДатаОкончания
   |            И ДвиженияРегистратора.ДатаОкончания >= ДвиженияРегистратораДляПроверки.ДатаНачала
   |            И (ВЫБОР
   |                КОГДА ДвиженияРегистратора.ВидРасчета.ЗачетОтработанногоВремени
   |                        И ДвиженияРегистратораДляПроверки.ВидРасчета.ЗачетОтработанногоВремени
   |                    ТОГДА ДвиженияРегистратора.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени = ДвиженияРегистратораДляПроверки.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
   |                ИНАЧЕ ИСТИНА
   |            КОНЕЦ)
   |
   |УПОРЯДОЧИТЬ ПО
   |    Сотрудник,
   |    НомерСтроки";
Показать
user1859069; +1 Ответить
4. user1859069 09.02.23 09:22 Сейчас в теме
(3)
мер исправленного текста запро

Конфигурация на поддержке, не хотелось бы её снимать..
Других вариантов решения подобной проблемы нет?
Без внесения изменений в конфигурацию
5. laperuz 46 09.02.23 09:27 Сейчас в теме
(4)Зачем снимать, расширение сделайте и все
user1859069; +1 Ответить
6. user1859069 09.02.23 09:37 Сейчас в теме
(5)Понял, благодарю за помощь!
Будем пробывать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот