Индекс находится за границами массива

1. Skaredov 152 27.02.14 19:03 Сейчас в теме
Типовая конфигурация ЗиКБУ8.2
При запуске с рабочего стола "Персонал-Аттестации сотрудников" ошибка:
{Обработка.АттестацииРаботников.Форма.Форма.Форма(32)}: Индекс находится за границами массива
Аттестации.Порядок[0].Направление = НаправлениеСортировки.Убыв;
Только у одного пользователя. Причём журнал этих документов запускается без проблем.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
15. fzt 01.03.14 13:54 Сейчас в теме
Кажется моей квалификации в данный момент недостаточно чтобы это решить не прибегая к конфигуратору.
Я просто предпологаю что эти настройки таки можно отредактировать какой-нибудь разработкой.
Дело действительно в хранимых настройках пользователей.
Точнее в её отсутствии, это явно бажок разработчиков.
Как такое повторить для любого пользователя (чтобы ошябка проявилась у другого пользователя):
Открываем этот список аттестаций.
Вкладка Аттестации
Кнопка Отбор и сортировка
Вкладка Сортировка.
Убрать все ил левой колонки и флажок на использовать эту настройку сортировки пр иоткрытии
ОК

Короче юзер никогда не откроет эту форму, поскольку в таком случае "Порядок[0]" кой ДОЛЖЕН иметь тип "ЭлементПорядка" его не имеет, ибо тупо не создан, а не создан поскольку не то чтобы не прочитан из настроек. А как-раз вполне может и прочитан, но элементов не содержит (поэтому и выходит за границы массива поскольку Порядок[0] нулевой даже элемент там не существует.)


Предлагаю решение такое - В конфигураторе всю конфу открываете для редактирования с сохранением поддержки.
Строчку конкретно эту
Аттестации.Порядок[0].Направление = НаправлениеСортировки.Убыв;
Которая в Обработка.АттестацииРаботников.Форма
за номером 32 комментируете.
Заходите под проблемным юзером, ставите ей сортировку по дате и галку (ошибка перестанет проявлятся).
Возвращяете конфигурацию в исходнео состояние любым дсоутпным методом (типа вы её даже не ковыряли).

Но я бы сделал тупенько вот так (добавил пару строчек вокруг баги):

	Попытка
		Аттестации.Порядок[0].Направление = НаправлениеСортировки.Убыв;
	Исключение
	КонецПопытки;
При обновлении это не помешает затереть их нафиг тем, что предлагает поставщик, на работе это никак не отразиться. Просто вам окошко вылезет, где будут сравнены ваша конфигурация и предлагаемое обновление.

По времени ушло 68 минут. Если желаете оплатить - в личку милости просим =)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
11. kote 536 28.02.14 13:16 Сейчас в теме
(1) Skaredov,

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

Или попробуйте создать настройку по умолчанию новую под этим пользователем.
13. Skaredov 152 28.02.14 19:55 Сейчас в теме
(11) kote, А можете поподробнее про "сохраненные настройки фильтров" - как их почистить?
2. fzt 27.02.14 20:19 Сейчас в теме
Если это не связано с правамми (дайте ему на время полные) то почистите кеш профиля юзера хранимого ОС.
Редко, но на "побитых жизнью" ИБ профили повреждаются. В этом случае его можно просто скопировать.

Ещё вы могли недавно обновиться и собственно у пользователя нет роли, у которой было бы право использовать обработку Обработка.АттестацииРаботников.
3. Skaredov 152 28.02.14 11:53 Сейчас в теме
(2) fzt, Проблема не связана с профилем пользователя ОС, только с самой ИБ - при копировании ИБ на другой ПК та же ошибка. С правами или ролью пользователя ИБ тоже не связано - проверил. Да как можно объяснить такую ошибку отсутствием прав.
4. adva 45 28.02.14 12:00 Сейчас в теме
Может где-то в конфе хранятся некорректные настройки формы для данного пользователя?
5. adva 45 28.02.14 12:00 Сейчас в теме
Где именно не подскажу, т.к. в глаза не видел эту конфу
6. Skaredov 152 28.02.14 12:33 Сейчас в теме
(5) adva, В этом то и вопрос. Вы думаете это зависит от конфигурации?
7. adva 45 28.02.14 12:51 Сейчас в теме
(6) думаю может зависеть, но наверняка в типовых одинаково (может быть используется подсистема БСП), но я так понимаю это на управляемых формах, мне это где-то попадалось на глаза, но не могу всмпонить где
8. adva 45 28.02.14 12:55 Сейчас в теме
Есть какой-то новый объект ХранилищеНастроек, но я к сожалению с ним не работал
9. adva 45 28.02.14 12:56 Сейчас в теме
Попробуй поискать по слову ХранилищеНастроекДанныхФорм (глобальный объект)
10. adva 45 28.02.14 12:59 Сейчас в теме
В УТ 11 есть процедура общего модуля
Процедура ХранилищеНастроекДанныхФормУдалить(КлючОбъекта, КлючНастроек, ИмяПользователя) Экспорт

Думаю это она. Скорее всего такая же и в проблемной конфе
12. fzt 28.02.14 14:30 Сейчас в теме
Ну обезличь базу и кинь её в личку посмотреть. Уверен там делов на дцать минут.
14. alex_sayan 01.03.14 08:54 Сейчас в теме
Отладчик что говорит?
15. fzt 01.03.14 13:54 Сейчас в теме
Кажется моей квалификации в данный момент недостаточно чтобы это решить не прибегая к конфигуратору.
Я просто предпологаю что эти настройки таки можно отредактировать какой-нибудь разработкой.
Дело действительно в хранимых настройках пользователей.
Точнее в её отсутствии, это явно бажок разработчиков.
Как такое повторить для любого пользователя (чтобы ошябка проявилась у другого пользователя):
Открываем этот список аттестаций.
Вкладка Аттестации
Кнопка Отбор и сортировка
Вкладка Сортировка.
Убрать все ил левой колонки и флажок на использовать эту настройку сортировки пр иоткрытии
ОК

Короче юзер никогда не откроет эту форму, поскольку в таком случае "Порядок[0]" кой ДОЛЖЕН иметь тип "ЭлементПорядка" его не имеет, ибо тупо не создан, а не создан поскольку не то чтобы не прочитан из настроек. А как-раз вполне может и прочитан, но элементов не содержит (поэтому и выходит за границы массива поскольку Порядок[0] нулевой даже элемент там не существует.)


Предлагаю решение такое - В конфигураторе всю конфу открываете для редактирования с сохранением поддержки.
Строчку конкретно эту
Аттестации.Порядок[0].Направление = НаправлениеСортировки.Убыв;
Которая в Обработка.АттестацииРаботников.Форма
за номером 32 комментируете.
Заходите под проблемным юзером, ставите ей сортировку по дате и галку (ошибка перестанет проявлятся).
Возвращяете конфигурацию в исходнео состояние любым дсоутпным методом (типа вы её даже не ковыряли).

Но я бы сделал тупенько вот так (добавил пару строчек вокруг баги):

	Попытка
		Аттестации.Порядок[0].Направление = НаправлениеСортировки.Убыв;
	Исключение
	КонецПопытки;
При обновлении это не помешает затереть их нафиг тем, что предлагает поставщик, на работе это никак не отразиться. Просто вам окошко вылезет, где будут сравнены ваша конфигурация и предлагаемое обновление.

По времени ушло 68 минут. Если желаете оплатить - в личку милости просим =)
20. Skaredov 152 02.03.14 08:14 Сейчас в теме
(15) fzt, полностью с вами согласен. спасибо за анализ.
16. fzt 01.03.14 14:04 Сейчас в теме
В ручную никак нельзя короче.
Ну да, теперь понятно что скорее всего помогла бы публикация:
http://infostart.ru/public/150007/
Если тупо поудалять настройки юзера проблемного.
А почему топик в Life?
19. Skaredov 152 02.03.14 08:11 Сейчас в теме
(16) fzt, пробовал эту обработку, удалил все сохраненные настройки этого пользователя - не помогло.
17. SaschaL 01.03.14 18:52 Сейчас в теме
У меня подобная ошибка вылазиет у одного пользователя в УПП,
причем с периодичностью раз недели в 3, решаю простой чисткой кеша в профиле пользователя.
Как как вариант просто попробуйте удалить базу из списка а затем снова добавьте её
18. fzt 01.03.14 19:15 Сейчас в теме
(17) SaschaL, это не в профиле пользователя ОС проблема. Это конкретно в БД хранимая настройка пользовательская. Решится в идеале это должно фиксом от разработчика.

Видимо у вас ошибка другого рода.
Вообще коллега мне непонятна такая ситуация, что вы чего-то там раз в сколько то недель делаете. А по сих пор не избавились. Кидайте мне, я экспу покачаю.
У моих все как часы работает.
Оставьте свое сообщение

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