Имя: Пароль:
1C
 
Добавление строки в цикле
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
Хочу продолжить тему разговора
Программист всегда исправляет последнюю ошибку.