Удаление дублей в таблице значений (у кого есть наработки ?) #266591


#0 by ostap
Пытаюсь удалить дублирующие строки в ТЗ (у меня дублирующая строка в данных идет следующей после нужной) : Если Билет1=Билет2 Тогда ТЗ.УдалитьСтроку; Если ТЗ.НомерСтроки <> 0 Тогда z=z+1; Перейти ~начало; Не все нужные строки остаются. Может есть другое решение ?
#1 by Лефмихалыч
когда мне надо удалить дублерин из ТЗ, я обычно ее тупо сворачиваю и не трачу время на изобретение велосипедов
#2 by selenat
+1
#3 by povar
свернуть не пробывал ?
#4 by ostap
Сворачивать ТЗ нельзя: 23 поля, пропадет соответствие "Дата вылета-Номер кассы-Пункт Посадки-....-и.т.д"
#5 by Ёпрст
Сворачивай по всем колонкам :)
#6 by povar
это как это пропадет ?
#7 by GenV
Делай цикл Для по номеру строк с конца таблицы через ПолучитьСтрокуПоНомеру, а не через ПолучитьСтроку. Удаляй тоже по номеру.
#8 by АЛьФ
2 А при удалении строк оно не пропадает?
#9 by GenV
+ Хотя Пока будет лучше.
#10 by КонецЦикла
Твоя темя была про удаление строк в документе вчера? Поищи ее - там написал на полстраница текста... для кого интересно?
#11 by ostap
To <Епрст3>: Как ты себе представляешь, когда сверну все поля ? В поле "Цена Авиабилета" почти через строку идут одинаковые цены: 9600 3400 9600 Не, говорю же, сворачивать нельзя ...
#12 by Лефмихалыч
кстати, автор, только дятлы для удаления больше, чем одной строки из ТЗ, запускают цикл в прямом направлении, тогда как нормальный программыст идет по строкам в обратном порядке...
#13 by Ёпрст
По какому признаку ты тогда удалять собираешься ????
#14 by povar
хринеть
#15 by Лефмихалыч
а за использование goto ваще карать надо...
#16 by ostap
To <КонецЦикла> : Читал внимательно все твое, но тем методом часть нужных строк удаляет. Поэтому поднял Новую Тему - может что-то есть проще ?
#17 by GenV
Так тебе уже все разжевали ...
#18 by КонецЦикла
В общем в поиск... задрали дятлы
#19 by КонецЦикла
Какую часть? Может там и ошибка, думай Заполнить надо колонку "Удалить" единицей везде где надо, потом выгрузить нужный блок... если ТЗ большая - работает особенно эффективно
#20 by ostap
Если поле TICKETNUMB первой строки =  полю TICKETNUMB второй строки, вторую строку мне надо УДАЛИТЬ
#21 by Ёпрст
ДатаВылета|НомерКассы|ПунктПосадки|Сумма 01.01.2007    1          Лондон     200   10.01.2007    1          Америка    200   11.01.2007    1          Васюки     200   01.01.2007    1          Лондон     999   01.01.2007    1          Лондон     200   01.01.2007    1          Лондон     200 ТЗ.Свернуть("ДатаВылета,НомерКассы,ПунктПосадки,Сумма","");   01.01.2007    1          Лондон     200   10.01.2007    1          Америка    200   11.01.2007    1          Васюки     200   01.01.2007    1          Лондон     999
#22 by Лефмихалыч
а если между ними есть строка с другим TICKETNUMB?
#23 by povar
:)))
#24 by ostap
Спасибо большое ВСЕМ участвующим ! Просто стаж мой в 1С - 2 месяца, а уже за транс-атлантические перелеты взялся :))
#25 by povar
ладно хоть с билетов, а не с самолетов взялся
#26 by ostap
"если между ними есть строка с другим TICKETNUMB?" МЕжду 2-мя дублями нет строк - это две соседние строки !
#27 by Лефмихалыч
скажи название авиакомпании, чтобы в случае чего в нее не обратиться?
#28 by ostap
Самолеты кстати я вожу что-надо !
#29 by ostap
Авиакомпания "В ПОСЛЕДНИЙ ПУТЬ"
#30 by selenat
снова +1
#31 by ostap
Ну так начем отсановимся, В СМЫСЛЕ ДУБЛЕЙ ? Как лучше-то ?
#32 by Ёпрст
Чем тебе не катит ? ..
#33 by ostap
В смысле, свернуть сразу все поля ??
#34 by NDN
Догадливый :)
#35 by Ёпрст
Ну да, это же и есть дубли ... или тебе нужно удалить по какому то признаку, например, при равенстве значений в одной/нескольких колонке ?
#36 by Лефмихалыч
кстати, проблему можно решить не только, удалив ненужные записи, а еще и - перекидав НУЖНЫЕ записи в другую ТЗ. Это будет работать быстрее, если ненужных записей больше, чем нужных
#37 by Лефмихалыч
есть еще одно "кстати" - успешно работает такая конструкция:
#38 by ostap
МНЕ НУЖНО УДАЛИТЬ СЛЕДУЮЩУЮ СТРОКУ, ЕСЛИ ЗНАЧЕНИЕ В ПОЛЕ TICKETNUMB У СЛЕДУЮЩЕЙ СТРОКИ ТО ЖЕ, ЧТО И У ПРЕДЫДУЩЕЙ
#39 by Лефмихалыч
СВЕРНИ
#40 by Ёпрст
Не надо так нервничать ...
#41 by ostap
НЕ, БОЛЬШИЕ БУКВЫ - ЭТО ЧТОБ ПОНЯТНЕЕ ЗАМЫСЕЛ ...
#42 by Лефмихалыч
кроме того, по-моему надо было думать головой при написании алгоритма заполнения таблицы
#43 by Лефмихалыч
не кричи - соседей разбудишь...
#44 by ostap
алгоритм заполнения таблицы - получаю данные из *.xls
#45 by Лефмихалыч
ну, братец! Вот тут и надо было думать. При помощи ADODBConnection из листика Excel можно вынуть данные SQL запросом. Со всеми вытекающими. Среди всех вытекающих есть такое предложение, как DISTINCT, GROUP BY и еще много разных других
#46 by Ёпрст
#47 by nesta sandro
#48 by ostap
Епрст3, твой код щас вставил - по-моему - как в аптеке !
#49 by КонецЦикла
Мдя... нехватило терпения запустить что вчера писалось? :0
#50 by kiroy
если без сортировки, то по мере обхода таблицы заполнять список значений и проверять входит значение в список или нет, если уже входит - удалять строку
#51 by vpetrov
Вот дятлы.. Одно действие - Свернуть. Тут уже правда было - но зачем лишнего вагон делать?
#52 by ostap
To <vpetrov> и другим, в чьем лексиконе либимое слово "Дятел": чем глупее человек, тем более он неприязнен к начинающим. Куда выложить подлинник файла EXCEL, чтобы раз и навсегда заткнуть желающих ТЗ.Свернуть;  ?? Посмотрите содержимое *.xls - и охладитесь ...
#53 by ostap
0023    01.08.2006    МОВ    СТВ    МИ    1227    02.08.2006    Б    3484201160909    Б    РУБ    7300,00000    ПРОНИНА ЕКАТЕРИНА Г-Н    П    ПС  4507555442    1020,00000    0,00000    8320,00000    Б    Б    ССОД СОФИ 0012    01.08.2006    МОВ    МРВ    МИ    1235    01.08.2006    Э    3484201013189    ЛЬА    РУБ    3200,00000    ОСАДЧИЙ СЕРГЕЙ 25ИЮН64 Г    П    ПСП 513366073    1020,00000    0,00000    4220,00000    Э    Л    ССОД СОФИ 0023    01.08.2006    МОВ    СТВ    МИ    1227    01.08.2006    Э    3484201160906    КЬА    РУБ    4900,00000    ТКАЧЕНКО ЛИЛИЯ Г-Н    П    ПС  0000000000    1020,00000    0,00000    5920,00000    Э    Е    ССОД СОФИ
#54 by ostap
Не помещается на листе ...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С