Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
juristbrn
2 / 2 / 2
Регистрация: 21.04.2014
Сообщений: 215
1

Удаление одинаковых строк из ТЗ

03.02.2017, 07:07. Просмотров 487. Ответов 2
Метки нет (Все метки)

Есть следующая ТЗ (для примера):

90 20

20 51

20 90

Подскажите, Как удалить строки 90-20 и 20-90?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2017, 07:07
Ответы с готовыми решениями:

поиск одинаковых строк в ТаблицеЗначений
Подскажите пожалуйста как можно сравнивать строки по определенной колонке ТЗ.....

Удаление строк из ТЧ документов
Ищу ссылки на объект функцией НайтиПоСсылкам(). Получаю ТЗ, как можно удалить...

Удаление строк из документа
Здравствуйте! Хотел написать обработку, удаляющую строки, с номенклатурой,...

Удаление одинаковых строк
Имеется мемо1 и мемо2, например мемо1 содержит строки: вася вася катя...

Удаление одинаковых строк
Здравствуйте, имеется массив string в него записываются данные, нужно проверять...

2
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,781
03.02.2017, 08:43 2
juristbrn, вообще-то они не одинаковые)
Как мне это видится: обходить ТЗ с последней строки к первой и искать для каждой строки вариант совпадения строк полностью и вариант совпадения значений по разным столбцам, если нашли - удалять.
1
Dethmontt
Модератор
Эксперт 1С
2643 / 2436 / 415
Регистрация: 10.03.2011
Сообщений: 8,699
Записей в блоге: 1
Завершенные тесты: 1
03.02.2017, 10:37 3
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Процедура УдалитьОдинаковые()
   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Значение1");
   ТЗ.Колонки.Добавить("Значение2");
 
   ДобавитьСтроку(ТЗ, 90, 20);
   ДобавитьСтроку(ТЗ, 20, 51);
   ДобавитьСтроку(ТЗ, 20, 90);
 
 
   МассивСтрокКУдалению = Новый Массив;
   Для сч=0 По ТЗ.Количество()-1 Цикл
      Стр = ТЗ[сч];
      Значение = Стр.Значение1 + Стр.Значение2;
      Для к=сч По ТЗ.Количество()-1 Цикл
          стр2 = ТЗ[к];
          Если Значение = Стр2.Значение1 + Стр2.Значение2 Тогда
               Если МассивСтрокКУдалению.Найти(Стр) = Неопределено Тогда
                    МассивСтрокКУдалению.Добавить(Стр);
               КонецЕсли;
               Если МассивСтрокКУдалению.Найти(Стр2) = Непределено тогда
                    МассивСтрокКУдалению.Добавить(Стр2);
               КонецЕсли;
          КонецЦикла;
     КонецЦикла;
 
     Для каждого Стр Из МассивСтрокКУдалению Цикл
         ТЗ.Удалить(Стр);
     КонецЦикла;
 
КонецПроцедуры
 
Функция ДобавитьСтроку(ТЗ, Значение1, Значение2)
 
   Стр = ТЗ.Добавить();
   Стр.Значение1 = Значение1;
   Стр.Значение2 = Значение2;
 
КонецФункции
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2017, 10:37

Удаление одинаковых строк
Доброе время суток, подскажите, правильно ли я делаю удаление одинаковых строк?...

Удаление одинаковых строк в RichEdit
Всем привет! Помоги пожалуйста, как удалить одинаковые строки в richedit ...

Удаление одинаковых строк в StringGrid1
Как в StringGrid удалить абсолютно одинаковые строчки? Пробовал переделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru