![]() |
![]() |
|
Добавление строки в цикле | ☑ | ||
---|---|---|---|---|
0
nastyaaa
03.10.07
✎
19:15
|
Увжаемые программисты, ранее Вы мне помогли добавить в цикл колонку.
А как добавить строчку в цикл? Добавление колонки в цикле: Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл ТЗ.Колонки.Добавить("Дата"+Строка(Пер)); КонецЦикла; |
|||
1
PR
03.10.07
✎
19:18
|
Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл
ТЗ.Добавить("Дата"+Строка(Пер)); КонецЦикла; |
|||
2
PR
03.10.07
✎
19:18
|
А фото будет? :))
|
|||
3
PR
03.10.07
✎
19:18
|
Точнее не.
Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл ТЗ.НоваяСтрока(); КонецЦикла; |
|||
4
CaNNaBiS
03.10.07
✎
19:33
|
(3) по моему все-таки
ТЗ.Добавить(); |
|||
5
PR
03.10.07
✎
20:06
|
Ой, блин, это же 8.0 %)
Конечно Добавить() :)) |
|||
6
nastyaaa
03.10.07
✎
20:09
|
Не работает! ругается именно на эту строчку:
ТЗ.Добавить("Значения"+Строка(Пер)); {Форма.Отчет(46)}: Слишком много фактических параметров ТЗ.Добавить("Значения"+Строка(Пер)); |
|||
7
PR
03.10.07
✎
20:11
|
(6) А не надо в параметрах ничего передавать.
Так фото будет? :)) |
|||
8
Wladimir_spb
03.10.07
✎
20:11
|
(1)Зачем параментры?
Название строки))) |
|||
9
nastyaaa
03.10.07
✎
20:11
|
Полностью выглядит так:
Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл Если Стр=Перечисления.СостоянияРаботникаОрганизации.Работает Тогда ТЗ.Добавить("Значения"+Строка(Пер)); Стр.Значения=" "; Иначе // Флаг = истина; ////Если РегистрыСведений.СостояниеРаботниковОрганизаций.СрезПоследних().Найти( ТЗ.Добавить("Значения"+Строка(Пер)); Стр.Значения="Х"; КонецЕсли; КонецЦикла; |
|||
10
ЗлобнийМальчик
03.10.07
✎
20:11
|
Выполнить(ТЗ.Добавить("Значения"+Строка(Пер))) попробуй
|
|||
11
Wladimir_spb
03.10.07
✎
20:13
|
(2,7) Дежурный совет актуален как никогда: "В поиск..." (с) :)
|
|||
12
nastyaaa
03.10.07
✎
20:14
|
(10)
ругается все равно Форма.Отчет(47)}: Слишком много фактических параметров Выполнить(ТЗ.Добавить("Значения"+Строка(Пер))); |
|||
13
ЗлобнийМальчик
03.10.07
✎
20:15
|
хотя что я глючу - у метода Тз.добавить не может быть аргументов (если ТЗ - это таблицаЗначений)
|
|||
14
nastyaaa
03.10.07
✎
20:15
|
(11) Хорош стебаться! ))))
|
|||
15
PR
03.10.07
✎
20:15
|
(12) Мда, видимо не судьба Насте :))
Про фото игнорирует, советов не улавливает... :)) |
|||
16
nastyaaa
03.10.07
✎
20:15
|
(13)
ТЗ-это таблица значений |
|||
17
ЗлобнийМальчик
03.10.07
✎
20:16
|
ТаблицаЗначений (ValueTable)
Добавить (Add) Синтаксис: Добавить() Возвращаемое значение: Тип: СтрокаТаблицыЗначений. Описание: Добавляет строку в конец таблицы значений. Пример: НоваяСтрока = ТаблицаЦен.Добавить(); НоваяСтрока.Товар = ТекТовар; НоваяСтрока.Цена = ПолученнаяЦена; |
|||
18
nastyaaa
03.10.07
✎
20:16
|
(15)
Да было фото!!! |
|||
19
nastyaaa
03.10.07
✎
20:16
|
||||
20
PR
03.10.07
✎
20:16
|
Идеее? :))
Как только будет ссылка, через минуту будет код :)) |
|||
21
ЗлобнийМальчик
03.10.07
✎
20:16
|
можно только так Поле = Тз.Добавить();
кстати посмотрите свою тему v8: Цикл, Таблица значений - не помогло??? |
|||
22
PR
03.10.07
✎
20:17
|
(19) О, другое дело :))
Жди :)) |
|||
23
ЗлобнийМальчик
03.10.07
✎
20:17
|
(20) злыдень ты
//оффтоп - ты ещё вопросы про построитель отчетов принимаешь?? |
|||
24
PR
03.10.07
✎
20:17
|
Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл
Если Стр=Перечисления.СостоянияРаботникаОрганизации.Работает Тогда ТЗ.Добавить(); ТЗ.ИмяКолонки = "Значения"+Строка(Пер); Стр.Значения=" "; Иначе // Флаг = истина; ////Если РегистрыСведений.СостояниеРаботниковОрганизаций.СрезПоследних().Найти( ТЗ.Добавить(); ТЗ.ИмяКолонки = "Значения"+Строка(Пер); Стр.Значения="Х"; КонецЕсли; КонецЦикла; |
|||
25
IronDemon
03.10.07
✎
20:18
|
Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл
НоваяСтрока=ТЗ.Добавить(); НоваяСтрока.НужнаяПеременная = "Дата"+Строка(Пер); КонецЦикла; з.ы. конец дня :) |
|||
26
PR
03.10.07
✎
20:18
|
(23) Я их всегда принимаю :))
|
|||
27
ЗлобнийМальчик
03.10.07
✎
20:19
|
(26) создаю новую ветку)))))
|
|||
28
nastyaaa
03.10.07
✎
20:23
|
(24)
эээ ИмяКолонки...дело в том что колонки тоже в цикле получаются Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл ТЗ.Колонки.Добавить("Дата"+Строка(Пер)); КонецЦикла; |
|||
29
nastyaaa
03.10.07
✎
20:23
|
(27)
А ты работаешь? Такдопоздна, или просто сам изучаешь? :) |
|||
30
nastyaaa
03.10.07
✎
20:24
|
(25)
Вот именно что конец дня а я на работе! |
|||
31
nastyaaa
03.10.07
✎
20:24
|
:( Вот такие пироги. Хочу домой!!!!
|
|||
32
ЗлобнийМальчик
03.10.07
✎
20:25
|
(29) работаю/пишу
документ пишется медленно - пока система перезагрузится((( (28) весь цикл гони - тогда будет понятнее |
|||
33
ЗлобнийМальчик
03.10.07
✎
20:26
|
(31) не знаю, я второй месяц на работе, а всё ещё фанатею.
Даже домой не особо хочется |
|||
34
nastyaaa
03.10.07
✎
20:27
|
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ФИО"); ТЗ.Колонки.Добавить("Организация"); ТЗ.Колонки.Добавить("Подразделение"); ТЗ.Колонки.Добавить("Должность"); //Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) //ТЗ.Колонки.Добавить("_"+пер); //КонецЦикла; Стр=РегистрыСведений.СостояниеРаботниковОрганизаций.СрезПоследних(); Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл ТЗ.Колонки.Добавить("Дата"+Строка(Пер)); КонецЦикла; Стр=ТЗ.Добавить(); Стр.ФИО = ФизЛицо; Стр.Организация = Организация; Стр.Подразделение = "Потом впишу"; Стр.Должность = "Потом впишу"; Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл Если Стр=Перечисления.СостоянияРаботникаОрганизации.Работает Тогда ТЗ.Добавить(); ТЗ.Дата = "Значения"+Строка(Пер); Стр.Значения=" "; Иначе ТЗ.Добавить(); ТЗ.Дата = "Значения"+Строка(Пер); Стр.Значения="Х"; КонецЕсли; КонецЦикла; ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); Сообщить("Число колонок табличного поля: "+ ЭлементыФормы.ТабличноеПоле1.Колонки.Количество()); |
|||
35
PR
03.10.07
✎
20:28
|
(33) Всего лишь второй месяц?
Сопляк :))) |
|||
36
ЗлобнийМальчик
03.10.07
✎
20:30
|
(34) хочу кое что отметить - если ты всё ещё мучаешься с тем же отчетом то логика твоей программы неправильна
Ты берёшь срез последних по определенному работнику - а что будет если состояние работника поменяется 2 раза за месяц?????? ну допустим, болел он с 15 по 25 числа. Твой метод - со срезом последних - тебе такую картину не выдаст |
|||
37
ЗлобнийМальчик
03.10.07
✎
20:31
|
(35) ник смотри
|
|||
38
nastyaaa
03.10.07
✎
20:31
|
(35)
Может лучше поможешь.... |
|||
39
nastyaaa
03.10.07
✎
20:32
|
(36) Все тот же. Пусть он выведет хотя бы так
|
|||
40
nastyaaa
03.10.07
✎
20:32
|
(36)
А потом разберемся |
|||
41
nastyaaa
03.10.07
✎
20:32
|
Возьмем без срезов апросто регистр
|
|||
42
PR
03.10.07
✎
20:33
|
(38) Эээ..., так я же помог :o)
А, блин, неправильно :))) НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.ИмяКолонки = Значение; |
|||
43
nastyaaa
03.10.07
✎
20:34
|
ИмяКолонки...дело в том что колонки тоже в цикле получаются
Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл ТЗ.Колонки.Добавить("Дата"+Строка(Пер)); КонецЦикла; |
|||
44
ЗлобнийМальчик
03.10.07
✎
20:35
|
(36) не разберёшься. ты сначала продумай что твоя программа делать будет а потом - как.
Может быть я назойлив излишне, но ИМХО я в ветке v8: Цикл, Таблица значений дал тебе вполне рабочую таблицу значений |
|||
45
nastyaaa
03.10.07
✎
20:38
|
(44)
я знаю что дал |
|||
46
nastyaaa
03.10.07
✎
20:38
|
посмотрим
|
|||
47
nastyaaa
03.10.07
✎
20:38
|
Народ помогите с этим г...
|
|||
48
nastyaaa
03.10.07
✎
20:38
|
!!!!!
|
|||
49
ЗлобнийМальчик
03.10.07
✎
20:40
|
(43) ну, если ты так уверена что разберёшься потом то держи)))
тебе не надо добавлять каждый раз строку - тебе надо всего то лишь присваивать нужной колонке нужное значение Стр=РегистрыСведений.СостояниеРаботниковОрганизаций.СрезПоследних(); Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл ТЗ.Колонки.Добавить("Дата"+Строка(Пер)); КонецЦикла; Стр=ТЗ.Добавить(); Стр.ФИО = ФизЛицо; Стр.Организация = Организация; Стр.Подразделение = "Потом впишу"; Стр.Должность = "Потом впишу"; Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл Если Стр=Перечисления.СостоянияРаботникаОрганизации.Работает Тогда Выполнить("ТЗ[0]."+"Дата"+Строка(Пер)+"=Значения+Строка(Пер);"); Стр.Значения=" "; Иначе Выполнить("ТЗ[0]."+"Дата"+Строка(Пер)+"=Значения+Строка(Пер);"); Стр.Значения="Х"; КонецЕсли; КонецЦикла; так работает??? |
|||
50
PR
03.10.07
✎
20:41
|
Стр=РегистрыСведений.СостояниеРаботниковОрганизаций.СрезПоследних();
Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл ТЗ.Колонки.Добавить("Дата"+Строка(Пер)); КонецЦикла; Стр=ТЗ.Добавить(); Стр.ФИО = ФизЛицо; Стр.Организация = Организация; Стр.Подразделение = "Потом впишу"; Стр.Должность = "Потом впишу"; Для пер=1 По День(КонецМесяца(Дата(ПолеДата))) Цикл Если Стр=Перечисления.СостоянияРаботникаОрганизации.Работает Тогда НС = ТЗ.Добавить(); НС.Дата = "Значения"+Строка(Пер); Стр.Значения=" "; Иначе НС = ТЗ.Добавить(); НС.Дата = "Значения"+Строка(Пер); Стр.Значения="Х"; КонецЕсли; КонецЦикла; ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); Сообщить("Число колонок табличного поля: "+ ЭлементыФормы.ТабличноеПоле1.Колонки.Количество()); |
|||
51
ЗлобнийМальчик
03.10.07
✎
20:43
|
(50) у неё в ТЗ нету колонки Дата - Сам посмотри)))
|
|||
52
ЗлобнийМальчик
03.10.07
✎
20:44
|
у неё есть колонки Дата1 Дата2 и тд))))
|
|||
53
ЗлобнийМальчик
03.10.07
✎
20:45
|
Уважаемая анастасия, если Вы уйдёте - хоть предупредите нас)))
|
|||
54
PR
03.10.07
✎
20:45
|
(51) Что она присваивала, то я и пытаюсь присвоить :))
|
|||
55
PR
03.10.07
✎
20:47
|
Вместо
Выполнить("ТЗ[0]."+"Дата"+Строка(Пер)+"=Значения+Строка(Пер);"); надо писать ТЗ[0]["Дата"+Строка(Пер)]=Значения+Строка(Пер); кстати говоря :)) |
|||
56
ЗлобнийМальчик
03.10.07
✎
20:49
|
ТаблицаЗначений (ValueTable)
Элементы коллекции: СтрокаТаблицыЗначений Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции. Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс строки. СтрокаТаблицыЗначений (ValueTableRow) Элементы коллекции: Произвольный Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения в колонке данной строки. Возможно обращение к значению колонки данной строки посредством оператора [...]. В качестве аргумента передается индекс колонки. Грхм если индекс - это строка - то мне сейчас поплохеет |
|||
57
PR
03.10.07
✎
20:51
|
(56) Я утверждать не буду, но вроде как всегда имя колонки работало :)))
|
|||
58
ЗлобнийМальчик
03.10.07
✎
20:59
|
(57) господи боже мой, это действительно работает!!!!!
Мама, когда я решил стать программистом 1с, почему ты меня по башке пыльным мешком не стукнула??? индекс как строка убиться можно((((( |
|||
59
PR
03.10.07
✎
21:00
|
Просто там можно не только индекс, но и имя передавать :))
|
|||
60
ЗлобнийМальчик
03.10.07
✎
21:05
|
написано - индекс. Значит имя - это тоже индекс
|
|||
61
ЗлобнийМальчик
03.10.07
✎
21:05
|
где ещё такой бред можно увидеть, кто нибудь знает???
|
|||
62
nastyaaa
04.10.07
✎
09:33
|
Уважаемые программисты, к сожалению не получилось предупредить, что я выхожу из-за того, что меня просто выгнали с рабочего места, сказали, что задерживаться нельзя. Ивсе.
|
|||
63
nastyaaa
04.10.07
✎
09:33
|
Хочу продолжить тему разговора
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |