|   |   | 
| 
 | Универсальный метод поиска одинаковых значений в колонке тч документа? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Обфускация 04.07.18✎ 08:57 | 
        Как проще и быстрее найти по тч документа дубли?     | |||
| 1
    
        Mankubus 04.07.18✎ 08:58 | 
        (0) добавить колонку. заполнить ее единицей.
 Свернуть. там где больше единицы в новой колонке - дубли | |||
| 2
    
        Ненавижу 1С гуру 04.07.18✎ 08:58 | 
        1. можно запросом, например
 2. можно выгрузить в ТЗ, добавить колонку, заполнить ее 1, свернуть суммируя по ней и смотреть где значения больше 1 | |||
| 3
    
        Мимохожий Однако 04.07.18✎ 08:58 | 
        Добавить колонку с единичкой , Свернуть по номенклатуре. Где больше единицы, там дубль     | |||
| 4
    
        Обфускация 04.07.18✎ 09:02 | 
        большой выбор, спасибо     | |||
| 5
    
        Serg_1960 04.07.18✎ 09:11 | 
        Если внимательно прочитать ТЗ ТС, то можно родить третий вариант - выгрузить колонку(!) ТЧ документа...     | |||
| 6
    
        ASU_Diamond 04.07.18✎ 09:13 | 
        (5) а если ещё внимательнее прочитать, то там не написано что дубль по значению в одной колонке.     | |||
| 7
    
        ManyakRus 04.07.18✎ 09:14 | 
        //возвращает Истина если есть задвоенные
 Функция ЕстьЗадвоенныеТЧ(Знач ТЧ, Знач ИмяКолонки) Экспорт Ответ = Ложь; ТЗ = ТЧ.Выгрузить(); ТЗ.Колонки.Добавить("КоличествоЗадвоенных", Новый ОписаниеТипов("Число")); ТЗ.ЗаполнитьЗначения(1, "КоличествоЗадвоенных"); ТЗ.Свернуть(ИмяКолонки, "КоличествоЗадвоенных"); Для каждого ТЗ1 из ТЗ Цикл Если ТЗ1.КоличествоЗадвоенных >1 Тогда Сообщить("Есть задвоенные строки " + ИмяКолонки + " !"); Ответ = Истина; Прервать; КонецЕсли; КонецЦикла; Возврат Ответ; КонецФункции | |||
| 8
    
        ASU_Diamond 04.07.18✎ 09:15 | 
        (7) можно ещё предварительно отсортировать     | |||
| 9
    
        Buster007 04.07.18✎ 09:16 | 
        чтобы найти в колонке достаточно использовать НайтиСтроки     | |||
| 10
    
        ASU_Diamond 04.07.18✎ 09:21 | 
        (9) скорость какая будет?     | |||
| 11
    
        Малыш Джон 04.07.18✎ 09:21 | 
        (7) чтобы понять сам факт наличия дублей, не обязательно так заморачиваться, достаточно сравнить количество строк до свертки и после свертки.
 КоличествоДо = Таблица.Количество(); Таблица.Свернуть(); КоличествоПосле = Таблица.Количество(); ЕстьДубли = (КоличествоДо>КОличествоПосле); | |||
| 12
    
        Малыш Джон 04.07.18✎ 09:23 | 
        (9) а что найти-то? Отбор какой?     | |||
| 13
    
        ASU_Diamond 04.07.18✎ 09:30 | 
        (12) значение из сроки. Цикл по всем строкам.     | |||
| 14
    
        Малыш Джон 04.07.18✎ 09:40 | 
        (13) неоптимально) и сложно) 
 найтистроки() для каждой строки из ТЧ. К тому же: или перед проверкой очередного значения проверять, была ли уже такая проверка(а значит где-то хранить уже проверенные значения), или мириться с тем, что по задвоенным значениям поиск будет проходит дважды, трижды и т.д. | |||
| 15
    
        ASU_Diamond 04.07.18✎ 09:43 | 
        (14) очень неоптимально     | |||
| 16
    
        Адинэснег 04.07.18✎ 09:54 | 
        (0) Добавь колонку счетчик с единичками
 Таблица.Колонки.Добавить("СчетчикСтрок"); Таблица.ЗаполнитьЗначения(1,"СчетчикСтрок"); потом запросом ИМЕЮЩИЕ СУММА(Таблица.СчетчикСтрок) > 1 Если Результат запроса не пустой - дубли | |||
| 17
    
        Адинэснег 04.07.18✎ 09:57 | 
        хотя хрень с колонкой в таблице, сразу в запросе выбери поле счетчик и сгруппируй     | |||
| 18
    
        Serg_1960 04.07.18✎ 10:03 | 
        (9) Учитывая, что требуется поиск значений в колонке(ед.ч.) - можно использовать .Найти(), а не .НайтиСтроки().     | |||
| 19
    
        Serg_1960 04.07.18✎ 10:08 | 
        (16) "ИМЕЮЩИЕ КОЛИЧЕСТВО(Таблица.ИмяКолонки) <> КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Таблица.Имяколонки)
 (шутка) | |||
| 20
    
        dezss 04.07.18✎ 10:11 | 
        ОФФ:
 э...в топе все темы от нашего ТС...я не понял, что происходит? О_о | |||
| 21
    
        dezss 04.07.18✎ 10:14 | 
        (20) тьфу..ошибся...фильтр выскочил :)     | |||
| 22
    
        Serg_1960 04.07.18✎ 10:16 | 
        (20) У ТС обострение синдрома дефицита внимания и гиперактивности :)))     | |||
| 23
    
        Buster007 04.07.18✎ 12:18 | 
        (10) побыстрее, чем добавить в таблицу колонку, заполнить, свернуть, проверить количество
 (18) как определить, что есть дубли с использованием функции Найти()? | |||
| 24
    
        Вафель 04.07.18✎ 12:20 | 
        Свертыванием не удобно, ибо теряется инфа о номерах строк     | |||
| 25
    
        Малыш Джон 04.07.18✎ 12:22 | 
        (24) а зачем она?     | |||
| 26
    
        Вафель 04.07.18✎ 12:28 | 
        (25) а пользователю что говорить. У вас в 10 000 строк есть дубли. е..сь с ними сами     | |||
| 27
    
        ASU_Diamond 04.07.18✎ 12:34 | 
        (26) а если это нужно, то дальше через НайтиСтроки()     | |||
| 28
    
        SleepyHead гуру 04.07.18✎ 12:34 | 
        (0) Точнее формулируйте техническое задание.     | |||
| 29
    
        Обфускация 04.07.18✎ 12:35 | 
        да все сделано уже, всем спасибо     | |||
| 30
    
        ASU_Diamond 04.07.18✎ 12:35 | 
        (23) 1. Может проверишь? 
 100 раз запустить поиск по 100 срокам или 1 раз заполнить значение в 100 строках (это делается без перебора строк) и свернуть? | |||
| 31
    
        Малыш Джон 04.07.18✎ 13:15 | 
        (26) а зачем пользователю что-то говорить? может это удаление дублей из документа?     | |||
| 32
    
        Buster007 04.07.18✎ 13:23 | 
        (30) я предполагал поиск одной позиции в колонке, а не всех позиций     | |||
| 33
    
        Tonik992 04.07.18✎ 13:25 | 
        Можно внешнюю компоненту написать. Передать туда 2 ТЧ и пусть оно там сравнивает.     | |||
| 34
    
        ASU_Diamond 04.07.18✎ 13:27 | 
        (32) ну будет не 100 раз поиск запускаться, а хотя бы даже 20. Всё равно работать дольше будет, чем 1 раз свернуть.     | |||
| 35
    
        Вафель 04.07.18✎ 13:51 | 
        (31) пример документа, в котором нужно удалять (не сворачивать) дубли     | |||
| 36
    
        Малыш Джон 04.07.18✎ 13:53 | 
        (35) "Фиксация событий с камер наблюдения"     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |