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

Как склеить строки правильно

Как склеить строки правильно
Я
   1сЮлия
 
04.06.19 - 14:09
Добрый день помогите склеить ключ в строку  всего 5 значений каждый раз дожны склеиваться
должно склится 5 Для каждого Строка из МехАнализы Цикл
            НоваяСтрока = Таб.Добавить();
             НоваяСтрока.Ссылка = Строка.Ссылка;
              СтрокаКлюч = ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя);
             Для  сч = 0 По н цикл
               сч = сч+1;
              СтрокаКлюча = СтрокаКлюча  + СтрокаКлюч;
              СтрокаКлюча = строкаКл + СтрокаКлюча;
          КонецЦикла;
         НоваяСтрока.Ключ = СтрокаКлюча;
КонецЦикла;
 
 
   1сЮлия
 
1 - 04.06.19 - 14:09
н=5
   1сЮлия
 
2 - 04.06.19 - 14:10
СтрокаКлюча = он мне тоько текущие строки  выводит
   1сЮлия
 
3 - 04.06.19 - 14:11
в цикле до 5 должно склеиться  СтрокаКлюч = ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя); 5 различных строк и значений
   unbred
 
4 - 04.06.19 - 14:17
кто такая СтрокаКл ?
   dezss
 
5 - 04.06.19 - 14:20
Продам знаки препинания, дорого!

А нафига 5 раз одно и тоже значение пихать в СтрокаКлюча?
   1сЮлия
 
6 - 04.06.19 - 14:21
Можно убрать. Мне нужно склеивать каждые 5 строк  тз МехАнализы. и добавлять в поле ключ новой тз
   RomanYS
 
7 - 04.06.19 - 14:23
(0) Шедевр в каждой букве! От наименования переменных до вот этого:

Для  сч = 0 По н цикл
               сч = сч+1;
   1сЮлия
 
8 - 04.06.19 - 14:24
там я уже накуралесила вообще я знаю что сначала СтрокаКлюча = ""; пустая строка,а потом в цикле  СтрокаКлюча =СтрокаКлюча +ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя); Но сейчас это что то не работает
   1сЮлия
 
9 - 04.06.19 - 14:26
Атут что ерунда,текущее лепит мне нужно каждые 5 строк =в одну строку склеить
   unbred
 
10 - 04.06.19 - 14:27
на, курА, ле- сила!
   Garykom
 
11 - 04.06.19 - 14:27
Девушка может лучше все же замуж?
   Garykom
 
12 - 04.06.19 - 14:27
(11) к (0)
   1Сергей
 
13 - 04.06.19 - 14:32
нужно по 5 строк таблицы склеить или что?
Для чего второй цикл?
   1сЮлия
 
14 - 04.06.19 - 14:35
Я думаю вот так вернее 
 Для каждого Строка из МехАнализы Цикл
            Если Найти(Строка.ПоказательАнализа, "Граница текучести, МПа") Тогда
                   строкаКлючаГр = ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя);
               ИначеЕсли Найти(Строка.ПоказательАнализа, "Временное сопротивление") Тогда
                   строкаКлючаВр = ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя);
               ИначеЕсли Найти(Строка.ПоказательАнализа, "Относительное растяжение") Тогда
                   строкаКлючаРастяж = ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя);
               ИначеЕсли Найти(Строка.ПоказательАнализа, "Относительное сужение") Тогда
                строкаКлючаСуж = ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя);
            ИначеЕсли Найти(Строка.ПоказательАнализа, "Ударная вязкость") Тогда
                    строкаКлючаУдр = ЗначениеВСтрокуВнутр(Строка.Код)+Разделитель+ЗначениеВСтрокуВнутр(Строка.НомерСтроки)+Разделитель+ЗначениеВСтрокуВнутр(Строка.ПоказательАнализа) +Разделитель+ ЗначениеВСтрокуВнутр(Строка.ЗначениеПоказателя)+Разделитель +ЗначениеВСтрокуВнутр(Строка.МаксЗначениеПоказателя);
            КонецЕсли;
            
             НоваяСтрока = Таб.Добавить();
             НоваяСтрока.Ссылка = Строка.Ссылка;
             НоваяСтрока.Ключ = строкаКлючаГр+строкаКлючаВр+строкаКлючаРастяж+строкаКлючаСуж+строкаКлючаУдр;
   dezss
 
15 - 04.06.19 - 14:43
Блин.
Если уж хочется, то перед циклом
Сч = 0;
ПятьКлючей = "";

Внутри цикла
ПятьКлючей = ПятьКлючей + <тут_набор_полей_с_разделителями>;
Сч = Сч + 1;

Перед окончанием цикла
Если Сч = 5 Тогда
    Сч = 0;
    <Тут_добавляем_ПятьКлючей_куда_надо>
    НоваяСтрока = Таб.Добавить(); 
    НоваяСтрока.Ссылка = Строка.Ссылка; 
    НоваяСтрока.Ключ = ПятьКлючей; 
    ПятьКлючей = "";
КонецЕсли;

Ну и после цикла, если Сч <> 0, то добавить оставшийся ключ куда надо
   1Сергей
 
16 - 04.06.19 - 14:49
(14) ты можешь нормально объяснить что ты хочешь сделать вообще?
   1сЮлия
 
17 - 04.06.19 - 14:51
Получаю хеш табличной части
   1сЮлия
 
18 - 04.06.19 - 14:51
дока
   1Сергей
 
19 - 04.06.19 - 14:53
(17) ок. а зачем разделяешь по показателям анализа, а потом опять сливаешь в одно?
   RomanYS
 
20 - 04.06.19 - 14:59
(17) Сомневаюсь, что это хеш. Может так лучше:
ТЗ = Док.ИмяТЧ.Выгрузить(,ИменаКолонокЧерезЗапятую);
НазовёмЭтоХешТЧ = ЗначениеВСтрокуВнутр(ТЗ);
   RomanYS
 
21 - 04.06.19 - 15:00
+(20) добавить сортировку при необходимости
   1сЮлия
 
22 - 04.06.19 - 15:00
Потому что нужно всего пять показателей,в каждой табличной части заполняются 5 показателей и у каждого свое значение ,я делаю ключ будем говорить каждой табличной части дока
   1Сергей
 
23 - 04.06.19 - 15:06
(22) ну, не забывай сбрасывать значения строкаКлючаГр и т.д. внутри цикла


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