1с ЗУП индекс находится за границами массива

1. user1886307 22.11.23 11:13 Сейчас в теме
Всех приветствую. Просьба помочь разобраться с проблемой:
В конфигурации 1С ЗУП установлена форма "Трудовой договор". До обновления на 3.1.27.93 всё работало. Теперь возникла следующая проблема:

Есть кадровый пользователь с ограниченными правами (без доступа к зп с редактирование должностей). При попытке отправить на печать документ "Трудовой договор" вылезает ошибка: "Индекс находится за границей массива".
Конфигуратор в режиме отладки показывает следующие данные:

Индекс находится за границами массива
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(253)}:ВызватьИсключение РезультатФоновойОперации.КраткоеПредставлениеОшибки;
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(326)}:ОповеститьОЗавершенииДлительнойОперации(Контекст.ОповещениеОЗавершении,
{ОбщаяФорма.ДлительнаяОперация.Форма(221)}:Закрыть();
{ОбщаяФорма.ДлительнаяОперация.Форма(162)}:ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(613)}:ОповеститьОЗавершенииДлительнойОперации(ДлительнаяОперация.ОповещениеОЗавершении,
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(551)}:ЗавершитьДлительнуюОперацию(ДлительнаяОперация, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(408)}:Если ОбработатьРезультатАктивнойОперации(Операция, Результат) Тогда
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(300)}:ОбработатьРезультатОперации(АктивныеДлительныеОперации, Операция, Результат);
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(352)}:ДлительныеОперацииКлиент.ПослеПериодическогоПолученияДанныхКлиентаНаСервере(
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(200)}:ПроверитьПолучитьСерверныеОповещенияСПоказателями(СостояниеПолучения, Показатели);
{ОбщийМодуль.СерверныеОповещенияГлобальный.Модуль(19)}:СерверныеОповещенияКлиент.ПроверитьПолучитьСерверныеОповещения();

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]

Просьба не тапки не кидать, я совсем новичок и пока вообще плохо понимаю что с этим делать дальше. Прошу помощи
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vinzor 112 22.11.23 12:56 Сейчас в теме
Запустите в конфигураторе сеанс в режиме отладки. Тогда не будет исполняться в фоне.
Сервис / параметры / Запуск 1с предприятие, вкладка "основные", поле "Параметр запуска", руками внесите "РежимОтладки"

И запускайте сеанс отладки, вызывайте ошибку. И что так покажет? В каком месте "стоп-машина" ?
4. user1886307 22.11.23 14:31 Сейчас в теме
(2) Отвечает тоже самое.. До этого, возникала ещё ошибка:
Индекс находится за границами массива
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(1057)}:ВыводимаяОбласть.Параметры.ТарифнаяСтавка = НачисленияСотрудников[0].ОписаниеОклада;// + ЗарплатаКадрыОтчеты.ТарифнаяСтавкаНаПечать(НачисленияСотрудников[0].ТарифнаяСтавка);
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(857)}:ТрудовойДоговорВывестиРаздел("Раздел_ОплатаТрудаРаботника", ТаблицаТрудовогоДоговора, Макет, ДанныеДоговора, ПараметрыНумерации);
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(197)}:КоллекцияПечатныхФорм, "ПФ_MXL_ТрудовойДоговор", ЭтотОбъект.Метаданные().Представление(),
{ОбщийМодуль.УправлениеПечатью.Модуль(2100)}:ВнешняяОбработкаОбъект.Печать(
{ОбщийМодуль.УправлениеПечатью.Модуль(2016)}:ПечатьПоВнешнемуИсточнику(
{(1)}:УправлениеПечатью.СформироватьПечатныеФормыВФоне(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(9864)}:Возврат Вычислить(ИмяМетода + "(" + ПараметрыСтрока + ")"); // АПК:488 Исполняемый код безопасен.
{ОбщийМодуль.ДлительныеОперации.Модуль(1745)}:Результат = ОбщегоНазначения.ВызватьФункциюКонфигурации(ИмяФункции, ПараметрыПроцедуры);
{ОбщийМодуль.ДлительныеОперации.Модуль(1641)}:ВызватьФункцию(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]

Но учитывая то, что пользователь с правами администратора, и кадровик обычный (конфигурацией заданный) могут просматривать, подозреваю, что проблема в правах на пользователя либо в самой внешней обработке "ТД"
Но главный момент пользователя для которого это нужно в том, что он должен видеть только тарифную ставку, которую указывает в форме для печати
3. Evgenia060882 87 22.11.23 13:16 Сейчас в теме
Скорее всего еще расчетчик не утвердил прием вот и не может захватить оклад какой-нибудь
5. user1886307 22.11.23 14:31 Сейчас в теме
(3) а можно по подробнее?
9. Vinzor 112 22.11.23 15:28 Сейчас в теме
(5) А как получаете коллекцию "НачисленияСотрудников" ?
Что за метод (в печатной форме)? Какие параметры?

Расчетчик не может утвердить приём, он не является многофункциональным документом.
Там есть галочка "Приказом установлены ежемесячные начисления", вот она должна быть.
И сами плановые начисления тоже
6. Evgenia060882 87 22.11.23 14:57 Сейчас в теме
У вас идет "ВыводимаяОбласть.Параметры.ТарифнаяСтавка = НачисленияСотрудников[0].ОписаниеОклада;/"
А если в документе визы расчетчика нет, то и начислений у работника нет.
7. Evgenia060882 87 22.11.23 14:58 Сейчас в теме
Документ утвержден должен расчетчик поставить.... ну и фот назначить сотруднику
8. user1886307 22.11.23 15:27 Сейчас в теме
(7) Если я правильно понимаю, то эта информация получается из раздела "Кадры -> Штатное расписание" и там по сотрудникам. Верно?

На данный момент получилось решить вопрос открытия печатного документа при помощи добавления следующих прав пользователю:

- Добавление и изменение данных для начисления зарплаты расширенная
- Чтение без просмотра плановых начислений

При открытии карточки сотрудника, отсутствует информация о начислениях и выплатах.
Печать документа становится доступна без ошибки
В разделе "Кадры -> штатное расписание" отсутствует информация заработной плате сотрудника.

Скажите пожалуйста, на сколько такое решение является жизнеспособным ? или при таких разрешениях появляются какие-то НО?
11. Vinzor 112 22.11.23 15:39 Сейчас в теме
(8) Блин..
Ну я думал, у вас есть некто, кто может внятно проанализировать ситуацию и недостаточность прав пользователя.
А у вас с этим всё плохо, мягко говоря.
Здесь совокупность следующего
1. Как в печатной форме получаете описание плановых начислений сотруднику, назначенных при приёме.
2. Он принят "Приёмом" или через "Начальную штатную расстановку" ? (в которой нет начислений именно при приёме)
3. Есть права или нет прочитать плановые начисления пользователю при исполнении печатной формы. В сложных случаях, когда строгие ограничения и есть допуск, получение данных и их обработку в примитивные типы можно делать в привилегированном режиме.
4. Если допустимо получить пустую коллекцию плановых начислений из-за прав, в печатной форме должно быть решение на этот счет. Если Коллекция.Количество() = 0 Тогда делаем то-то.

В общем, куча неизвестного, что у вас происходит.
трудно дать финальный ответ
13. user1886307 22.11.23 16:39 Сейчас в теме
(11) Да, понимаю, поэтому пытаюсь разобраться и задаю вопросы, чтобы лучше понимать что вообще нужно смотреть... К сожалению, я один и мне надо с этим разобраться...
Мягко говоря у меня всё ужасно, потому что с ЗУП-ом и с правами я ещё не разбирался, а из-за обновления всё полетело, выяснилось и надо исправить... До обновления всё работало исправно, без проблем...

Что написано в этой форме обработки - я честно говоря пока не имею представления, хотелось бы понять как её вообще вытащить, потому что самого файла найти не получается, тот кто это ставил - ушел
12. Evgenia060882 87 22.11.23 16:11 Сейчас в теме
(8)Вы кадровику открыли данные по начислениям\выплатам, что не очень хорошо. Штатное расписание не показатель.... может и вообще не вносится.
14. user1886307 22.11.23 16:49 Сейчас в теме
(12) а где я могу это по смотреть ?
10. пользователь 22.11.23 15:29
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

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