|
Недопустимое значение параметра (параметр номер '1') | ☑ | ||
---|---|---|---|---|
0
AndrewDron
17.05.13
✎
22:48
|
Извините, если уже поднимали эту тему.
У меня есть документ1. В нем есть 2 табличные части, в которые должны заноситься соответствующие реквизиты из другого документа2. В документе1 есть поле, которое указывает сколько записей закидать с ТаблЧасть1, а все оставшееся кидать в ТаблЧасть2. Пробовал писать процедуру, но выдает ошибку : "{Документ.РейтингиАбітурієнтів.Форма.ФормаДокумента.Форма(17)}: Ошибка при вызове метода контекста (Получить) Объект.Зараховані.Получить(Счетчик); по причине: Недопустимое значение параметра (параметр номер '1')" Вот Процедура: &НаСервере Процедура Запрос() Запрос = Новый Запрос; Запрос.Текст = "Выбрать |(Фамилия + Имя + Отчество) КАК Абитуриент, ЗНО, Льготы |ИЗ |Документ.Документ2 |Упорядочить По ЗНО Убыв" ; Результат = Запрос.Выполнить(); Объект.ТаблЧасть1.Загрузить(Результат.Выгрузить()); Счетчик = 0; Счетчик = Объект.ТаблЧасть1.Количество(); Пока Счетчик > Объект.План Цикл Объект.ТаблЧасть1.Получить(Счетчик); // на эти 2 строчки ругается почему-то Объект.ТаблЧасть1.Удалить(Счетчик); Счетчик = Счетчик - 1; КонецЦикла; КонецПроцедуры Я пересмотрел много примеров, вроде так все. Но почему не работает? |
|||
1
AndrewDron
17.05.13
✎
22:51
|
Это я просто пытался удалить ненужные строки, хотя, их нужно как-то перекинуть в ТаблЧасть2
Может, у кого идеи какие? |
|||
2
KsiLan
17.05.13
✎
22:59
|
А если так
Счетчик = Объект.ТаблЧасть1.Количество()-1; насколько я помню нумерация начинается с 0 то есть общее количество у тебя 10 а нумерация с 0 по 9 |
|||
3
AndrewDron
17.05.13
✎
23:05
|
Ну вообще да
Но суть в том, что ругается на строчки " Объект.ТаблЧасть1.Получить(Счетчик); Объект.ТаблЧасть1.Удалить(Счетчик);" Не хочет удалять лишние строки. То есть я поставлю в реквизите документа1, например, План = 10. а документов2, например 20. с каждого будет браться значение Фамилия + Имя + Отчество) КАК Абитуриент, ЗНО, Льготы и добавляться с ТаблЧасть1. но нужно, чтобы 10 попало в ТаблЧасть1, а остальные в ТаблЧасть2 |
|||
4
AndrewDron
17.05.13
✎
23:11
|
Написал
Счетчик = Объект.ТаблЧасть1.Количество()-1; Только теперь не так слегка удаляет У меня 3 документа есть. План стоит - 2. То есть должно перекинуть только 2 в ТаблЧасть1, а перекидает 3 Если ставлю План = 1 , то переносит 2 записи А как бы мне теперь не просто удалять, а перекидать лишние в ТаблЧасть2? |
|||
5
KsiLan
17.05.13
✎
23:13
|
)))))
тк индекс он же текущее количество -1 Пока (Счетчик+1) > Объект.План Цикл |
|||
6
AndrewDron
17.05.13
✎
23:15
|
Только что так и сделал. Работает.
Спасибо огромное. Очень мне помог. Я целый день с этим воюю 24 надо диплом сдать. там тема "приемная комиссия на 1С". а начал я делать только в понедельник) |
|||
7
AndrewDron
18.05.13
✎
00:20
|
Теперь не могу вникнуть как мне удалить в ТаблЧасть2 лишние строки. Например, в ТаблЧасть1 мы удалили 3 снизу. всего 5
то есть в ТаблЧасть2 надо удалить первые 2 сверху |
|||
8
AndrewDron
18.05.13
✎
00:39
|
Почему это неадекватно выводит?
Счетчик2 = 1; Пока Счетчик2 <= Объект.ТаблЧасть2.Количество()-Объект.План Цикл Объект.ТаблЧасть2.Удалить(Счетчик2); Счетчик2 = Счетчик2 + 1; КонецЦикла; |
|||
9
AndrewDron
18.05.13
✎
00:52
|
и как может работать этот код?
Счетчик = Объект.ТаблЧасть1.Количество()-1; Пока (Счетчик+1) > Объект.План Цикл Объект.ТаблЧасть1.Удалить(Счетчик); Счетчик = Счетчик - 1; КонецЦикла; ведь Пока (Счетчик+1), а потом Счетчик = Счетчик - 1 он же не меняется? но строки удаляются те,что надо. КАК? |
|||
10
exwill
18.05.13
✎
01:06
|
(9)
Пока (Счетчик+1) не изменяет значение переменной Счетчик. |
|||
11
mistеr
18.05.13
✎
01:08
|
(0) Кидай все в одну ТЧ. А на форме показывай два ТП с отбором.
|
|||
12
exwill
18.05.13
✎
01:10
|
(8) После каждого
Объект.ТаблЧасть2.Удалить( Объект.ТаблЧасть2.Количество() будет выдавать новое значение. |
|||
13
AndrewDron
18.05.13
✎
01:21
|
Счетчик = Объект.ТаблЧасть1.Количество()-1
Счетчик+1 = Объект.ТаблЧасть1.Количество()-1+1 это я понял "Кидай все в одну ТЧ. А на форме показывай два ТП с отбором." как? дело обстоит так. например, есть 5 записей. в одну ТЧ надо кинуть 3, в другую 2 я загружаю сначала все 5 в каждую ТЧ потом с первой убираю 2 последних кодом Счетчик = Объект.Зараховані.Количество()-1; Пока (Счетчик+1) > Объект.План Цикл Объект.Зараховані.Удалить(Счетчик); Счетчик = Счетчик - 1; КонецЦикла; я хотел теперь так же со второй ТЧ убрать 3 первых кодом Счетчик2 = 1; Пока Счетчик2 <= Объект.ТаблЧасть2.Количество()-Объект.План Цикл Объект.ТаблЧасть2.Удалить(Счетчик2); Счетчик2 = Счетчик2 + 1; КонецЦикла; но оно как-попало там их удаляет |
|||
14
AndrewDron
18.05.13
✎
17:59
|
Справился
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |