Индекс находится за пределами массива #674911


#0 by black_cat1305
Добрый день! Прошу вас не закидывайте меня комнями!!!! Помогите разобраться в чем дело?! Написала обработку, но при проведении выдает сообщение "индекс находится за пределами массива". Отладчиком проверяю все нормально, уже и незнаю где и в каком месте рыть((( Вот сама обработка
#1 by ДенисЧ
Кто угадает, в каком месте ошибка, тот получит приз! Так?
#2 by Maxus43
в ошибке вобще то пишется и в какой строке ошибка
#3 by SeraFim
количество строчек в "РезультатФункционал" меньше, чем количество строк в "РезультатПользователь" Например в РезультатПользователь - 10 строк, а в РезультатФункционал - 5. ты пытаешься обратиться к РезультатФункционал[9] - а его просто нету
#4 by SeraFim
там отмечено комментарием, где ошибка))
#5 by SeraFim
ой, прелесть-то какая: запрос в цикле!
#6 by ДенисЧ
Чо, я всю портянку читать долден?
#7 by Maxus43
молодец, приз предоставит автор, как не самому ленивому)
#8 by Godofsin
не долден, не долден )))
#9 by black_cat1305
тогда как мне можно обойти данную ошибку, так как в запросе РезультатПользователей может быть много пользователей, а во втором запросе РезультатФункционал меньше(((
#11 by black_cat1305
простите меня о великие люди 1С!!! Я только учусь
#13 by Godofsin
А чо ты там отладчиком проверяла? Сравнивала РезультатФункционал.Количество и инд?
#14 by black_cat1305
я так и знала что в ход пойдут камни
#15 by Godofsin
Дааа.... вот это нам нравится ))))
#16 by Maxus43
тут проблема не программирования, а логики. Ты же понимаешь причину? разное количество строк в коллекциях. Как её обойти - зависит от задачи, и простой логики
#17 by aka AMIGO
не отклоняйтесь от темы
#18 by Starhan
У тебя в той строке где ошибка Значение инд больше чем строчек в запросе - 1.
#19 by Starhan
вывод плохо проверяла отладчиком.
#20 by Maxus43
в РегистрСведений.ku_ФункционалПользователя нет Пользователь?
#21 by black_cat1305
Это я уже поняла, что плохо проверяла, моя ошибка
#22 by Starhan
чем строчек в таблице РезультатФункционал*
#23 by black_cat1305
в Регистре есть пользователь
#24 by Infsams654
так в 1-м запросе в ТЗ надо бы еще пользователя выгрузить, а потом в том месте где ошибка искать в этом ТЗ нужного пользователя, т.к. [инд] никаким боком к нему не относится
#25 by black_cat1305
понятно, сейчас попробую сделать
#26 by Maxus43
ну логично предположить что функционал надо проверять конкретного пользователя, а не всех. СодержитЛиФункц( - зачем эта функция вобще, если уже есть список пользователей и их функционалов в одном регистре? Или я плохо вижу, или все 3 запроса практически одинаковы, и вытащить всё можно одним
#27 by Godofsin
+1
#28 by black_cat1305
я через эти запросы пытаюсь вывести отчет. Выгружаю всех пользователей и функционал и проставляю соответствующие галочки (в зависимости у пользователя какой функционал)
#29 by black_cat1305
поэтому запросы все почти одинаковы
#30 by black_cat1305
по вертикали у меня пользователи, а по горизонтали функционал
#31 by Maxus43
я верю, но зачем 3 запроса? Я вижу: 1. вытаскиваем функционал (игноря что там есть и пользователь) 2. тоже что и п.1 только по пользователям 3. у кажного пользователя из п.2 ПОРВЕРЯЮ есть ли функционал из п.1 Ну ты же и так знаешь уже у какого пользователя что есть.
#32 by Godofsin
ЛевоеСоединение тебе помощь и проверка на НУЛЛ
#33 by Infsams654
+1, а у пользователя может быть несколько функционалов ?
#34 by black_cat1305
может быть очень много функционалов
#35 by Godofsin
"Функционал" в регистре сведений что из себя представляет?
#36 by Starhan
видимо это она так пытается в отчете столбцы по функционалу вывести.
#37 by black_cat1305
я только новичок в этом(знаю что это не опровдание). Вы правы я пытаюсь вывести по функционалу столбцы
#38 by Infsams654
так тогда бери всех пользователей одним запросом из РС вместе с функционалом и выводи. Если РС периодический, то на дату
#39 by black_cat1305
)
#40 by Maxus43
безразницы. надо так наверно: 1. Вытащить список всех возможных функционалов. 2. вытащить список пользователей с ИХ функционалами 3. Столбцы выводишь по п.1, а по п.2 понимаешь что данный функционал есть, и ставишь в столбце крыжик. Как то так наверно
#41 by black_cat1305
я все никак не соображу как мне сделать тогда 3. Столбцы выводишь по п.1, а по п.2 понимаешь что данный функционал есть, и ставишь в столбце крыжик.
#42 by black_cat1305
простите за мою тупость(((
#43 by Maxus43
ВсеФункционалы - Массив со всеми возможными. не повторяющимися ВсеПользователи - массив со всеми порльзователями, не повторяющимися ТаблицаЮзеров - запрос в регистру по полям Юзер и функционал. Далее Цикл1 - по ВсеПользователи, выводишь строку с юзером цикл2 - по ВсеФункционалы, выводишь столбец с функционалом. внутри цикла2 этот функционал есть у юзера. Ставь крыжик, иначе нету
#44 by Infsams654
ну наверное, надо сначала определить сколько возможных функционалов может быть, из запроса, построить из макета строку без вывода ТабДок.Присоединить( а затем заполнять копированием этой строки в макет с соответствующими галочками
#45 by black_cat1305
спасибо вам большое всем!!!
#46 by Maxus43
>>ну наверное, надо сначала определить сколько возможных функционалов может быть >>ВсеФункционалы - Массив со всеми возможными. не повторяющимися
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С