Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Задвойка цикла в цикле цикла в цикле цикла

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.