Имя: Пароль:
1C
1С v8
Цикл
0 antiteror91
 
22.08.12
17:43
Мне сказали что цикл в программе можно заменить на одну строчку кода. Подскажите пожалуйста как избавиться от цикла???
1 IronDemon
 
22.08.12
17:44
Что, уже пятница?
2 luckyluke
 
22.08.12
17:44
я даже как-то растерялся...
3 luckyluke
 
22.08.12
17:46
(0) по всей видимости, тебе про какой-то метод коллекции сказали, например метод НайтиСтроки() таблицы значений.
4 Wobland
 
22.08.12
17:47
1:0 в пользу знатоков, однако
5 mikecool
 
22.08.12
17:47
ЗаменитьЦиклНаОднуСтрочкуКода()
с автора 300р
6 Wobland
 
22.08.12
17:49
(5) это неспортивно. надо так: Пока Выборка.Следующий Цикл КонецЦикла
7 antowski
 
22.08.12
17:49
Было:


Для сч = 1 по 100 Цикл
  <что-то делаем>;
КонецЦикла;


Стало:


Для сч = 1 по 100 Цикл   <что-то делаем>; КонецЦикла;
8 1C-band
 
22.08.12
17:49
http://infostart.ru/public/71130/

Большая производительность при записи цикла одной строкой обусловлена меньшим количеством вызовов интрепретатора языка 1С.
9 PR
 
22.08.12
17:49
(0) Нал, безнал?
10 antiteror91
 
22.08.12
17:50
(5), (6) не переписать в одну строчку а избавиться от цикла
11 mikecool
 
22.08.12
17:51
(10) ну как узнаешь - отсыпь плиз
12 antiteror91
 
22.08.12
17:51
(9) нал ))
13 Wobland
 
22.08.12
17:52
(8) большая производительность видна только в режиме отладки
14 Wobland
 
22.08.12
17:53
(12) перечисляй (3), он выиграл
15 aleks-id
 
22.08.12
17:53
налетели коршуны. (10) давай свой цикл от которого избавиться надо
16 antiteror91
 
22.08.12
17:53
(8) ссыль че то не пашет что там??
17 PR
 
22.08.12
17:53
(12) Оплата почасовая, предоплата. Работаем?
18 aleks-id
 
22.08.12
17:53
гггг инфосрат положили
19 antiteror91
 
22.08.12
17:54
"ВЫБРАТЬ
                |    Номенклатура.Ссылка,
                |    Номенклатура.ЕдиницаИзмерения
                |ИЗ
                |    Справочник.Номенклатура КАК Номенклатура
                |ГДЕ
                |    Номенклатура.ЭтоГруппа = ЛОЖЬ
                |    И Номенклатура.Родитель В ИЕРАРХИИ(&Папка)";
                Запрос.УстановитьПараметр("Папка", Папка);
               Данные = Запрос.Выполнить().Выбрать();
                Объект.Товары.Очистить();
               //Пока Данные.Следующий() Цикл
               //    НоваяСтрока = Объект.Товары.Добавить();
               //    НоваяСтрока.Номенклатура= Данные.Ссылка;
               //    НоваяСтрока.ЕдиницаИзмерения= Данные.ЕдиницаИзмерения;
               //    КонецЦикла;
20 antowski
 
22.08.12
17:54
Можно еще цикл заменить на рекурсию :)
21 Wobland
 
22.08.12
17:54
(19) Товары.Загрузить()
22 antiteror91
 
22.08.12
17:54
+(19) зеленое убрать надо
23 Wobland
 
22.08.12
17:55
+(21) с тебя 500 рублей
24 aleks-id
 
22.08.12
17:55
Объект.Товары.Загрузить(Запрос.Выполнить().Выгрузить());
25 aleks-id
 
22.08.12
17:56
//Данные = Запрос.Выполнить().Выбрать();
//Объект.Товары.Очистить();
26 Lionee
 
22.08.12
17:56
все лег info start, положили  его ,отмучался
27 antowski
 
22.08.12
17:56
Эх... 500 рублей сорвалось )
28 antiteror91
 
22.08.12
17:59
че то выбивает(((
29 Wobland
 
22.08.12
18:03
(28) забей
30 antiteror91
 
22.08.12
18:18
"ВЫБРАТЬ
                |    Номенклатура.Ссылка КАК Номенклатура,
                |    Номенклатура.ЕдиницаИзмерения
                |ИЗ
                |    Справочник.Номенклатура КАК Номенклатура
                |ГДЕ
                |    Номенклатура.ЭтоГруппа = ЛОЖЬ
                |    И Номенклатура.Родитель В ИЕРАРХИИ(&Папка)";
                Запрос.УстановитьПараметр("Папка", Папка);
               //Данные = Запрос.Выполнить().Выбрать();
                Объект.Товары.Очистить();
               //Пока Данные.Следующий() Цикл
               //    НоваяСтрока = Объект.Товары.Добавить();
               //    НоваяСтрока.Номенклатура= Данные.Ссылка;
               //    НоваяСтрока.ЕдиницаИзмерения= Данные.ЕдиницаИзмерения;
               //    КонецЦикла;
               //Объект.Товары.Загрузить();
               Объект.Товары.Загрузить(Запрос.Выполнить().Выгрузить());

Вот правильный вариант) только зеленое не учитывается
31 rbcvg
 
22.08.12
18:21
"только зеленое не учитывается" - быть не может...
32 antiteror91
 
22.08.12
18:26
(31) хорошо что вы только острить горазды!!! (ведь ничего путного от вас в этой теме нету....)
33 ЧашкаЧая
 
22.08.12
18:30
(32) Как нету, а (24) для кого?
34 antiteror91
 
22.08.12
18:34
(33) мое обращение (32) персонально к "rbcvg", а на ветке много сообщений которые мне помогли и которым я благодарен!!!
35 Fragster
 
гуру
22.08.12
19:08
любой цикл можно заменить рекурсией
36 Ksandr
 
22.08.12
20:44
Любой цикл можно заменить на "Перейти" :)
37 olegves
 
23.08.12
10:04
(30) не факт, что так 1С отработает быстрее
38 wowik
 
23.08.12
10:17
(8) странная фигня, действительно так. плюс автору.
39 Wobland
 
23.08.12
10:20
(38) прочитай (13) и проверь
40 Reset
 
23.08.12
10:25
(37) Факт

(30) Очистить() тоже комментарь