Имя: Пароль:
1C
1С v8
Как установить очередность вывода строк двух ТаблицЗначений
,
0 Yurdus
 
10.02.22
10:14
Всем привет, только начал изучать 1С и много чего не понимаю в силу нехватки опыта и знаний. Есть 2 таблицы значений, в каждой по 4 строки, в результате объединения сперва выводятся 4 строки из ТЗ №1, после 4 строки из ТЗ №2, как сделать чтобы строки выводились в след очередности: 1ая строка из ТЗ №1, следом 1ая строка из ТЗ №2 и так далее
1 Галахад
 
гуру
10.02.22
10:18
Вариант 1. Добавить некий индекс. По которому упорядочить.
Вариант 2. Не объединять.
2 Beduin
 
10.02.22
10:18
(0) Пронумеруй их по очереди и отсортируй. К примеру в первой таблице первая строка 1 во второй таблице первая строка 2 и так далее. Потом соединяешь и все
3 Yurdus
 
10.02.22
10:22
(1) Объединять нужно, так как я создаю документ на основании Иска с табличной частью где отображается информация по каждому объекту Иска, а после каждой строки должна отображаться гос.гошлина к этой строке
4 Галахад
 
гуру
10.02.22
10:24
(3) Если честно, то нечего не понятно. Но понятно, что где-то тут архитектурная ошибка.
5 Бизон
 
10.02.22
10:25
(0) Сгруппировать метод таблицы значений, т.е. делаешь 4 строки в результирующей таблице
6 Yurdus
 
10.02.22
10:34
(4) https://drive.google.com/file/d/1KGwwQyuuO3KpKy8Yzgt_mGQpCeI27M4Z/view?usp=sharing
Вот это мне надо упорядочить так, чтобы сперва шла строка 1 потом строка 5, затем строка 2 потом строка 6 и так далее
7 Галахад
 
гуру
10.02.22
10:41
Что-то типа:

Таблица = ТаблицаИсходная.СкопироватьКолонки();

КолСтрок = Таблица.Количество()
Для Сч = 0 По (КолСтрок - 1) / 2 Цикл
    НовСтр = Таблица.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтр, Таблица[Сч]);
    НовСтр = Таблица.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтр, Таблица[Сч + (КолСтрок - 1) / 2 ]);
КонецЕсли;
8 Галахад
 
гуру
10.02.22
10:45
Хотя...
Таблица = ТаблицаИсходная.СкопироватьКолонки();

КолСтрок = Таблица.Количество()
Для Сч = 0 По КолСтрок / 2 - 1 Цикл
    НовСтр = Таблица.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтр, Таблица[Сч]);
    НовСтр = Таблица.Добавить();
    ЗаполнитьЗначенияСвойств(НовСтр, Таблица[Сч + КолСтрок / 2]);
КонецЕсли;
9 Злопчинский
 
10.02.22
10:45
понятно, что абсолютно пофиг в каком порядке будут идти строки в результирующем списке. главное - госпошлины внизу.
1. Объединить таблицы без всяких извратов
2. Результат отсортировтаь по наименованию в обратном порядке.
всё.
10 Злопчинский
 
10.02.22
10:47
например, 100 исков и 100 госпошлин. кого-то будет интересовать и кто-то будет листать с первого экрана где 5-ый иск, будет листат вниз 8-10 экранов и там искать 5-ую пошлину...? три раза хахаха
11 lEvGl
 
гуру
10.02.22
10:55
куда вы выводите? отчет, форма или что
каким образом получаются эти две тз? связь то в любо случае есть, почему бы не использовать ее еще в запросе и не вывести в одну строку всю нужную информацию: иск - пошлина и ничего искать не надо
12 Yurdus
 
10.02.22
10:57
(11) выводится на форму документа, первая ТЗ из запроса, вторая путем копирования колонок, так как значения в некоторых колонках отличаются от скопированной таблицы
13 rudnitskij
 
10.02.22
12:56
Добавьте колонку с произвольным названием, например "ОбщийИндекс", пишите туда для 1й строки 1й таблицы "1а", для 2й строки "2а", для 1й строки 2й таблицы "1б", для 2й строки 2й таблицы "2б", потом по этой колонке сортируйте - и будет ок
14 Yurdus
 
10.02.22
17:25
(13) так и сделал, спасибо
15 Злопчинский
 
10.02.22
23:28
(14) а какой глубинный смысл в таком чередовании? фин.результат от этого не изменится. ладно бы это руками вносилось - тогда юзверь где-то что-то мог пропустить по собственному недомыслию и распи..ву и такой порядок ввода хоть как-то помогал. Но тут все загружается автоматом...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший