Вход | Регистрация


Таблицы значения скрещивания

Таблицы значения скрещивания
Я
   Enot_tut
 
05.04.18 - 13:49
есть 2 таблицы значения как их совместить в одну таблицу?(наименования колонок совпадает но они разбросаны) пример колонок:
св1 св2 св8 св4 товар а в другой  св8 товар св2 св4 св1

как их совместить в одну?
 
 
   Enot_tut
 
1 - 05.04.18 - 13:49
или как упорядочить колонки чтобы они сначала шли товар св1 св2 св4 св8 ?
   Lexey_
 
2 - 05.04.18 - 13:57
(0) Для каждого СтрокаТаблицыИсточника Из ТаблицаИсточник Цикл
        СтрокаТаблицыПриемника = ТаблицаПриемник.Добавить();
        ЗаполнитьЗначенияСвойств(СтрокаТаблицыПриемника, СтрокаТаблицыИсточника);

    КонецЦикла;
   Enot_tut
 
3 - 05.04.18 - 14:08
(2) а можешь рассказать что тут приходить в твоем коде
?
   Ц_У
 
4 - 05.04.18 - 14:09
(3)
перебирает строки таблицы номер 1 и засовывает их в таблицу номер 2, ЗаполнитьЗначенияСвойств(источник, приемник) - заполняет поля приемника по полям источника
   Lexey_
 
5 - 05.04.18 - 14:12
(2) тут происходит то, о чем ты спрашиваешь в (0)
   Enot_tut
 
6 - 05.04.18 - 14:15
(5) все спасибо)) (4)

а можно их сначала упорядочить? это реально сделать?
   Lexey_
 
7 - 05.04.18 - 14:17
(6) конечно
   Enot_tut
 
8 - 05.04.18 - 14:20
(7) а есть пример как это реализовать ?(очень буду благодарен)
   Lexey_
 
9 - 05.04.18 - 14:27
(8) нужно использовать
КоллекцияКолонокТаблицыЗначений (ValueTableColumnCollection)
Сдвинуть (Move)

Синтаксис:
Сдвинуть(<Колонка>, <Смещение>)

Описание:
Сдвигает колонку на указанное количество позиций.
   Enot_tut
 
10 - 05.04.18 - 14:33
(9) спасибо огромгое
 
 Рекламное место пустует
   Enot_tut
 
11 - 06.04.18 - 09:43
может кому-то пригодиться 
МассивИменКолонок=Новый Массив;
    Для Каждого Колонка Из ТаблицаЗначений1.Колонки Цикл
        если Колонка.Имя = "Товар" тогда
            
        иначе
            СтрокаКолонка=Колонка.Имя;
            МассивИменКолонок.Добавить(СтрокаКолонка);
        КонецЕсли;
    КонецЦикла;
    
    Колонка=ТаблицаЗначений1.Колонки["Товар"];    
    ТаблицаЗначений1.Колонки.Сдвинуть(Колонка,-ТаблицаЗначений1.Колонки.Индекс(Колонка));          
    Для Й=0 По МассивИменКолонок.Количество()-1 Цикл
        Для ЙЙ=0 По МассивИменКолонок.Количество()-2 Цикл
            Если МассивИменКолонок[Й]<МассивИменКолонок[ЙЙ] Тогда
                Вр=МассивИменКолонок[Й];
                МассивИменКолонок[Й]=МассивИменКолонок[ЙЙ];
                МассивИменКолонок[ЙЙ]=Вр;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
   Enot_tut
 
12 - 06.04.18 - 09:44
Для Й=0 По МассивИменКолонок.Количество()-1 Цикл
        Колонка=ТаблицаЗначений1.Колонки[МассивИменКолонок[Й]];
        ТаблицаЗначений1.Колонки.Сдвинуть(Колонка,-(ТаблицаЗначений1.Колонки.Индекс(Колонка)-(Й+1)));
    КонецЦикла;
   Ц_У
 
13 - 06.04.18 - 09:57
Извращенец.
Создай новую ТЗ с нужными колонками в нужном порядке и заполни данными из обеих
   Enot_tut
 
14 - 06.04.18 - 10:29
(13)название колонок постоянно меняются, и таблица значения создается с помощью загружаемого ексель файла, колонки постоянно разбросаны в таблице то товар может быть 3 колонкой то может быть 9

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