Имя: Пароль:
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) ну так тогда что, это тестирование форумчан? )
Ведь на самом деле задача (с уточнением, что нужно перебрать все возможные комбинации) решается рекурсивной процедурой в несколько строчек. И почти ничем не отличается от обычного обхода ДЗ, за исключением того, что нужно контролировать, где пора остановиться.