Имя: Пароль:
1C
1С v8
Как сделать красивый цикл?
0 wowik
 
04.06.18
10:54
Есть массив с n элементами. Каждый элемент массива таблица значений.
Необходимо сложить первую строку таблицы значений первого элемента с первой строкой второго второго, с первой строкой третьего и т.д.    
Для массива с 3-мя элементами цикл выглядит так:              
    Для Каждого СтрокаТаблицы из МассивТЗ[0] Цикл
        Для Каждого СтрокаТаблицы1 из МассивТЗ[1] Цикл
            Для Каждого СтрокаТаблицы2 из МассивТЗ[2] Цикл                
                ВВ = СтрокаТаблицы.Сумма+ СтрокаТаблицы1.Сумма + СтрокаТаблицы2.Сумма;                
                Если ВВ = 5 Тогда
                                  Сообщить("123");    
                 КонецЕсли;
            КонецЦикла;         
        КонецЦикла;           
    КонецЦикла;       

Как сделать цикл для обхода массива с n элементами?
1 DrShad
 
04.06.18
10:55
рекурсия
2 wowik
 
04.06.18
10:56
(1) код можно для примера?  думал о рекурсии, не пойму как.
3 DrShad
 
04.06.18
10:57
(2) гугл в помощь обход дерева значений
4 Вафель
 
04.06.18
10:57
(2) Чтобы понять рекурсию нужно понять рекурсию
5 wowik
 
04.06.18
10:59
хотелось бы получить стоящие ответы, напишите, если кто сталкивался.
6 DrShad
 
04.06.18
11:00
(5) и что тебе еще не ответили?
7 DrShad
 
04.06.18
11:01
+(6) если ты не понял ответ - это не означает, что тебе его не дали )))
8 wowik
 
04.06.18
11:01
(6) ты вот приведи пример или кинь ссылку. К гуглу отправить все могут)
9 DrShad
 
04.06.18
11:02
(8) не хами
10 Вафель
 
04.06.18
11:02
(8) слишком простой вопрос. поэтому влом что-то искать
11 wowik
 
04.06.18
11:03
(9) (10) коллеги, не знаете, не пишите, не засоряйте тему.
12 Вафель
 
04.06.18
11:04
(11) вот если бы ты написал: нашел алгоритм обхода дерева, но не получается то-то и то-то. Тогда другой вопрос
13 PR
 
04.06.18
11:04
(11) Коллега, не умеешь работать с рекурсией, иди нахрен гугли рекурсию
Загуглишь, вернешься, доложишь об окончании изучения рекурсии
14 PR
 
04.06.18
11:06
Половина постов в ветке — ответ на вопрос в (0)
Так нет, дайте готовый код, а то я не в курсах, что там еще за рекурсии ваши
15 wowik
 
04.06.18
11:11
(3) - по этому совету нашел это v8: Обход дерева значений  Буду разбираться, спасибо.
16 PR
 
04.06.18
11:12
Удивительное рядом. It's a magic!
17 Cool_Profi
 
04.06.18
11:16
Никогда не думай о рекурсии, иначе уйдёшь в рекурсию и помрёшь по исчерпании памяти...
18 DrShad
 
04.06.18
11:24
(17) главное выход из нее сделать не забыть и все будет хорошо
19 Cool_Profi
 
04.06.18
11:25
(18) Главное - не забыть выйти из неё...
20 igorPetrov
 
04.06.18
11:28
Не забудь выйти из нее
21 wowik
 
04.06.18
11:30
(15) не, все равно не понятно. Нужны еще советы.
22 hawksib
 
04.06.18
11:34
"Необходимо сложить первую строку таблицы значений первого элемента с первой строкой второго второго, с первой строкой третьего и т.д.     "
И что в результате получается?
23 DrShad
 
04.06.18
11:36
(21) давай по-порядку
что конкретно не понятно?
24 Вафель
 
04.06.18
11:37
(23) он решил считерить.
ветку найду, а дальше код готовый буду просить )))
25 PR
 
04.06.18
11:39
А потом такие приходят и 150 просят
26 hawksib
 
04.06.18
11:40
(23) вы понимаете как задача стоит?

"Необходимо сложить первую строку таблицы значений первого элемента с первой строкой второго второго, с первой строкой третьего и т.д.     "

не пойму что у автора получиться должно, по коду вообще какой-то мрак написан, таблицу 1 сложит саму с собой столько раз, сколько строк в нулевой таблице, а таблицу 2 ещё намного раз больше
27 PR
 
04.06.18
11:46
(26) Чувак хочет сделать полный перебор всех комбинаций значений строк нескольких ТЗ с целью поиска тех, в которых сумма этих значений = 5
Идиотская задача, да
28 wowik
 
04.06.18
11:49
(27) все правильно!
29 Вафель
 
04.06.18
11:50
(28) УУУУ. рано тебе еще такие задачки решать
30 PR
 
04.06.18
11:56
(28) Скупая слеза прожгла борозду на изможденном лице

Чего тебе не хватает-то? Вроде уже все написали, что делать.
31 Dotoshin
 
04.06.18
12:01
(25) А сколько вы даете за написание циклов? :)
32 wowik
 
04.06.18
12:08
(30) нужно прям конкретный код написать.
33 PR
 
04.06.18
12:08
(31) Я не понял твоего вопроса
С расценками можешь ознакомиться в двух ветках - вакансиях :))
34 wowik
 
04.06.18
12:09
(23) все не понятно. было бы понятно, не писал бы на всеобщем форуме добродетелей)
35 PR
 
04.06.18
12:09
(32) А, так ты бы сразу так и сказал
Ну так озвучь сумму вознаграждения, желающих набежит...
36 Малыш Джон
 
04.06.18
12:12
Почему типовые не используешь?

ОбщийМодульФункцийКогдаНеЗнаешьАХочется.СложитьПервуюСтрокуТаблицыЗначенийПервогоЭлементаСПервойСтрокойВторогоВторогоСПервойСтрокойТретьегоИТД(Массив);
37 Адинэснег
 
04.06.18
12:12
(2)
Учебник Информатика 9 класс Горячев Островский часть 2
38 igorPetrov
 
04.06.18
12:12
(32) ха... ха...
39 wowik
 
04.06.18
12:49
(35) 10 баксов инфостарта.
40 wowik
 
04.06.18
12:51
(39) для PR 11, если сделает)
41 Вафель
 
04.06.18
12:58
(40) откуда вообще задача взялась? курсовая чтоли?
42 DrShad
 
04.06.18
13:02
(39) за такое вознаграждение я лучше бесплатно понаблюдаю за развитием событий
43 Optan
 
04.06.18
13:06
(0) А вторые, третьи и т.д. строки ТЗ потом надо складывать?
44 wowik
 
04.06.18
13:19
(42) не бесплатно, а за счет работодателя) все же сидят в рабочее время)
45 wowik
 
04.06.18
13:20
(43) да, все элементы нужно обойти
46 wowik
 
04.06.18
13:20
(41) наблюдайте бесплатно, как другие)
47 DrShad
 
04.06.18
13:25
(44) не все работают на дядю
48 Малыш Джон
 
04.06.18
13:26
...кому-то и тети достаются
49 Tateossian
 
04.06.18
13:29
Я так понимаю, это просто агрегатная сумма по полю «Сумма» всех таблиц значений?
50 PR
 
04.06.18
13:39
(40) Хех, знаешь, подлец, чем заинтересовать :))
Недавно хотел что-то скачать по интеграции Слэка с 1С, а там эти инфосраномани потребовали
Давай 50 вперед и кидай заготовку кода, сделаю, пришлю готовый вариант
51 Мандалай
 
04.06.18
13:41
Вам че влом рекурсию написать человеку?
52 Мандалай
 
04.06.18
13:42
(36)Не нашел такого, ткни пальцем
53 PR
 
04.06.18
13:42
(51) Порви рубаху на груди, напиши сам
В качестве вишенки на торте напиши второй вариант  без рекурсии
Докажи нам всем
54 DrShad
 
04.06.18
13:43
(51) рекурсию нужно понимать, а чтобы ее понять ее нельзя скопипастить - нужно самому написать
55 PR
 
04.06.18
13:43
(52) Ты просто не там смотришь, найди уже по Ctfl + Shift + F что ли
56 Мандалай
 
04.06.18
13:43
(0)Друх, может тебе того? В запрос все кинуть?
57 Мандалай
 
04.06.18
13:45
(54)Уверяю тебя - можно :)
58 Мандалай
 
04.06.18
13:47
(54)Alt + Ctfl + Shift + F4 помогло
59 DrShad
 
04.06.18
13:47
(57) ну объясни ТСу что это за зверь такой - может поймет
60 Мандалай
 
04.06.18
13:47
(58) к (55)
61 VS-1976
 
04.06.18
13:48
Я что-то не понял рекурсировать никто не собирается, и автору придётся делать всё самому? :)
62 Мандалай
 
04.06.18
13:48
(59)Не, ты меня не понял. Можно скопипастить рекурсию так, что она начнет работать, даже не до конца понимая как она работает :)
63 PR
 
04.06.18
13:50
(62) А ты (21) прочитал?
64 DrShad
 
04.06.18
13:50
(62) найти правильную рекурсию для копипаста еще сложнее, чем ее написать )))
65 wowik
 
04.06.18
13:55
(56) а вы молодец! да, в запрос все кинул, через декартово произведение таблиц все работает, все ок. Но вот обычный вариант интересно тоже сделать/посмотреть.
66 PR
 
04.06.18
13:56
(65) Обычный — это который с рекурсией?
А то декартово произведение так-то и без рекурсии написать можно
67 wowik
 
04.06.18
13:57
(66) с рекурсией, другие варианты может есть.
68 PR
 
04.06.18
13:58
(67) Еще раз, любую рекурсию можно реализовать без рекурсии
69 VS-1976
 
04.06.18
13:58
(67) Можно и без запроса заделать методом Свернуть предварительно создав 1 таблицу
70 DrShad
 
04.06.18
14:00
(65) тема была про красивый цикл
71 antgrom
 
04.06.18
14:03
в этой теме "про цикл" почти в каждом сообщении - про рекурсию.
Сдаётся мне, что вся эта тема - это и есть цикл про рекурсию ...
72 VS-1976
 
04.06.18
14:03
(67) Тут задача в 2 цикла решается

Для пКолонка = 0 По МассивТЗ[0].Количество() - 1 Цикл
  пСумма = 0;
  Для пТаблица = 0 По МассивТЗ.Количество() - 1 Цикл
    пСумма = пСумма + МассивТЗ[пТаблица][пКолонка];
73 VS-1976
 
04.06.18
14:05
(72) Забыл про строки. Тоже примерно так же 3-й цикл
74 Optan
 
04.06.18
14:07
(72) Суммы наверное отдельно для каждого номера строки надо хранить (IMHO)


СоответствиеДляСумм = Новый Соответствие;

Для каждого элМассива Из МойМассивТЗшек Цикл
    Для каждого строкаТЗ Из элМассива Цикл
        НомерСтроки = элМассива.Индекс(строкаТЗ);
        ЗначениеСоответствия=СоответствиеДляСумм.Получить(НомерСтроки);
        Если ЗначениеСоответствия=Неопределено тогда
            СоответствиеДляСумм.Вставить(НомерСтроки,строкаТЗ.КолонкаСЦифиркой);    
        Иначе
            СоответствиеДляСумм.Вставить(НомерСтроки,ЗначениеСоответствия+строкаТЗ.КолонкаСЦифиркой);        
        КонецЕсли;
    КонецЦикла;
КонецЦикла;

75 VS-1976
 
04.06.18
14:07
Для пКолонка = 0 По МассивТЗ[0].Колонки.Количество() - 1 Цикл
  пСумма = 0;
  Для пСтрТаблица = 0 По МассивТЗ[0].Количество() - 1 Цикл
    Для пТаблица = 0 По МассивТЗ.Количество() - 1 Цикл
      пСумма = пСумма + МассивТЗ[пТаблица][пСтрТаблица][пКолонка];

Что-то подобное
76 arsik
 
гуру
04.06.18
14:12
Может я чего то не понимаю, но не проще просто перебором вот так?
Сумма = 0;
Для Каждого МояТЗ из мойМассив Цикл
    Сумма = Сумма+МояТЗ[0].Сумма;
КонецЦикла;
77 VS-1976
 
04.06.18
14:14
(76) У него в коде не только 0-я строка, а все складываются
78 arsik
 
гуру
04.06.18
14:17
(77) Да с чего это? В (0) четко указано "первую строку таблицы значений первого элемента с первой строкой второго второго, с первой строкой третьего и т.д."
79 Бычье сердце
 
04.06.18
14:18
Для инд=0 по МойМассив Цикл
Сумма = МойМассив[инд]*(инд+1);
КонецЦикла;
80 Бычье сердце
 
04.06.18
14:18
Для инд=0 по МойМассив.Количество()-1 Цикл
81 Малыш Джон
 
04.06.18
14:19
(78) ну написано же "и т.д.") включай уже свой телепатор)
82 Бычье сердце
 
04.06.18
14:19
Для инд=0 по МойМассив.Количество()-1 Цикл
Сумма = Сумма +МойМассив[инд]*(инд+1);
КонецЦикла;
Вот так наверное
83 arsik
 
гуру
04.06.18
14:22
+(78) Вот вариант для всех строк
мойМассив = Новый Массив;
моеСоответствие = Новый Соответствие;

для Сч = 0 по мойМассив[0].Количество()-1 Цикл
    моеСоответствие.Вставить(Сч,0);
КонецЦикла;

Для Каждого МояТЗ из мойМассив Цикл
    Для Элемент из моеСоответствие Цикл
        Элемент.Значение = Элемент.Значение+МояТЗ[Элемент.Ключ].Сумма;
    КонецЦикла;
КонецЦикла;
84 arsik
 
гуру
04.06.18
14:29
+(83) Ошибка Правильнее так.
мойМассив = Новый Массив;
моеСоответствие = Новый Соответствие;

для Сч = 0 по мойМассив[0].Количество()-1 Цикл
    моеСоответствие.Вставить(Сч,0);
КонецЦикла;

Для Каждого МояТЗ из мойМассив Цикл
    Для Каждого Элемент из моеСоответствие Цикл
        Элемент.Значение = Элемент.Значение+МояТЗ[Элемент.Ключ].Сумма;
    КонецЦикла;
КонецЦикла;
85 wowik
 
04.06.18
15:07
(84) что-то здесь не так. Нужно перебрать все строки всех элементов массива.
86 VS-1976
 
04.06.18
15:11
(85) Строки различной длины? Если да то давай автор пиши уже наконец-то рекурсию :)
87 arsik
 
гуру
04.06.18
15:19
(85) В таблицах количество строк одинаковое?
88 arsik
 
гуру
04.06.18
15:48
Добью. Если количество строк одинаковое во всех ТЗ то вот это быстрее будет.
мойМассив = Новый Массив;
моиСуммы = Новый Массив;

максИндексСтрок = мойМассив[0].Количество()-1;
для Сч = 0 по максИндексСтрок Цикл
    моиСуммы.Добавить(0);
КонецЦикла;

Для Каждого МояТЗ из мойМассив Цикл
    Для Сч = 0 по максИндексСтрок Цикл
        моиСуммы[Сч] = моиСуммы[Сч] + МояТЗ[Сч].Сумма;
    КонецЦикла;
КонецЦикла;
89 wowik
 
04.06.18
16:08
(87) количество строк в ТЗ разное
90 wowik
 
04.06.18
16:08
(86) пиши)  мог бы, написал уже)
91 drumandbass
 
04.06.18
16:23
судя по твоему примеру просто

Для Каждого СтрокаТаблицы2 из МассивТЗ[МассивТЗ.Количество()-1] Цикл  
КонецЦикла

Но если пример не правилен и СтрокаТаблицы2  содержит массив тогда нужна рекурсия
92 drumandbass
 
04.06.18
16:27
Вот пример

вызов
Рекурсия(МассивТЗ);

Процедура Рекурсия(МассивТЗ)

Для каждого стр из МассивТЗ цикл
Если ТипЗнч(Стр) = Тип("Массив") Тогда
Рекурсия(Стр);
Иначе
Сообщить(Стр.Блаблабла);
КонецЕсли;

КонецЦикла


КонецПроцедуры
93 arsik
 
гуру
04.06.18
16:33
(89) Тогда так
С попыткой.
Для Каждого МояТЗ из мойМассив Цикл
    максИндексСтрок = МояТЗ.Количество()-1;
    Для Сч = 0 по максИндексСтрок Цикл
        Попытка
            моиСуммы[Сч] = моиСуммы[Сч] + МояТЗ[Сч].Сумма;
        Исключение
            моиСуммы.Добавить(0);
            моиСуммы[Сч] = моиСуммы[Сч] + МояТЗ[Сч].Сумма;
        КонецПопытки;
    КонецЦикла;
КонецЦикла;


Без попытки.
Для Каждого МояТЗ из мойМассив Цикл
    максИндексСтрок = МояТЗ.Количество()-1;
    максИндексМассива = моиСуммы.Количество()-1;
    Пока максИндексМассива>максИндексСтрок Цикл
        моиСуммы.Добавить(0);
        максИндексМассива = максИндексМассива+1;
    КонецЦикла;
    
    Для Сч = 0 по максИндексСтрок Цикл
        моиСуммы[Сч] = моиСуммы[Сч] + МояТЗ[Сч].Сумма;
    КонецЦикла;
КонецЦикла;
94 0xFFFFFF
 
04.06.18
16:35
(0) Слить все в одну ТЗ, свернуть результат.
95 arsik
 
гуру
04.06.18
16:37
(94) Долго
96 wowik
 
05.06.18
09:14
(93) что-то тут все равно не то.
Не увидел где учитывается разное количество строк в таблицах.
97 wowik
 
05.06.18
09:15
(94) это как?
98 arsik
 
гуру
05.06.18
09:35
(96) Ну как так то?
моиСуммы - массив. Количество элементов этого массива -  максимальное количество во всех таблицах. В каждом элементе накапливается сумма по индексу строки. Индекс строки ТЗ = индеску элемента в массиве.
99 wowik
 
05.06.18
09:38
(98) сейчас еще раз отладчиком гляну.
100 arsik
 
гуру
05.06.18
09:42
(99) Сотка.
Нашел ошибку
Пока максИндексМассива>максИндексСтрок Цикл
заменить на
Пока максИндексСтрок>максИндексМассива Цикл
101 wowik
 
05.06.18
09:47
Элемент 1:
Строка 1: 1
Строка 2: 2

Элемент 2:
Строка 1: 2
Строка 2: 4

получается в моиСуммы :
3
6

Перебирает не все.

Или я не то смотрю?
102 МихаилМ
 
05.06.18
09:49
если задание в (0)

я бы так сделал
1) пронумеровал строки вложенных тз.
2) обединил тз
3) свернул по номеру строки.

далее искать требуемые суммы.
103 wowik
 
05.06.18
09:52
(102) здесь получится, я так понял, суммы первых элементов, суммы вторых элементов и т.д. А где сумма первого и второго, второго и первого?
104 Optan
 
05.06.18
10:11
(103) В подробном! описании задания, которые ты от нас тщательно скрываешь
105 wowik
 
05.06.18
10:15
(104) задание в описании. надо перебрать все строки всех таблиц.
106 arsik
 
гуру
05.06.18
10:25
(105) Для...?
107 wowik
 
05.06.18
10:28
(106) как по мне, так описание в (0) исчерпывающее. Сделать также, но красиво. Зачем придумывать "для чего" , "и такие просят 150", "что-то скрываешь",... .  Если кто знает, напишите.
108 arsik
 
гуру
05.06.18
10:31
(107) Ну на основании (0) (93) - это то что надо.
109 wowik
 
05.06.18
10:31
(108) см (101)
110 arsik
 
гуру
05.06.18
10:35
(109) Да все правильно. (93) это твой вариант.
111 wowik
 
05.06.18
10:40
(110) см (107)
112 Мимохожий Однако
 
05.06.18
10:55
(107) Не увиливай. Ответь на вопрос.
113 wowik
 
06.06.18
09:23
Ну давайте, кто сделает! Повышаю ставку. Пусть будет 20 баксов ифностарта за правильное и красивое решение. Использование оператора "Выполнить" запрещается, использование запросов тоже запрещается.
114 DrShad
 
06.06.18
09:25
(113) да никому не нужны твои копейки
115 PR
 
06.06.18
09:26
Позовите, когда дойдет хотя бы до 50 :))
116 wowik
 
06.06.18
09:28
(114) (115) а как же показать что вы реальные специалисты, просящие от 150??))
117 wowik
 
06.06.18
09:28
показали бы свою квалификацию)
118 PR
 
06.06.18
09:29
(116) Я ее каждый день показываю клиентам по 3500 в час
119 wowik
 
06.06.18
09:29
(118) ну вот за сколько примерно времени смогли бы сделать эту задачу?
120 DrShad
 
06.06.18
09:29
(117) ну для чего мне ее тебе показывать? у меня есть клиенты, которые видели квалификацию и которые довольны
121 hhhh
 
06.06.18
09:29
(117) ну есть же 1с-лансер туда и обращайся. Там за тысячу рублей 5 таких циклов тебе зафигачат. Чего ты чудишь?
122 DrShad
 
06.06.18
09:30
(119) пол часа с кофе, печеньками и перекуром
123 wowik
 
06.06.18
09:31
(122) хорошо. 3500/2 = 1750 - это сколько баксов инфостарта?
124 catena
 
06.06.18
09:33
Боже, шел третий день...
125 wowik
 
06.06.18
09:33
(124) тут третий. так задача уже недели 3 висит))
126 wowik
 
06.06.18
09:35
(121) придется туда пойти по ходу.
127 hhhh
 
06.06.18
09:36
(125) ну просто ты должен еще форуму за размещение вакансии. Это Волшебник чего-то отвлекся. Здесь вакансии и проекты платные. тут 1750 не обойдешься. Готов тысяч 30.
128 Сти
 
06.06.18
09:39
(107) Исчерпывающее? Да ну? )))

1) Как можно сложить строки таблиц значений? В стопку? В папку? В поленницу? Может быть значения каких-то колонок можно сложить, но никак не строки, в которых непонятно что.

2) "сложить первую строку таблицы значений первого элемента с первой строкой второго второго, с первой строкой третьего и т.д." То есть из описания: Первую строку первого с первой строкой второго. Первую строку второго с первой строкой третьего. Первую строку третьего с первой строкой четвертого". И нигде не говорится о переборе всех строк всех таблиц.

3) Куда помещать полученные суммы? Или просто сложить и забыть?

Исчерпывающее, ага.
129 wowik
 
06.06.18
09:41
(127) да тут не одна вакансия, а много)) бОльшую часть пишущих  надо на замену.
130 wowik
 
06.06.18
09:43
(128) коллега ну из цикла же видно что перебираются все строки. Задача не для вас)
131 Бертыш
 
06.06.18
09:44
Господи, какое шоу оказывается прошло мимо меня
132 wowik
 
06.06.18
09:44
(131) шоу в разгаре)
133 Сти
 
06.06.18
09:45
(130) Из цикла видно, из описания нет. Создавать ТЗ и описания - задача не для вас )
134 ERWINS
 
06.06.18
09:46
(4)
Чтобы понять рекурсию нужно понять рекурсию =>
Давайте останемся конструктивными.
135 hhhh
 
06.06.18
09:51
идем за попкорном тогда.

Обнаружено расхождение текстового описания и кода программы.
136 zak555
 
06.06.18
09:53
(113) почему запрос запрещается?
137 zak555
 
06.06.18
09:58
или тут можно двумя циклами сделать
138 catena
 
06.06.18
09:59
(137)Почему именно двумя?
139 zak555
 
06.06.18
10:02
(138) чем меньше циклов, тем быстрее ? )
решение в 94
140 catena
 
06.06.18
10:06
(139)Я так поняла, ему нужен полный перебор всех строк
141 hhhh
 
06.06.18
10:06
(139) да он темнит, тут не поймешь. То говорит, что нужно сложить первую строку с первой, а вторую со второй, то говорит, что все строки. И уже 3 дня темнит на всех форумах.
142 zak555
 
06.06.18
10:08
(141) как я понял задачу --- нужно сложить все первые строки, все вторые, все третьи и т.д.
143 wowik
 
06.06.18
10:09
(136) запросом уже сделано давно, все работает, все ок.
144 wowik
 
06.06.18
10:09
(140) да!
145 wowik
 
06.06.18
10:10
(141) каких всех? я только на мисте спросил.
146 catena
 
06.06.18
10:10
(142)Ну, такая задача даже без рекурсии решается
147 catena
 
06.06.18
10:10
(144)А такая процедурой в 10 строк
148 wowik
 
06.06.18
10:12
(147) и? поделитесь решением?
149 zak555
 
06.06.18
10:12
(147) 7 должно быть
150 catena
 
06.06.18
10:13
(149)Значит моя дороже :)
151 DrShad
 
06.06.18
10:13
(144) ты уверен что понимаешь что такое полный перебор? )))
152 zak555
 
06.06.18
10:20
РезультирующаяТЗ = МассивТЗ[0].СкопироватьКолонки();
РезультирующаяТЗ.Колонки.Добавить("НумерСтроки");

Для Каждого ТекЭлемент Из МассивТЗ Цикл Для каждого ТекСтрока Из ТекЭлемент Цикл
        ЗаполнитьЗначенияСвойств(РезультирующаяТЗ.НоваяСтрока(), ТекСтрока);
        РезультирующаяТЗ.НумерСтроки = ТекСтрока.НомерСтроки;
КонецЦикла; КонецЦикла;
//Сворачиваем по колонке НумерСтроки
153 catena
 
06.06.18
10:22
(152)Это номер с номером
154 dezss
 
06.06.18
10:23
(152) разные номер тоже надо складывать
155 catena
 
06.06.18
10:23
а ему надо
111111
111112
...
nnnnnn
156 catena
 
06.06.18
10:24
При чем, неизвестно еще, одинаковое ли количество строк в этих ТЗ
157 zak555
 
06.06.18
10:24
(153) ?
158 PR
 
06.06.18
10:26
Он уже давно сказал, что хочет (27), что вы тут перетираете, пустоплеты? :))
159 zak555
 
06.06.18
10:29
(158) это уже другая задача ))
160 wowik
 
06.06.18
11:41
(151) еще как. а ты?
161 wowik
 
06.06.18
11:42
(158) +100
162 Сти
 
06.06.18
12:04
(147) Действительно 10. Вместе с вызовом процедуры.
163 МихаилМ
 
06.06.18
12:37
допустим будет 20 таблиц по 20 строк.

тупое полное перемножение даст 20 в 20-й степени комбинаций.
поэтому участвовать в реализации подобной глупости нет смысла.

нужно уточнение задачи.
164 wowik
 
06.06.18
13:29
(163) да, правильно.
Повторю условие: задача изложена в (0), количество строк в ТЗ разное. Нужно перебрать все возможные варианты.
165 catena
 
06.06.18
13:35
(164)Тебе зачем? Запрос работающий у тебя есть. Из спортивного интереса - так самостоятельно надо писать.
166 Сти
 
06.06.18
13:36
(164) за три дня не решил пятиминутную задачу? Стаж 8 лет... Или это тестирование форумчан? )
167 PR
 
06.06.18
14:17
(163) Допустим программист 1С во время поездки на работу сунул голову в открытый люк, а снизу ему прилетело ломом в жбан и программист выключился из участия в происходящем вокруг на месяц

Тупой прикид подсказывает, что фирма не может ждать его месяц, пока он выздоровеет и реализует поставленную перед ним задачу
Поэтому участвовать в реализации подобной глупости нет смысла

Нужно уточнение задачи
168 PR
 
06.06.18
14:18
И эти люди автоматизируют страну
Мне тупо не по себе как-то
169 wowik
 
06.06.18
14:59
(166) стаж более 20, коллега) на форуме просто 8).
170 wowik
 
06.06.18
15:00
(168) согласен. столько постов, а у многих нет даже понимания что нужно сделать.
171 Сти
 
06.06.18
15:13
(169) ну так тогда что, это тестирование форумчан? )
Ведь на самом деле задача (с уточнением, что нужно перебрать все возможные комбинации) решается рекурсивной процедурой в несколько строчек. И почти ничем не отличается от обычного обхода ДЗ, за исключением того, что нужно контролировать, где пора остановиться.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан