Имя: Пароль:
1C
1С v8
Задвойка цикла в цикле цикла в цикле цикла
0 example221
 
31.01.20
12:45
Добрый день форумчане,подскажите почему происходит задвойка в цикле и как исправить.Это обработка по добавлению номенклатуры в регистр сервисМеню
код
Массив2 = Новый Массив;
    Для каждого стр из ВидРемонтаН цикл
        Если стр.Пометка Тогда
            Массив2.Добавить(стр.ВидРемонта)
        КонецЕсли;
    КонецЦикла;
    
    Массив3 = Новый Массив;
    Для каждого стр из ТипДвигателяН цикл
        Если стр.Пометка тогда
            Массив3.Добавить(стр.ТипДвигателя)
        КонецЕсли;
    КонецЦикла;
    
    Массив4 = Новый Массив;
    Для каждого стр из ТипыКпп цикл
        Если стр.Пометка тогда
            Массив4.Добавить(стр.ТипКПП)
        КонецЕсли;
    КонецЦикла;
    
    Массив5 = Новый Массив;
    Для каждого стр из Модели цикл
        Если стр.Пометка тогда
            Массив5.Добавить(стр.Модель)
        КонецЕсли;
    КонецЦикла;
    
    для каждого стр1 из Массив2 Цикл
        Для Каждого стр5 из Массив5 цикл
            Для каждого стр3 из Материалы цикл
                 Для каждого стр2 Из Массив3 Цикл
                    для Каждого стр4 из Массив4 цикл
                        рег = РегистрыСведений.СервисМеню.СоздатьМенеджерЗаписи();
                        рег.ВидРемонта = стр1;
                        рег.МодельныйГодС = НачПериода;
                        рег.МодельныйГодПо = КонПериода;
                        Рег.ТоварУслуга = стр3.Номенклатура;
                        Рег.ТипДвигателя = стр2;
                        Рег.КодМодели = "?";
                        рег.ТипКПП = стр4;
                        Рег.Стоимость = стр3.сумма;
                        рег.Модель = стр5;
                        Рег.Количество = стр3.Количество;
                        рег.Записать();
                    КонецЦикла;
                    //Для каждого стр5 из Работы цикл
                    //    рег1 = РегистрыСведений.ПрайсМенюСервис.СоздатьМенеджерЗаписи();
                    //    рег1.ВидТО = стр1;
                    //    рег1.КодМодели = стр2;
                    //    Рег1.ТоварУслуга = стр4.Запчасть;
                    //    Рег1.Стоимость = стр4.Цена*стр4.Количество;
                    //    рег1.Модель = стр2.Модель;
                    //    Рег1.Количество = стр4.Количество;
                    //    рег1.Записать();
                    //КонецЦикла;
                КонецЦикла;
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
КонецПроцедуры
1 Ёпрст
 
31.01.20
12:46
(0) всё в топку
2 izekia
 
31.01.20
12:47
(0) садись, двойка за задвойку
3 izekia
 
31.01.20
12:48
пипец, я иногда удивляюсь
4 example221
 
31.01.20
12:48
(3) ахахха
5 example221
 
31.01.20
12:49
Подскажите как исправить в таком варианте,когда нибудь дойду до правильных вариантов)
6 example221
 
31.01.20
12:50
(3) Стаж: 11 лет 3 месяца 28 дней vs Стаж: 1 месяц 4 дня
чего еще тут ожидать кроме как удивления
7 Ёпрст
 
31.01.20
12:51
(5) цель какая ? Получить кортеж всех возможных вариантов из ВидРемонтаН/ТипДвигателяН/ТипыКпп/Модели  ?
8 example221
 
31.01.20
12:53
по всем ВидРемонтаН/ТипДвигателяН/ТипыКпп/Модели добавить номенклатуру,он работает,но делает по 4 копии.
9 example221
 
31.01.20
12:53
(7)  в (8)
10 RomanYS
 
31.01.20
12:58
(8) Так у тебя 5 массивов/циклов. Значит в лишнем 4 элемента
11 example221
 
31.01.20
13:00
(10) https://pastenow.ru/7W6A8
я массивами получаю информацию из колонок и поля работа,и через них перебираю
12 example221
 
31.01.20
13:02
Помойму поправил
перемещением цикла материалы в конец
щас проверю
13 RomanYS
 
31.01.20
13:02
(11) У тебя пятый цикл по материалам, он не указан в (8)
14 example221
 
31.01.20
13:03
материал = номенклатура здесь,справочник не я делал
15 example221
 
31.01.20
13:04
добавить по всем тем 4 1 новую номенклатуру в обязательные
16 example221
 
31.01.20
13:04
(13) или про что ты?
17 example221
 
31.01.20
13:07
не не решилось
18 Жан Пердежон
 
31.01.20
13:09
хоть и пятнично, но толстовато
19 example221
 
31.01.20
13:27
исправил
не знаю как но перестало)))
20 example221
 
31.01.20
13:28
Тогда подскажите,есть переменная да, как мне прибавать 3 первых знака из этой переменной?
21 example221
 
31.01.20
13:30
CX-9
37CX920072015
6AT
2007
2015
из этого получается вот это
CX9_37C_AT_07/15
как это сделать сложением строк?
22 vicof
 
31.01.20
13:32
СтрСоединить
23 vova1122
 
31.01.20
13:34
(21)(22) или проще: ""+Рекв1+Рекв2+....
24 example221
 
31.01.20
13:36
так он не целиком же берет реквезит
37CX920072015 из этого только 37С и так со всех типов двигла
25 example221
 
31.01.20
13:36
с коробки только ат или мт
26 Sayan_mi
 
31.01.20
13:41
(25) Ну так оперируй Лев, Прав и прочими для такого стажа что-то и в самом деле толсто.
27 example221
 
31.01.20
13:42
(26) я с нуля без знаний пришел,и походу монотонной работы,появляются знания,стаким еще не сталкивался
28 example221
 
31.01.20
13:43
(26) спасибо про лев прав
29 unenu
 
31.01.20
13:52
нормальный код для ораслевки.
пару запятых добавить и в релиз.
30 example221
 
31.01.20
13:59
Рег.КодМодели = стр5.НаименованиеТОЙОТА +"_"+ Лев(стр2,3) +"_"+Прав(стр4,2) +"_"+Прав(НачПериода,2) +"/"+Прав(КонПериода,2);
Вот так это сделал работает,всем спасибо.
31 unenu
 
31.01.20
14:02
(30) все закрываете 10 часов и требуйте с клиента 50К, а не будет платить, намекните, мол, "цифровая экономика, то, се"
32 vova1122
 
31.01.20
14:03
(30) На будущее Если первый реквизит будет Число то Так склеить не получится. Нужно дописывать сначала ""+стр5.НаименованиеТОЙОТА +"_"+ Лев(стр2,3) +...
А в данном случае и так сойдет, так как первое слагоемое - это текст.
33 _Дайвер_
 
31.01.20
14:14
(0)Ух, а если в каком нибудь массиве строки не добавится на примере CX-9 ну не будет этих данных, и получится
CX-9
37CX920072015
4AT (коробка другая подставится)
1993 (год)
1997 (год)

Что делать будешь?
34 _Дайвер_
 
31.01.20
14:15
Откуда ты берешь таблицы?
ВидРемонтаН
ТипДвигателяН
ТипыКпп
Модели
35 example221
 
31.01.20
14:26
(34) сам создал внутри обработки
36 example221
 
31.01.20
14:26
(31) ахахахахахах
37 example221
 
31.01.20
14:27
(33) в этом плане тянет нормально.перевпроверено
38 D_E_S_131
 
31.01.20
14:46
А вот и франчовые герои из ролика Охотницы...
39 example221
 
31.01.20
15:27
(38) А ну просвятите,что за герои и что за ролик?
40 MyNick
 
31.01.20
21:16
(0) говнокод детектед
41 MyNick
 
31.01.20
21:18
(30) бгггг... НаименованиеТОЙОТА???  Мммуххаха
42 MyNick
 
31.01.20
21:19
СХ-9 это не ТОЙОТА, это МАЗДА. Мазда,... Ть
43 example221
 
03.02.20
13:30
(41) (42) Итс нот ми все прописывать,я только допиливаю и ввожу новые функции
44 HawkEye
 
03.02.20
13:47
(43) может не надо?
45 example221
 
03.02.20
14:00
(44) может и не надо,но сижу просят дают тз делаю,говорят во так норм.
46 example221
 
03.02.20
14:01
(44) но кушать и жить то хочется(
47 Fish
 
03.02.20
14:05
(42) А почему бы в поле НаименованиеТОЙОТА не быть значению Мазда? :))
48 hhhh
 
03.02.20
14:15
(42) может тойота - это название магазина?
49 HawkEye
 
03.02.20
14:44
(45) надеюсь деньги не берешь...
50 1СHИK78
 
03.02.20
15:17
второй атомный код за сегодня.
51 example221
 
03.02.20
16:34
(49) не я не беру,сами дают
52 example221
 
03.02.20
16:35
(50) ядрена кода
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn