![]() |
![]() |
![]() |
|
Как перебрать все значение колонок в таблице значений | ☑ | ||
---|---|---|---|---|
0
PaulProject
20.04.10
✎
19:05
|
Доброго времени суток форумчане. Есть небольшая сложность: в таблице значений есть всего одна строка, нужно найти в каких колонках этой сроки пустое значение, сообщить их наименование и выйти. Помогите пожалуйста.
|
|||
1
Prikum
20.04.10
✎
19:27
|
Есть коллекция колонок, в цикле бегай по ней и смотри свое значение! Как то так!
|
|||
2
ilgizinjo
20.04.10
✎
19:29
|
ТЗ = Новый ТаблицаЗначений;
Строка = ТЗ.Получить(0); к = 0; Пока к <ТЗ.Колонки.Количество() цикл Если Строка.Получить(к) = "" тогда Прервать; Иначе к= 1+к; КонецЕсли; КонецЦикла; Сообщить(к); |
|||
3
Just4Fun
20.04.10
✎
20:01
|
Колонки = ТЗ.Колонки;
Для каждого колонка из Колонки Цикл ЗначениеПоля = ТЗ[0][Колонка.Имя]; КонецЦикла |
|||
4
PaulProject
20.04.10
✎
23:21
|
А как понять строку которая заключена в цикл?
|
|||
5
Лефмихалыч
20.04.10
✎
23:23
|
(4) а как понять этот пост?
|
|||
6
PaulProject
20.04.10
✎
23:50
|
Функция ПроверкаДанных(Результат)
Колонки = Результат.Колонки; Ошибка = Ложь; Для Каждого колонка из Колонки Цикл Если Результат[0][Колонка.Имя] = Неопределено Тогда Сообщить("Данное поле не заполнено: " + Колонка.Имя); Ошибка = Истина; КонецЕсли; КонецЦикла; Возврат Ошибка; КонецФункции Я написал так, пишет ошибку Индекс находится за границами массива Если Результат[0][Колонка.Имя] = Неопределено Тогда |
|||
7
Птица
20.04.10
✎
23:53
|
значит, таблица пустая
|
|||
8
Abracadabra
21.04.10
✎
00:27
|
МассивИменКолонок = Новый Массив;
Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл МассивИменКолонок.Добавить(Колонка.Имя); КонецЦикла; //Обходим всю таблицу Для Каждого СтрокаТаблицы Из ТаблицаЗначений Цикл Для Сч = 0 По МассивИменКолонок.ВГраница() Цикл Если Не ЗначениеЗаполнен(СтрокаТаблицы[МассивИменКолонок[Сч]]) Тогда Сообщить(МассивИменКолонок[Сч] + " в строке ~ " + СтрокаТаблицы.Индекс()); Прервать; КонецЕсли; КонецЦикла; КонецЦикла; Примерно так. |
|||
9
Птица
21.04.10
✎
00:33
|
(8) а зачем имена в массив? думаешь , по скорости большая разница?
единственное, имеет смысл перед циклом сохранить коолекцию колонки в переменной, чтобы не обращаться заново каждый раз. и то не факт, что это нужно |
|||
10
Abracadabra
21.04.10
✎
03:59
|
(9) для удобства в основном. В скорости весомого выигрыша не будет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |