Ошибка в документе «Резервы отпусков» у сотрудников, которые были в командировке.

Вопрос задал Наталья Л.

Ответственный за ответ: Змиевская Светлана (★9.93/10)

Платформа: 1С:Предприятие 8.3 (8.3.16.1359)
Конфигурация: Зарплата и управление персоналом, редакция 3.1 (3.1.14.98)

Добрый день!
При формировании документа резервы отпусков появилась ошибка , огромный список технических подробностей и в конце «по причине:Значение индекса выходит за границы диапазона». Посмотрев в самом коде поняли, что проблема с сотрудниками, которые были в командировке и в этот период у них были еще какие либо начисления ( Процедура ОбработатьСтрокиНачисленийИсключаемыеВПериодКомандировок).
Тех. поддержка ответила :
Проверьте нет ли в данном месяце в документе «Начисление зарплаты и взносов» на закладке «Доначисление, перерасчет» регистрации перерасчета командировки.
Подобная ошибка регистрировалась ранее:
10221060 — Резервы отпусков, при заполнении сообщение об ошибке
10221150 — Перерасчеты. В перерасчеты попадает сторнированная командировка

Перерасчетов командировок у нас не было, а ошибку 10221060 я не нашла (может быть в ней был бы хоть намек на ответ).

Поэтому у меня первый вопрос — может быть вы знаете что это за ошибка.

У меня была копия базы, с данными за несколько дней до основного расчета ЗП, в ней я посчитала ЗП всем , кто был в командировке и документ «Резервы отпусков» сформировался без всяких ошибок. Но там были не все начисления. Из этого я сделала вывод, что какое то начисление и дает ошибку техническую при заполнении. Но какое и что с ним не так , я выяснить не могу. Хотя их немного.
Поэтому я прошу помочь мне разобраться , какие начисления должны быть исключены в период командировок , по какому признаку — период действия, приоритет?

Метки вопроса: —

Все комментарии (9)

  1. Здравствуйте!

    К сожалению, с ошибкой 10221060 сталкиваться пока не приходилось. То, что ее нет в сервисе ошибок, означает, что ее зарегистрировали, но не опубликовали. Такое часто бывает. Можно попросить техподдержку 1с опубликовать ее с самим текстом ошибки и сравнить Вашу ошибку с этой. Я обычно так делаю в этих ситуациях. Когда ошибку опубликуют и, если она будет совпадать с Вашей, Вы хотя бы сможете отслеживать статус исправления ошибки. Возможно разработчики приложат какой-то вариант обхода (иногда предлагают прямо в коде поправить).

    Воспроизвести на демобазе проблему тоже, к сожалению, не получается. Видимо ошибка проявляется только при определенном стечении обстоятельств. Скажите, а если удалить проблемных сотрудников из документа Резервы отпусков, он проведется? Возможно их просто нужно включить в отдельный документ? Если нет, тогда уже пробовать проводить документ Резервы отпусков по каждому командировочному сотруднику отдельно и по тем, у кого выскакивает ошибка анализировать начисления в копии базы и в рабочей. Т.е. если идти опытным путем, то сначала нужно отловить «нарушителей спокойствия», только тогда можно уже пытаться искать причину.

    «Поэтому я прошу помочь мне разобраться , какие начисления должны быть исключены в период командировок , по какому признаку — период действия, приоритет?»

    На самом проблемы с пересечением начислений возникли бы на этапе проведения «Начисления зп», а не в док. «Резервы отпусков». Поэтому маловерятно, что настройки самих начислений Вас тут спасут 🙁

  2. Ошибка выходит на этапе заполнения. В том то и проблема.
    А «резервы отпусков» можно заполнять на группу сотрудников ?

    1. Нет, заполнение на часть сотрудников не предусмотрено. Извините, я упустила, что ошибка выскакивает именно при заполнении. Покажите скриншот ее полного текста. И все же давайте потрясем 1с на тему публикации этой ошибки с полным текстом?

  3. В техподдержку 1С по поводу ошибки написала сейчас . Первую мою просьбу они проигнорировали.

  4. Значение индекса выходит за границы диапазона

    Технические подробности:
    Ошибка выполнения фонового задания ДлительныеОперации.ВыполнитьСКонтекстомКлиента с идентификатором 91e77601-dae7-4619-880b-22f7e050fb0f по причине
    Значение индекса выходит за границы диапазона
    {ОбщийМодуль.ОтражениеЗарплатыВБухучетеРасширенный.Модуль(8865)}: ФондОплатыТрудаИСтраховыеВзносы.Удалить(УдаляемаяСтрока);
    {ОбщийМодуль.ОтражениеЗарплатыВБухучетеРасширенный.Модуль(8720)}: ОбработатьСтрокиНачисленийИсключаемыеВПериодКомандировок(Запрос.МенеджерВременныхТаблиц, ФондОплатыТрудаИСтраховыеВзносы, ПериодРегистрации, НачисленияИсключаемыеВПериодКомандировок);
    {ОбщийМодуль.ОтражениеЗарплатыВБухучетеРасширенный.Модуль(8587)}: УдалитьСтрокиИсключаемыеИзРасчетаСреднегоЗаработка(ФондОплатыТрудаИСтраховыеВзносы, Организация, ПериодРегистрации);
    {ОбщийМодуль.ОтражениеЗарплатыВБухучетеВнутренний.Модуль(52)}: ОтражениеЗарплатыВБухучетеРасширенный.ЗаполнитьПараметрыДляРасчетаОценочныхОбязательствОтпусков(Организация, ПериодРегистрации, ПараметрыДляРасчета, Сотрудники);
    {ОбщийМодуль.ОтражениеЗарплатыВБухучете.Модуль(1137)}: ОтражениеЗарплатыВБухучетеВнутренний.ЗаполнитьПараметрыДляРасчетаОценочныхОбязательствОтпусков(Организация, ПериодРегистрации, ПараметрыДляРасчета, Сотрудники);
    {ОбщийМодуль.ОтражениеЗарплатыВБухучете.Модуль(162)}: ЗаполнитьПараметрыДляРасчетаОценочныхОбязательствОтпусков(Организация, ПериодРегистрации, ПараметрыДляРасчета, Сотрудники);
    {ОбщийМодуль.РезервОтпусков.Модуль(1215)}: ТаблицыРасчетаОбязательств = ОтражениеЗарплатыВБухучете.ПараметрыДляРасчетаОценочныхОбязательствОтпусков(Организация, ПериодРегистрации);
    {ОбщийМодуль.РезервОтпусков.Модуль(1544)}: ПараметрыРасчетаОбязательств = ПараметрыДляРасчетаОценочныхОбязательствОтпусков(Организация, ПериодРегистрации, Регистратор, Инвентаризация, ОпределятьИзлишкиЕжемесячно);
    {ОбщийМодуль.РезервОтпусков.Модуль(1796)}: СобратьДанныеДляНачислениеРезерваОтпусков(ДокументОбъект.Ссылка, ДокументОбъект.Организация, ДокументОбъект.ПериодРегистрации,
    {Документ.НачислениеОценочныхОбязательствПоОтпускам.МодульМенеджера(144)}: РезервОтпусков.ЗаполнитьДокументНачислениеОценочныхОбязательствПоОтпускам(ЭтотОбъект);
    {(1)}:Документы.НачислениеОценочныхОбязательствПоОтпускам.ЗаполнитьНачислениеОценочныхОбязательствПоОтпускам(Параметры[0],Параметры[1])
    {ОбщийМодуль.ОбщегоНазначения.Модуль(4883)}: Выполнить ИмяМетода + «(» + ПараметрыСтрока + «)»;
    {ОбщийМодуль.ДлительныеОперации.Модуль(1026)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
    {ОбщийМодуль.ДлительныеОперации.Модуль(1016)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры);

    по причине:
    Значение индекса выходит за границы диапазона

    См. также журнал регистрации.
    {ОбщийМодуль.ДлительныеОперации.Модуль(648)}: ВызватьИсключение ТекстОшибки;
    {Документ.НачислениеОценочныхОбязательствПоОтпускам.Форма.ФормаДокумента.Форма(723)}: Возврат ДлительныеОперации.ЗаданиеВыполнено(ИдентификаторЗадания);
    {Документ.НачислениеОценочныхОбязательствПоОтпускам.Форма.ФормаДокумента.Форма(733)}: Если ЗаданиеВыполнено(ИдентификаторЗадания) Тогда

  5. {ОбщийМодуль.ОтражениеЗарплатыВБухучетеРасширенный.Модуль(8865)}: ФондОплатыТрудаИСтраховыеВзносы.Удалить(УдаляемаяСтрока);

    ошибка в этой строке

    1. Это явно техническая ошибка. «Значение индекса выходит за границы диапазона» — это значит. что программа пытается обратиться к элементу коллекции (массив, список, таблица значений) по его индексу, но не находит такого элемента. Боюсь, тут придется или ждать исправления от разработчиков или приглашать программистов.

  6. Добрый день!
    10221060 — Резервы отпусков, при заполнении сообщение об ошибке
    Опубликовали ошибку . В полном тексте причина : Значение индекса выходит за границы диапазона
    Очень информативно ;)). Зарегистрирована аж марте месяце!
    Что ж , будем ждать исправления.

    1. Мда, и правда не очень информативно))) Спасибо за обратную связь!

Комментарии закрыты.