|
ТЗ или как пробежаться по его данным | ☑ | ||
---|---|---|---|---|
0
PeaceDeath
18.03.13
✎
16:34
|
Добрый вечер.
Прошу помочь.. немогли бы вы подсказать как работает следующий механизм. Для Каждого Параметра из Результат Цикл НоваяСтрока = ТабЗнач.Добавить(); Для i=0 по ТабЗнач.Количество() Цикл ТабЗнач.Колонки.Добавить(); Для j=0 по ТабЗнач.Колонки.Количество() Цикл КонецЦикла; КонецЦикла; КонецЦикла; Никак не пойму принцип - Из общего запроса вытащить в ТЗ все данные.(Вытащил) Затем пробежаться циклом по строкам (??ТУТ???). и только в конце по колонкам(??ТУТ??)). Обьясните пожалуйста без громких высказываний. Приведите легкий пример.. |
|||
1
exwill
18.03.13
✎
16:36
|
по колонкам не инадо
|
|||
2
exwill
18.03.13
✎
16:38
|
В чем разница между строками и колонками?
|
|||
3
GLazNik
18.03.13
✎
16:38
|
(0) Зачем?
Может просто Запрос.Выполнить().Выгрузить(); |
|||
4
Reset
18.03.13
✎
16:38
|
Объясни, чего надо то тебе, без громких слов :)
|
|||
5
Reset
18.03.13
✎
16:41
|
Вывод значений ТЗ поколоночно:
Для каждого Строка из ТЗ цикл Для каждого Значение из Строка цикл Сообщить(Значение); КонецЦикла; КонецЦикла; или Для каждого Строка из ТЗ цикл Для й=0 по ТЗ.Колонки.Количество()-1 цикл Сообщить(Строка[ТЗ.Колонки[й].Имя]); КонецЦикла; КонецЦикла; |
|||
6
PeaceDeath
18.03.13
✎
16:53
|
(5) Спасибо! А то мне здесь ужасное задание прислали.
|
|||
7
pessok
18.03.13
✎
16:54
|
(6) если ты не можешь сделать сам обход многомерного массива циклом, то выкинь задание и дуй в институт
|
|||
8
PeaceDeath
18.03.13
✎
16:56
|
(2) А в том что в зависимости от колонки будет меняться и пропускаться значение.
То есть если попадется Оплата труда тогда вычислится его колонка и задастся значение, которое после пойдет в отчет. |
|||
9
PeaceDeath
18.03.13
✎
16:57
|
(7) Не сыпь мне соль на рану...
|
|||
10
PeaceDeath
18.03.13
✎
16:57
|
Просто запутался... к тому же я не прогер. а лишь стажер
|
|||
11
GANR
18.03.13
✎
17:17
|
Напишем человеческим языком:
Для Каждого СтрокаТЧ Из ТабЗнач Цикл Для Каждого Колонка Из ТабЗнач.Колонки Цикл СтрокаТЧ[Колонка.Имя] = ЗначениеЯчейкиТаблицыЗначений; КонецЦикла; КонецЦикла; Это не матрица - это таблица значений, все-таки. |
|||
12
pessok
18.03.13
✎
17:18
|
(11) таблица значений - это сущность, придуманная хитрыми разрабами платформы :) на самом деле это матрица/многомерный массив
|
|||
13
GANR
18.03.13
✎
17:20
|
(12) С точки зрения п о л ь з о в а т е л я платформы (программиста 1С, то есть) это не совсем матрица.
|
|||
14
Reset
18.03.13
✎
17:21
|
(11) Нормальный вариант тоже. Я написал то, что в голову пришло первым. Но насчет нечеловеческого языка это ты зря :)
Где-то, как вариант, цикл со счетчиком может оказаться удобней. |
|||
15
GANR
18.03.13
✎
17:26
|
(14) Где-то в области матанализа, но для таких задач MathLAB есть - это уже история другая. Не стоит это возлагать на платформу 1С.
|
|||
16
Reset
18.03.13
✎
17:27
|
(15) Какого матанализа?
Допустим, нужно обработать колонки, начиная с третьей. |
|||
17
GANR
18.03.13
✎
17:31
|
(16) Лично я что-то не натыкался на такую надобность.
|
|||
18
pessok
18.03.13
✎
17:37
|
(17) сплошь и рядом, на самом деле. табель, например, где Сотрудник, Организация, Подразделение не надо трогать :)
|
|||
19
GANR
18.03.13
✎
17:42
|
(18) Было дело у меня с множеством колонок. В таких ситуациях, как-то, имени колонки GUID очищенный от "-" с префиксом "P_" присвоил - и голова не болит. :)
|
|||
20
pessok
18.03.13
✎
17:43
|
(19) вот жеж онанизм какой ;)
|
|||
21
GANR
18.03.13
✎
17:49
|
(20) А на кой мне её порядковый номер??? Главное - идентифицировать, а для этого лучше GUIDов в мире пока что ничего не придумано. А вдруг какие-то колонки удаляться нежданно-негаданно или переместятся.
|
|||
22
pessok
18.03.13
✎
17:51
|
(21) и вот у тебя надо пропустит двести колонок, ты делаешь форич и потом в условии пропускаешь две колонок по гуиду...
|
|||
23
pessok
18.03.13
✎
17:51
|
двести колонок... реально пора домой
|
|||
24
GANR
18.03.13
✎
17:54
|
(22) Колонки.Найти(GUID)
|
|||
25
Reset
18.03.13
✎
17:57
|
(21) >>А на кой мне её порядковый номер
А если тебе нужно ее сдвинуть влево? Какой-то ты сегодня категоричный. Тяжелый день? :) |
|||
26
pessok
18.03.13
✎
17:57
|
(24) двести раз, угу :)
Для Каждого ТекСтр Из Таблица Цикл Для Каждого Коли Из Таблица.Колонки Цикл Если Колонки.Найти(GUID) = Неопределено Тогда Продолжить; КонецЕсли //вот тут придется делать условие для каждого гуида, который надо пропустить КонецЦикла; КонецЦикла |
|||
27
pessok
18.03.13
✎
17:58
|
все, домой :) нафик холивары. циклы всякие нужны, циклы всякие важны ;)
|
|||
28
Reset
18.03.13
✎
17:58
|
(27) +100
|
|||
29
GANR
18.03.13
✎
18:01
|
(27) А вот это зачет ))))). Развеселил.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |