1с ЗУП индекс находится за границами массива
Всех приветствую. Просьба помочь разобраться с проблемой:
В конфигурации 1С ЗУП установлена форма "Трудовой договор". До обновления на 3.1.27.93 всё работало. Теперь возникла следующая проблема:
Есть кадровый пользователь с ограниченными правами (без доступа к зп с редактирование должностей). При попытке отправить на печать документ "Трудовой договор" вылезает ошибка: "Индекс находится за границей массива".
Конфигуратор в режиме отладки показывает следующие данные:
Индекс находится за границами массива
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(253)}:ВызватьИсключение РезультатФоновойОперации.КраткоеПредставлениеОшибки;
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(326)}:ОповеститьОЗавершенииДлительнойОперации(Контекст.ОповещениеОЗавершении,
{ОбщаяФорма.ДлительнаяОперация.Форма(221)}:Закрыть();
{ОбщаяФорма.ДлительнаяОперация.Форма(162)}:ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(613)}:ОповеститьОЗавершенииДлительнойОперации(ДлительнаяОперация.ОповещениеОЗавершении,
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(551)}:ЗавершитьДлительнуюОперацию(ДлительнаяОперация, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(408)}:Если ОбработатьРезультатАктивнойОперации(Операция, Результат) Тогда
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(300)}:ОбработатьРезультатОперации(АктивныеДлительныеОперации, Операция, Результат);
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(352)}:ДлительныеОперацииКлиент.ПослеПериодическогоПолученияДанныхКлиентаНаСервере(
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(200)}:ПроверитьПолучитьСерверныеОповещенияСПоказателями(СостояниеПолучения, Показатели);
{ОбщийМодуль.СерверныеОповещенияГлобальный.Модуль(19)}:СерверныеОповещенияКлиент.ПроверитьПолучитьСерверныеОповещения();
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
Просьба не тапки не кидать, я совсем новичок и пока вообще плохо понимаю что с этим делать дальше. Прошу помощи
В конфигурации 1С ЗУП установлена форма "Трудовой договор". До обновления на 3.1.27.93 всё работало. Теперь возникла следующая проблема:
Есть кадровый пользователь с ограниченными правами (без доступа к зп с редактирование должностей). При попытке отправить на печать документ "Трудовой договор" вылезает ошибка: "Индекс находится за границей массива".
Конфигуратор в режиме отладки показывает следующие данные:
Индекс находится за границами массива
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(253)}:ВызватьИсключение РезультатФоновойОперации.КраткоеПредставлениеОшибки;
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(326)}:ОповеститьОЗавершенииДлительнойОперации(Контекст.ОповещениеОЗавершении,
{ОбщаяФорма.ДлительнаяОперация.Форма(221)}:Закрыть();
{ОбщаяФорма.ДлительнаяОперация.Форма(162)}:ЗавершитьДлительнуюОперациюИЗакрытьФорму(ДлительнаяОперация);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(621)}:ВыполнитьОбработкуОповещения(ОповещениеОЗавершении, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(613)}:ОповеститьОЗавершенииДлительнойОперации(ДлительнаяОперация.ОповещениеОЗавершении,
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(551)}:ЗавершитьДлительнуюОперацию(ДлительнаяОперация, Результат);
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(408)}:Если ОбработатьРезультатАктивнойОперации(Операция, Результат) Тогда
{ОбщийМодуль.ДлительныеОперацииКлиент.Модуль(300)}:ОбработатьРезультатОперации(АктивныеДлительныеОперации, Операция, Результат);
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(352)}:ДлительныеОперацииКлиент.ПослеПериодическогоПолученияДанныхКлиентаНаСервере(
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(200)}:ПроверитьПолучитьСерверныеОповещенияСПоказателями(СостояниеПолучения, Показатели);
{ОбщийМодуль.СерверныеОповещенияГлобальный.Модуль(19)}:СерверныеОповещенияКлиент.ПроверитьПолучитьСерверныеОповещения();
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
Просьба не тапки не кидать, я совсем новичок и пока вообще плохо понимаю что с этим делать дальше. Прошу помощи
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Запустите в конфигураторе сеанс в режиме отладки. Тогда не будет исполняться в фоне.
Сервис / параметры / Запуск 1с предприятие, вкладка "основные", поле "Параметр запуска", руками внесите "РежимОтладки"
И запускайте сеанс отладки, вызывайте ошибку. И что так покажет? В каком месте "стоп-машина" ?
Сервис / параметры / Запуск 1с предприятие, вкладка "основные", поле "Параметр запуска", руками внесите "РежимОтладки"
И запускайте сеанс отладки, вызывайте ошибку. И что так покажет? В каком месте "стоп-машина" ?
(2) Отвечает тоже самое.. До этого, возникала ещё ошибка:
Индекс находится за границами массива
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(1057)}:ВыводимаяОбласть.Параметры.ТарифнаяСтавка = НачисленияСотрудников[0].ОписаниеОклада;// + ЗарплатаКадрыОтчеты.ТарифнаяСтавкаНаПечать(НачисленияСотрудников[0].ТарифнаяСтавка);
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(857)}:ТрудовойДоговорВывестиРаздел("Раздел_ОплатаТрудаРаботника", ТаблицаТрудовогоДоговора, Макет, ДанныеДоговора, ПараметрыНумерации);
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(197)}:КоллекцияПечатныхФорм, "ПФ_MXL_ТрудовойДоговор", ЭтотОбъект.Метаданные().Представление(),
{ОбщийМодуль.УправлениеПечатью.Модуль(2100)}:ВнешняяОбработкаОбъект.Печать(
{ОбщийМодуль.УправлениеПечатью.Модуль(2016)}:ПечатьПоВнешнемуИсточнику(
{(1)}:УправлениеПечатью.СформироватьПечатныеФормыВФоне(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(9864)}:Возврат Вычислить(ИмяМетода + "(" + ПараметрыСтрока + ")"); // АПК:488 Исполняемый код безопасен.
{ОбщийМодуль.ДлительныеОперации.Модуль(1745)}:Результат = ОбщегоНазначения.ВызватьФункциюКонфигурации(ИмяФункции, ПараметрыПроцедуры);
{ОбщийМодуль.ДлительныеОперации.Модуль(1641)}:ВызватьФункцию(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Но учитывая то, что пользователь с правами администратора, и кадровик обычный (конфигурацией заданный) могут просматривать, подозреваю, что проблема в правах на пользователя либо в самой внешней обработке "ТД"
Но главный момент пользователя для которого это нужно в том, что он должен видеть только тарифную ставку, которую указывает в форме для печати
Индекс находится за границами массива
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(1057)}:ВыводимаяОбласть.Параметры.ТарифнаяСтавка = НачисленияСотрудников[0].ОписаниеОклада;// + ЗарплатаКадрыОтчеты.ТарифнаяСтавкаНаПечать(НачисленияСотрудников[0].ТарифнаяСтавка);
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(857)}:ТрудовойДоговорВывестиРаздел("Раздел_ОплатаТрудаРаботника", ТаблицаТрудовогоДоговора, Макет, ДанныеДоговора, ПараметрыНумерации);
{ВнешняяОбработка.ТрудовойДоговорНОВЫЙ.МодульОбъекта(197)}:КоллекцияПечатныхФорм, "ПФ_MXL_ТрудовойДоговор", ЭтотОбъект.Метаданные().Представление(),
{ОбщийМодуль.УправлениеПечатью.Модуль(2100)}:ВнешняяОбработкаОбъект.Печать(
{ОбщийМодуль.УправлениеПечатью.Модуль(2016)}:ПечатьПоВнешнемуИсточнику(
{(1)}:УправлениеПечатью.СформироватьПечатныеФормыВФоне(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(9864)}:Возврат Вычислить(ИмяМетода + "(" + ПараметрыСтрока + ")"); // АПК:488 Исполняемый код безопасен.
{ОбщийМодуль.ДлительныеОперации.Модуль(1745)}:Результат = ОбщегоНазначения.ВызватьФункциюКонфигурации(ИмяФункции, ПараметрыПроцедуры);
{ОбщийМодуль.ДлительныеОперации.Модуль(1641)}:ВызватьФункцию(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
Но учитывая то, что пользователь с правами администратора, и кадровик обычный (конфигурацией заданный) могут просматривать, подозреваю, что проблема в правах на пользователя либо в самой внешней обработке "ТД"
Но главный момент пользователя для которого это нужно в том, что он должен видеть только тарифную ставку, которую указывает в форме для печати
(5) А как получаете коллекцию "НачисленияСотрудников" ?
Что за метод (в печатной форме)? Какие параметры?
Расчетчик не может утвердить приём, он не является многофункциональным документом.
Там есть галочка "Приказом установлены ежемесячные начисления", вот она должна быть.
И сами плановые начисления тоже
Что за метод (в печатной форме)? Какие параметры?
Расчетчик не может утвердить приём, он не является многофункциональным документом.
Там есть галочка "Приказом установлены ежемесячные начисления", вот она должна быть.
И сами плановые начисления тоже
(7) Если я правильно понимаю, то эта информация получается из раздела "Кадры -> Штатное расписание" и там по сотрудникам. Верно?
На данный момент получилось решить вопрос открытия печатного документа при помощи добавления следующих прав пользователю:
- Добавление и изменение данных для начисления зарплаты расширенная
- Чтение без просмотра плановых начислений
При открытии карточки сотрудника, отсутствует информация о начислениях и выплатах.
Печать документа становится доступна без ошибки
В разделе "Кадры -> штатное расписание" отсутствует информация заработной плате сотрудника.
Скажите пожалуйста, на сколько такое решение является жизнеспособным ? или при таких разрешениях появляются какие-то НО?
На данный момент получилось решить вопрос открытия печатного документа при помощи добавления следующих прав пользователю:
- Добавление и изменение данных для начисления зарплаты расширенная
- Чтение без просмотра плановых начислений
При открытии карточки сотрудника, отсутствует информация о начислениях и выплатах.
Печать документа становится доступна без ошибки
В разделе "Кадры -> штатное расписание" отсутствует информация заработной плате сотрудника.
Скажите пожалуйста, на сколько такое решение является жизнеспособным ? или при таких разрешениях появляются какие-то НО?
(8) Блин..
Ну я думал, у вас есть некто, кто может внятно проанализировать ситуацию и недостаточность прав пользователя.
А у вас с этим всё плохо, мягко говоря.
Здесь совокупность следующего
1. Как в печатной форме получаете описание плановых начислений сотруднику, назначенных при приёме.
2. Он принят "Приёмом" или через "Начальную штатную расстановку" ? (в которой нет начислений именно при приёме)
3. Есть права или нет прочитать плановые начисления пользователю при исполнении печатной формы. В сложных случаях, когда строгие ограничения и есть допуск, получение данных и их обработку в примитивные типы можно делать в привилегированном режиме.
4. Если допустимо получить пустую коллекцию плановых начислений из-за прав, в печатной форме должно быть решение на этот счет. Если Коллекция.Количество() = 0 Тогда делаем то-то.
В общем, куча неизвестного, что у вас происходит.
трудно дать финальный ответ
Ну я думал, у вас есть некто, кто может внятно проанализировать ситуацию и недостаточность прав пользователя.
А у вас с этим всё плохо, мягко говоря.
Здесь совокупность следующего
1. Как в печатной форме получаете описание плановых начислений сотруднику, назначенных при приёме.
2. Он принят "Приёмом" или через "Начальную штатную расстановку" ? (в которой нет начислений именно при приёме)
3. Есть права или нет прочитать плановые начисления пользователю при исполнении печатной формы. В сложных случаях, когда строгие ограничения и есть допуск, получение данных и их обработку в примитивные типы можно делать в привилегированном режиме.
4. Если допустимо получить пустую коллекцию плановых начислений из-за прав, в печатной форме должно быть решение на этот счет. Если Коллекция.Количество() = 0 Тогда делаем то-то.
В общем, куча неизвестного, что у вас происходит.
трудно дать финальный ответ
(11) Да, понимаю, поэтому пытаюсь разобраться и задаю вопросы, чтобы лучше понимать что вообще нужно смотреть... К сожалению, я один и мне надо с этим разобраться...
Мягко говоря у меня всё ужасно, потому что с ЗУП-ом и с правами я ещё не разбирался, а из-за обновления всё полетело, выяснилось и надо исправить... До обновления всё работало исправно, без проблем...
Что написано в этой форме обработки - я честно говоря пока не имею представления, хотелось бы понять как её вообще вытащить, потому что самого файла найти не получается, тот кто это ставил - ушел
Мягко говоря у меня всё ужасно, потому что с ЗУП-ом и с правами я ещё не разбирался, а из-за обновления всё полетело, выяснилось и надо исправить... До обновления всё работало исправно, без проблем...
Что написано в этой форме обработки - я честно говоря пока не имею представления, хотелось бы понять как её вообще вытащить, потому что самого файла найти не получается, тот кто это ставил - ушел
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот