Поиск и замена дублей + v0.99

19.08.15

База данных - Чистка данных

Обработка позволяет выполнять гибкий поиск, замену и удаление дублирующихся элементов любого справочника или плана видов характеристик.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Обработка (8.1.8+) v0.99
.1186121235 63,25Kb
8209 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

За основу была взята типовая обработка из УПП 1.2 со сходным названием.

Основные изменения.

Можно выполнять поиск дублей не только в справочниках, но и в планах видов характеристик. Сделан удобный выбор объекта метаданных.

Сопоставление дублей можно выполнять по любому количеству строгих критериев и одному нестрогому для строкового реквизита (по похожим словам). При выборе объекта метаданных автоматически добавляются рекомендуемые критерии сравнения (для подчиненных справочников равенство владельцев) и элементы отбора (для объектов с группами исключаются группы).

Реализовано удобное представление найденных групп дублей.

Можно задавать произвольный порядок сортировки результатов.

По двойному клику на ключе записи регистра сведений в списке найденных ссылок открывается форма списка этого регистра и текущей строкой устанавливается нужная запись, что позволяет быстро обработать ее руками в случае необходимости.

Перед замещением в независимых регистрах сведений в случае склеивания записей по новым ключам открывается диалог настройки замещения, где отображаются отличия в ресурсах конфликтующих записей и можно выбрать какую именно оставить. Это очень актуально, когда производится замена дублей объектов, у которых много свойств хранится в независимых непериодических регистрах сведений. В качестве примеров можно привести регистры из типовых конфигураций "Права доступа пользователей", "Значения свойств объектов", "Настройки пользователей". Если выполнять замену в них с помощью типовой обработки, то это может привести к потерям правильных данных в этих регистрах.

Выполнение замен с отключенными проверками регистрируется в журнале регистрации (событие - "Запись с флагом Загрузка").

Эта полностью мобильная версия обработки больше не обновляется.

Актуальная версия теперь в Подсистема "Инструменты разработчика"


Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    83600    431    171    

364

Информационная безопасность Чистка данных Системный администратор Разработчик Руководитель проекта 1С 8.3 1С:Бухгалтерия 3.0 Платные (руб)

Обезличивает копию рабочей базы 1С перед передачей наружу и возвращает настоящие данные обратно, когда база вернулась. Это обратимая псевдонимизация: соответствия «исходное - псевдоним» пишутся в отдельный зашифрованный датасет, который остаётся у владельца. Работает на любой конфигурации - обходит метаданные и находит персональные данные сам, без списка реквизитов под конкретную базу. Суммы, количества, даты и номера документов не трогает никогда, оборотно-сальдовая до и после совпадает до копейки. Проверено на трёх конфигурациях: 106 031 объект, 215 642 замены, ноль ошибок, возврат 100 процентов.

42700 руб.

18.08.2026    1602    4    0    

3

Чистка данных Системный администратор Разработчик 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Update 2026: добавили многопоточное удаление данных по организациям. Ускорение х6 по сравнению с однопоточным алгоритмом! Позволяет удалить организации из любых из информационных баз 1С на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3, УНФ, Розница 3.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

12139 руб.

16.03.2015    282955    272    84    

304

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.

6000 руб.

25.02.2026    6728    23    1    

25

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    53025    146    164    

98

Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)

Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует операцию учета НДФЛ. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты Рассчитывает НДФЛ и сравнивает с исчисленным в программе. На отклонение формирует документ "Перерасчет НДФЛ"

9760 руб.

01.09.2023    10155    325    93    

25
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7394 04.08.07 16:09 Сейчас в теме
Переделал справку в соответствии с выполненными доработками.
Устранил ошибку при поиске зависимых, которую сам же и сделал.
Добавил полноценный сохраняемый отбор.
Сделал более интеллектуальное обновление зависимых настроек. Теперь не очищаются поля настроек поиска без необходимости.
freeek; kovalev_andrey; support; +3 – Ответить
2. tormozit 7394 06.08.07 00:44 Сейчас в теме
Выпустил v0.90
- расширены возможности по настройке критериев сравнения (теперь можно задавать любое количество строгих критериев сравнения и один нестрогий)
- заметно переработан интерфейс
- ускорен поиск
Эта версия позволяет в частности выполнять поиск в пределах владельца, что позволяет эффективно устранять дубли в подчиненных справочниках!

Справку по обработке пока не обновил, а также скриншоты. Позже сделаю.
kovalev_andrey; +1 – Ответить
3. tormozit 7394 06.08.07 07:26 Сейчас в теме
v0.91
- исправлены мелкие недочеты в интерфейсе
kovalev_andrey; +1 – Ответить
4. tormozit 7394 09.08.07 23:52 Сейчас в теме
v0.93
- исправлены незначительные ошибки
- из доступных полей теперь исключаются хранилища значений и строки неограниченной длинны
- значительно ускорен поиск в режиме без сравнения по похожим словам за счет новых возможностей свежего релиза платформы 8.1.8.76
- актуализировал справку
kovalev_andrey; +1 – Ответить
5. tormozit 7394 15.08.07 01:07 Сейчас в теме
v0.94
- исправлены ошибки, связанные с ручным вводом состава группы
- исправлено обновление групп после автоматической замены во всех группах
- добавлен режим ручного ввода групп
- теперь по умолчанию отображается номер группы в списке групп
6. tormozit 7394 15.08.07 12:41 Сейчас в теме
v0.95
- исправлена ошибка в поиске зависимых элементов, которую сам же и сделал, оптимизируя типовой код
- исправлены мелкие ошибки с ручным вводом групп
7. tormozit 7394 16.08.07 23:54 Сейчас в теме
v0.96
- предоставлена возможность открытия ссылок на закладке зависимых элеметнов
81. NeuroN 3 18.12.09 11:47 Сейчас в теме
Среди справочника АЗС эта (7) обработка не дала ни одного результата.
Количество элементов = 57. Есть даже такие:
1) АЗС ООО "УРЕНГОЙРЕСУРС"
2) ООО"Уренгойресурс"

Настройку менял. Анализ длится всего секунду.
В чем секрет?
И еще - как исключить префиксы (ООО ОАО и т.д.)?
8. tormozit 7394 22.08.07 10:48 Сейчас в теме
v0.97
- добавлен вывод сообщений об ошибках записи
9. azernot 781 28.09.07 10:06 Сейчас в теме
Вот пытаюсь найти дубли по полному совпадению ИНН и КПП в справочнике контрагенты..
Выдаёт
Код
 
Форма.Форма(171)}: Ошибка при вызове метода контекста (Выполнить): {(8, 16)}: Ожидается выражение ")"
ИСТИНА И ( ИНН<<?>>, КПП)
   мРезультатыПоиска = ЗапросПоиска.Выполнить().Выгрузить();
по причине:
{(8, 16)}: Ожидается выражение ")"
ИСТИНА И ( ИНН<<?>>, КПП)
Показать полностью
10. tormozit 7394 29.09.07 21:50 Сейчас в теме
(9) Какой релиз платформы?
11. azernot 781 01.10.07 10:56 Сейчас в теме
12. tormozit 7394 01.10.07 11:20 Сейчас в теме
(11)
Ну я же не зря пишу "Обработка (8.1.8+) v0.97".
Это означает совместимость с версией платформы 8.1.8 и выше.
13. artbear 1590 21.01.08 17:38 Сейчас в теме
При использовании "Подсистемы для разработчика" открытие данной обработки выдает кучу ошибок синтаксиса типа
{ВнешняяОбработка.ПоискИЗаменаДублирующихсяЭлементов(1424,11)}: Процедура или функция с указанным именем уже определена (ЛксСкопироватьЭлементОтбора)
Процедура <<?>>ЛксСкопироватьЭлементОтбора(пЭлементОтбораПриемник, пЭлементОтбораИсточник) Экспорт
14. tormozit 7394 21.01.08 18:09 Сейчас в теме
(13) Логично. Многие функции из общих модулей подсистемы были перенесены в модуль данной обработки для того, чтобы она стала мобильной. Их придется вручную удалять из модуля обработки, т.к. они дублируются.
15. artbear 1590 23.01.08 09:17 Сейчас в теме
(14) Что логично, согласен.
Но тогда хотелось бы видеть один из двух вариантов
1) или выложить здесь второй файлик для работы с подсистемой
2) или включить данную разработку в подсистему :)
.
Мне больше импонирует второе решение :)

Что скажешь?
16. tormozit 7394 23.01.08 10:51 Сейчас в теме
(15) В подсистему ее включать тематически неверно. Над озвученной проблемой я бился в свое время, но так и не нашел хорошего решения.

Возможно будет все таки принято решение о включении обработки в подсистему "Инструменты разработчика".
17. artbear 1590 24.01.08 07:36 Сейчас в теме
Вот еще один аргумент в пользу включения в подсистему :
ИМХО подобные обработки по замене значений нельзя доверять конечному слабому пользователю типа обычных бухов/менеджеров.
Они должны быть инструментов для опытных внедренцев/разработчиков, что входит в предметную область твоей подсистемы :) !
18. tormozit 7394 23.03.08 12:15 Сейчас в теме
(13 - 17) Сделал.
19. Ks_83 268 16.05.08 11:41 Сейчас в теме
Платформа 8.1.11.67.

При выборе некоторых справочников выдает ошибку:

Ошибка при установке значения атрибута контекста (Текст): {(5, 2)}: Неоднозначное поле "Объект.Код"
<<?>>Объект.Код.* КАК Код,
ПостроительОтчетаОтбора.Текст = "
по причине:
{(5, 2)}: Неоднозначное поле "Объект.Код"
<<?>>Объект.Код.* КАК Код,
20. tormozit 7394 16.05.08 11:57 Сейчас в теме
(19) Это известная проблема. Она была устранена в более новой немобильной версии в составе http://infostart.ru/projects/1274. Если все же нужна мобильная исправленная версия, постараюсь сделать в ближайшие дни.
21. Serj1C 484 22.09.08 10:51 Сейчас в теме
+1.

Только вот еще http://infostart.ru/blogs/594/
Было сделано при помощи этой обработки.

Попросим учесть в след. версиях!!!
22. tormozit 7394 22.09.08 11:10 Сейчас в теме
(21) Не совсем понял, с какой именно проблемой ты столкнулся.
23. karina1409 24.09.08 23:51 Сейчас в теме
Спасибо.
Обработка попалась вовремя, когда напортачили с переносом из 7-ки.
24. e.kogan 1909 29.09.08 12:42 Сейчас в теме
Спасибо. Думали сами дорихтовать напильником типовую, но нашли эту.
25. e.kogan 1909 27.11.08 19:10 Сейчас в теме
Замечание: для подчинённого справочника устанавливаю режим "совпадение" по владельцу и ещё одному реквизиту и "нестрогое совпадение" по наименованию. В результате выдаёт группы с разными владельцами. Чем лечить?
26. tormozit 7394 28.11.08 10:07 Сейчас в теме
v0.98
- исправлено (25)
27. Djagernaut 46 08.12.08 09:48 Сейчас в теме
А для 8.0 обработку можно использовать если воссоздать код в конфигурации?
28. tormozit 7394 08.12.08 10:14 Сейчас в теме
(27) Нет. Здесь используются временные таблицы.
29. Djagernaut 46 08.12.08 10:29 Сейчас в теме
А есть старый вариант для 8 или что то отдаленно напоминающие?
30. tormozit 7394 08.12.08 10:43 Сейчас в теме
31. пользователь 30.12.08 21:30
Сообщение было скрыто модератором.
...
32. пользователь 30.12.08 21:31
Сообщение было скрыто модератором.
...
33. пользователь 30.12.08 21:31
Сообщение было скрыто модератором.
...
34. tormozit 7394 30.12.08 21:50 Сейчас в теме
(33) Ждем, ждем. А пока ты продолжаешь пользоваться ею =)
36. artbear 1590 31.12.08 09:19 Сейчас в теме
(34) Напомни, плиз, аналогичная обработка в подсистеме "Инструменты разработчика" одновременно с данной обновляется?
Или я что-то путаю?
37. tormozit 7394 06.01.09 13:52 Сейчас в теме
(36) Нет. Там обновляется чаще. А это - мобильная версия. Она обновляется реже.
35. larisab 159 31.12.08 00:28 Сейчас в теме
Прекрасная, наиполезнейшая обработка, скачала еще весной, пользуюсь постоянно, после переносов со всяких нестандартных конфигураций имеется куча дублей, особенно когда несколько организаций в одну сливаются. Спасибо автору и за другие обработки (http://infostart.ru/projects/1274) - все нужные! С наступающим НГ!
38. Gaffer 85 10.02.09 20:33 Сейчас в теме
эээ... может, я чего-то просмотрел, но где возможность обработки "Планов видов расчетов"??
39. tormozit 7394 10.02.09 21:06 Сейчас в теме
(38) Процитирую "
Обработка позволяет выполнять гибкий поиск, замену и удаление дублирующихся элементов любого справочника или плана видов характеристик." - Это первые строки описания.

Принципиальных препятствий нет. Добавлю в следующей версии все ссылочные типы.
41. tormozit 7394 10.02.09 21:09 Сейчас в теме
И в ней уже реализовано (39)
40. tormozit 7394 10.02.09 21:09 Сейчас в теме
Кстати, здесь версия намного новее http://infostart.ru/projects/1274/
42. Buxxter 42 20.02.09 17:52 Сейчас в теме
Хотелось бы видеть в ней изменение реквизитов правильного элемента (ну скажем, случился косяк с добавлением дублей, а при создании этого дубля изменился реквизит, обозначающий дату прекращения действия этого элемента)
43. tormozit 7394 20.02.09 18:43 Сейчас в теме
(42) Не понял. Попробуй переформулировать. Кто нибудь понял, что имеется ввиду?
44. likoily 24.02.09 15:07 Сейчас в теме
Автор, Вы умничка! Спасибо огромное за обработку! Очень выручила...
45. Armando 1403 26.02.09 20:39 Сейчас в теме
Ништяк! Сегодня в ЗУП`е с физлицами боролся, обработка очень помогла.
46. efrida 15 25.03.09 12:12 Сейчас в теме
47. Requiem 36 30.04.09 10:03 Сейчас в теме
Еще было бы неплохо задавать какие то условия, по которым будет определяться правильный элемент. Например, если не помечен на удаление. Либо если какой то реквизит равен чему то.
48. shard 293 13.05.09 11:47 Сейчас в теме
хорошая вещь, очень помогла при поиске по нескольким одинаковым реквизитам
49. e.kogan 1909 20.05.09 13:09 Сейчас в теме
На v.0.97 для себя дописала:

возможность пометки на удаление "лишних" кроме возможности их непосредственного удаления;
поиск и показ реквизитов типа Строка неограниченной длины;
очистку текущей группы по щелчку на колонке;
показ текущей группы по активизации строки (если активная колонка - "Вывести группу");
открытие значения реквизита ссылочного типа из таблицы состава текущей группы.

Могу скинуть, изменений мало. Если они будут включены в свежий релиз - буду рада.
51. tormozit 7394 20.05.09 14:24 Сейчас в теме
(49) Нельзя по-подробнее про "по щелчку на колонке"? Я не понял, что это за действие.
57. floodprog 23 17.06.09 12:59 Сейчас в теме
(49) можно подробнее подробнее про пометку на удаление ? Проблемы с РБД. надо чтоб везде пометились... заранее спасибо
50. e.kogan 1909 20.05.09 13:12 Сейчас в теме
Да, ещё писала "интеллектуальную" заменялку в регистрах сведений, но потёрла. Вкратце: если отличается только один ресурс типа строка и замена содержит оригинал, то флаг ставится автоматически. Ну и установка таймаута для формы замены в регистрах (потому как 3000 групп тяжеловато вручную океить, а там замены как раз как вышеприведённые были).
52. e.kogan 1909 20.05.09 14:30 Сейчас в теме
Процедура ОчиститьГруппу(НоваяТекущаяГруппа = Неопределено)
Если НоваяТекущаяГруппа=Неопределено Тогда Отказ=Истина; Возврат; КонецЕсли;
ы=мРезультатыПоиска;
Для й=(-(мРезультатыПоиска.Количество()-1)) по 0 Цикл
Если мРезультатыПоиска[-й].НомерГруппы=НоваяТекущаяГруппа.НомерГруппы Тогда мРезультатыПоиска.Удалить(-й); КонецЕсли;
КонецЦикла;
КонецПроцедуры

Процедура КоманднаяПанельНастройкиОтчетаПоиск(Кнопка)
....
КолонкаОчиститьГруппу = ЭлементыФормы.НайденныеГруппы.Колонки.Вставить(1, "Очистить группу");
КолонкаОчиститьГруппу.Имя = "ОчиститьГруппу";
КолонкаОчиститьГруппу.ТолькоПросмотр = Истина;
...
КонецПроцедуры

Процедура НайденныеГруппыВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
...
ИначеЕсли Колонка.Имя = "ОчиститьГруппу" Тогда
ОчиститьГруппу(Элемент.ТекущаяСтрока);
ВывестиГруппу(Элемент.ТекущаяСтрока);
ОбновитьТекущуюГруппуРезультатовПоиска();
...
КонецПроцедуры

53. e.kogan 1909 20.05.09 20:03 Сейчас в теме
Да, и сохранение отборов нормальное прикрутила.
54. HiAndrew 25.05.09 12:15 Сейчас в теме
Скажите пожалуйста, а в регистрах накопления данная обработка умеет менять значения?
55. HiAndrew 25.05.09 12:29 Сейчас в теме
...и в регистрах бухгалтерии
56. tormozit 7394 25.05.09 12:35 Сейчас в теме
58. tormozit 7394 21.06.09 01:34 Сейчас в теме
Обработка была доработана, но в составе подсистемы ИР http://infostart.ru/projects/1274/ .
59. acsent 1209 30.06.09 13:46 Сейчас в теме
При выборе справочника "Хранилище доп. информации" БП
{Форма.Форма(1036)}: Ошибка при установке значения атрибута контекста (Текст): {(5, 2)}: Неоднозначное поле "Объект.Наименование"
<<?>>Объект.Наименование.* КАК Наименование,
ПостроительОтчетаОтбора.Текст = "
по причине:
{(5, 2)}: Неоднозначное поле "Объект.Наименование"
<<?>>Объект.Наименование.* КАК Наименование,
60. tormozit 7394 30.06.09 14:08 Сейчас в теме
(59) Давай полный текст запроса
61. acsent 1209 30.06.09 14:17 Сейчас в теме

ВЫБРАТЬ 0
ИЗ Справочник.ХранилищеДополнительнойИнформации КАК Объект
{ГДЕ
Объект.Наименование.* КАК Наименование,
Объект.Предопределенный.* КАК Предопределенный,
Объект.ПометкаУдаления.* КАК ПометкаУдаления,
Объект.Ссылка.* КАК Ссылка,
Объект.ВидДанных.* КАК ВидДанных,
Объект.Объект.* КАК Объект,
Объект.ИДФайлаПочтовогоПисьма.* КАК ИДФайлаПочтовогоПисьма,
Объект.ЗначениеРазделенияДоступа.* КАК ЗначениеРазделенияДоступа}
{УПОРЯДОЧИТЬ ПО
0 КоличествоЭлементовВГруппе
,
Объект.Наименование.* КАК Наименование,
Объект.Предопределенный.* КАК Предопределенный,
Объект.ПометкаУдаления.* КАК ПометкаУдаления,
Объект.Ссылка.* КАК Ссылка,
Объект.ВидДанных.* КАК ВидДанных,
Объект.Объект.* КАК Объект,
Объект.ИДФайлаПочтовогоПисьма.* КАК ИДФайлаПочтовогоПисьма,
Объект.ЗначениеРазделенияДоступа.* КАК ЗначениеРазделенияДоступа}
62. tormozit 7394 30.06.09 16:20 Сейчас в теме
(61) Посыпаю голову пеплом. Не доходили руки решить эту проблему принципиально. Но теперь это придется сделать, чтобы смыть позор =)
63. tormozit 7394 30.06.09 17:04 Сейчас в теме
(61) Посмотрел в последней версии в составе ИР. Там проблема решена, хотя и не принципиально. Обновлять мобильную версию пока не знаю, когда буду.
64. acsent 1209 18.08.09 12:52 Сейчас в теме
Ошибка: Индекс выходит за границы (Форма, 561)
Исправление:

Для Каждого Последовательность ИЗ Метаданные.Последовательности Цикл
Если Последовательность.Документы.Содержит(СтрокаТаблицы.Метаданные) Тогда
НадоЗаписывать = Ложь;
НаборЗаписи = Последовательности[Последовательность.Имя].СоздатьНаборЗаписей();
НаборЗаписи.Отбор.Регистратор.Установить(СтрокаТаблицы.Данные);
НаборЗаписи.Прочитать();

// ++
Если НаборЗаписи.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
// --

tormozit; +1 – Ответить
65. tormozit 7394 18.08.09 13:10 Сейчас в теме
66. tormozit 7394 18.08.09 13:49 Сейчас в теме
0.99
- исправлено (64)
67. romanovkv 10.09.09 14:19 Сейчас в теме
Еще как пожелание возможность обрабатывть группы поодиночке. А то "Автозамена" сразу обрабатывает все. А иногда надо обработать выборочно.
68. tormozit 7394 10.09.09 14:39 Сейчас в теме
70. romanovkv 10.09.09 14:50 Сейчас в теме
71. tormozit 7394 10.09.09 15:10 Сейчас в теме
(70) Теперь понятно. Что речь идет о групповой выборочной автозамене. Пожелание понятно.
72. romanovkv 10.09.09 15:13 Сейчас в теме
(71) Лучше как мне кажеться добавить на против каждой найденной группы возможность ставить "галочку", те что не помечены не попадают в "Автозамену".
Но вобще решать вам.
69. romanovkv 10.09.09 14:50 Сейчас в теме
А как это сделат? Чтобы не удалять не нужные группы.
73. ALagutin 57 10.09.09 16:58 Сейчас в теме
Возникает ошибочка при попытке сделать отбор по полю глубина которого больше 1, например хочу отобрать все одинаковые по наименованию договора + одинаковые по наименованию владельца ...ошибка выскакивает...когда пытаюсь выбрать Владелец.Наименование
74. tormozit 7394 10.09.09 17:02 Сейчас в теме
(73) Для начала неплохо ошибку показать. Воспроизводится ли ошибка в немобильной (более новой) версии из состава подсистемы ИР?
75. romanovkv 11.09.09 16:04 Сейчас в теме
Еще есть пожелание к разработчику. можно чтобы была возможность выгрузки в Excel дерева с дублями:
- 1 Группа
- Первый обект
- Второй обект
- 2 Группа
- Первый обект
- Второй обект
- Третий объект

Зачем это нужно. А для того чтоьбы потом предоставить этот список двойников людям которые его могли создать и определить "человеком" какой элемент являеться правильный.
76. vabue 121 11.09.09 18:47 Сейчас в теме
Возможно ли пропускать определённые регистры при поиске ссылок?
Актуально для конфигурации с коммерческими закрытыми модулями, которые 100% не ссылаются на обрабатыавемый справочник.
77. tormozit 7394 11.09.09 21:31 Сейчас в теме
(76) Возможно, но такая возможность не реализована.
78. romanovkv 21.09.09 09:37 Сейчас в теме
(77)
А когда Можно будет увидеть пожелания?
79. tormozit 7394 21.09.09 10:33 Сейчас в теме
(78) Пока не готов ответить о сроках реализации.
80. elizarovs 83 25.11.09 11:06 Сейчас в теме
82. miksla 39 21.12.09 14:52 Сейчас в теме
Спасибо за обработку!
Вылезла ошибка, когда в строковом поле есть строки состоящие из пробелов, их обрезало до пустой строки функция СокрП.

Текст ошибки:
{Форма.Форма(182)}: Индекс находится за границами массива
СтрокаПоиска.НомерГруппы = НайденныеГруппы.НайтиСтроки(мСтруктураКлючаПоиска)[0].НомерГруппы;

Мои исправления:

Для Каждого СтрокаПоиска ИЗ мРезультатыПоиска Цикл
		ЗаполнитьЗначенияСвойств(мСтруктураКлючаПоиска, СтрокаПоиска);
		Для Каждого СтроковоеПоле Из МассивСтроковыхПолейСравнения Цикл
			//Начало исправление
			//мСтруктураКлючаПоиска[СтроковоеПоле] = Нрег(СокрП(мСтруктураКлючаПоиска[СтроковоеПоле]));
			мСтруктураКлючаПоиска[СтроковоеПоле] = Нрег(мСтруктураКлючаПоиска[СтроковоеПоле]);
			//Конец исправления
		КонецЦикла;
		СтрокаПоиска.НомерГруппы = НайденныеГруппы.НайтиСтроки(мСтруктураКлючаПоиска)[0].НомерГруппы;
		ЗаполнитьЗначенияСвойств(СтрокаПоиска, мСтруктураКлючаПоиска);
	КонецЦикла;
Показать
83. tormozit 7394 21.12.09 15:54 Сейчас в теме
(82) В мобильной (этой) версии данная ошибка пока не устранена. Но она уже давно устранена в немобильной версии http://infostart.ru/public/15126/
84. miksla 39 21.12.09 16:18 Сейчас в теме
(83) Ех, нет возможности добавлять подсистему в большинстве проектов. Там функции внешние используются? Можно легко выгрузить во внешнюю обработку?
85. Alexei_fox 52 29.12.09 04:38 Сейчас в теме
Непонятно как после замены ссылок как удалить освободившиеся не нужные элементы справочника ?
Работаю со справочником Контрагенты 1С БП ...
86. Sergey K 65 21.01.10 13:00 Сейчас в теме
(0)
Почитал комментарии, у меня осталось 2 вопроса:
1. при замене Номенклатуры, что произойдет с подчиненными реквизитами такими как Ед., Серия? т.е. если в документе была указана номенклатура и ее ЕдИзм, то после замены что будет с ЕдИзм?

2. Как происходит замена в документах? после замены идет запись и перепроведение? (просто у меня есть старые документы, у которых я изменил перепроведение) = > если их перепровести, то пойдут косяки...

Спасибо!
87. tormozit 7394 21.01.10 13:18 Сейчас в теме
(86)
2. Перепроведение документов данной обработкой не выполняется. После замены в объекте документа выполняется только его запись.
88. Sergey K 65 22.01.10 10:10 Сейчас в теме
(87) а что тогда будет после замены с данными регистров, по которым делает движение документ, в котором мы заменяем значения, если он не проводится? т.е. записи регистров будут ссылаться на не существующий элемент?
89. tormozit 7394 22.01.10 10:16 Сейчас в теме
(87) Замены производятся во всех изменяемых прикладным кодом таблицах БД, в т.ч. и в регистрах.
90. Sergey K 65 22.01.10 10:35 Сейчас в теме
ок. Спасибо!
тогда +
91. fedor40 708 15.02.10 09:54 Сейчас в теме
Жаль, что в "Результате поиска" нельзя увидеть другие реквизиты. Например, ищем по ИНН, а основной контрагент определяется по наличию КПП. Если бы справочно выводить КПП, то можно было бы быстро определить кто основной контрагент.
94. buy_sale 225 11.03.10 20:36 Сейчас в теме
(91) Как это нельзя, если можно. Жмешь правую кнопу мышки на составе текущей группы, выбираешь настройку колонок и ставишь там флажок КПП.
95. lama100 17.03.10 22:04 Сейчас в теме
(94) ..."Как это нельзя, если можно. Жмешь правую кнопу мышки на составе текущей группы, выбираешь настройку колонок и ставишь там флажок КПП."...

А там нет такого флажка. Поля появляются только если по ним идет сравнение на первой закладке :(.
Поддерживаю (91), очень хочется выводить доп. поля в Результатах поиска, а не кликать по элементам на просмотр - поля всех реквизитов справочника.

97. buy_sale 225 17.03.10 23:48 Сейчас в теме
(95) я же сказал на СОСТАВЕ текущей группы, а не на группе.
92. Tishu 3 20.02.10 20:19 Сейчас в теме
Не находит элементы при сравнении по похожим словам в БП 1.16.6.6 Платформа 8.1.15.14
Обработка незаменимая вещь пр переносе нескольких баз 7.7 в одну базу 8.1.
Год назад очень помогла. Караул!
93. buy_sale 225 11.03.10 20:33 Сейчас в теме
Очень полезная разработка. Я ее немножко доработал :

- добавлено сохранение отборов и порядка в схеме (настроек отчета)
- добавлена возможность проверки зависимых элементов на полную идентичность по всем реквизитам ( оригинал - только по наименованию)
- добавленв возможность создания зависимого от правильного элемента, если он не найден ( например для замены договора при замене контрагентов)

Хочу еще сделать печать групп и их состава, а так же удаление групп из таблицы...
96. buy_sale 225 17.03.10 23:46 Сейчас в теме
Усоверщенствованная мной версия здесь http://infostart.ru/public/67047/
98. Gringj 72 19.03.10 16:08 Сейчас в теме
Обработка супер, но есть одно НО.
Предупреждать надо чайников, таких как я, что если поставить нестрогое соответствие по одному из реквизитов то остальные не проверяются на равенство. Я таким образом после слияния двух баз, стал чистить дубли. Дошел до справочника "Статьи затрат", поставил нестрогое соответствие по наименованию и строгое по "Вид Расходов НУ" и "Отнесение расходов к деятельности... ЕНВД чего-то там". Элементов нашлось порядка 100, на глаз вроде все правильно. Ну обработка и объединила мне, например, ЕСН по виду расходов "ЕСН", "Оплата труда", "Налоги и сборы из 3-ех в один. Пришлось писать обработку по отмене изменений, что не есть гуд.
99. tormozit 7394 19.03.10 16:40 Сейчас в теме
(98) Можете ли привести скриншоты, демонстрирующие первую и вторую закладку формы в вашем случае? Были ли колонки "Вид расходов НУ" и "Отнесение расходов ..." в таблице "Надейнные группы"?
100. Gringj 72 19.03.10 19:09 Сейчас в теме
(99) Скриншоты прикрепил как файлы, как делать, чтобы скриншоты прямо в комментах показывались - не знаю.
Обработку скачивал 14 марта - может за эти дни версия поменялась. Написал собственно потому, что хотел поделиться алгоритмом восстановления: Значит я сделал в копии базы и в рабочей базе регистр сведений "Восстановление", туда записал всю таблицу ссылок из копии. Перекачал из копии в рабочую базу справочник статьи затрат и регистр "Восстановление". В рабочей базе запустил обработку по восстановлению. Вроде получилось, хотел через планы обмена, да не смог пока разобраться. Все сделал путем настройки обработки автора. Вроде работает. До настроенную обработку прикрепил, может кому пригодиться. :)
Прикрепленные файлы:
ПоискИЗаменаДублирующихсяЭлементов+ - vvdem.epf
Скриншоты.zip
Dimly; cehuma; +2 – Ответить
101. Gringj 72 19.03.10 19:13 Сейчас в теме
(100) Скриншоты :)
Прикрепленные файлы:
Скриншоты.zip
eduardoff; +1 – Ответить
102. tormozit 7394 22.03.10 18:09 Сейчас в теме
(100) Скриншот закладки 2 сделай пожалуйста с теми включенными колонками в табличном поле состава группы, по которым строгое сравнение задано.
103. NtS 16.04.10 23:44 Сейчас в теме
почему может не искать по похожим словам? выбираю справочник контрагенты по наименованию, по равному значению реквизита находит дубли. а по похожим словам нет
104. ntsm 16.04.10 23:55 Сейчас в теме
(103) и в поиске по равному значению реквизита находит только абсолютно одинаковые значения, если отличаются наименования хотя бы запятой, уже дубли не находятся
180. sbv2005 348 21.06.12 10:58 Сейчас в теме
(103) Автору: сейчас не работает сравнение по похожим словам (работает только в версии в ИР). Проанализировав вашу полную версию предлагаю корректировки, чтобы этот режим работал:
1) Заменить Процедуру НайтиПоСовпадающимСловам(ОтборПоиска):

Процедура НайтиПоСовпадающимСловам(ОтборПоиска)

ЕСли мФормаИндикатора <> Неопределено Тогда
мФормаИндикатора.КомментарийОбработкиДанных = "Поиск элементов";
мФормаИндикатора.КомментарийЗначения = "Получение элементов объекта";
мФормаИндикатора.ВладелецФормы = ЭтаФорма;
мФормаИндикатора.Открыть();
КонецЕсли;

ТекстВЫБРАТЬ = "";
ТекстИдексов = "";
ТаблицаСлов = Новый ТаблицаЗначений;
мРезультатыПоиска = Новый ТаблицаЗначений;
мСтруктураКлючаПоиска = Новый Структура;
Для Каждого ПолеСравнения Из ПостроительОтчетаОтбора.Порядок Цикл
Если ПолеСравнения.ПутьКДанным = "КоличествоЭлементовВГруппе" Тогда
Продолжить;
КонецЕсли;
ИмяПоля = ПолучитьИдентификаторИзПредставления(ПолеСравнения.ПутьКДанным);
Если ПолеСравнения.ПутьКДанным = мПутьКДаннымПоляНечеткогоСравнения Тогда
ИмяПоляНечеткогоСравнения = ИмяПоля;
Иначе
мСтруктураКлючаПоиска.Вставить(ИмяПоля);
ТекстИдексов = ТекстИдексов + ", " + ИмяПоля;
КонецЕсли;
мСтруктураПредставлений.Вставить(ИмяПоля, ПолеСравнения.Представление);

ПсевдонимОсновнойТаблицы = "_" + ПолучитьИдентификаторИзПредставления(Новый УникальныйИдентификатор);

ТекстВЫБРАТЬ = ТекстВЫБРАТЬ + ", " + ПсевдонимОсновнойТаблицы + "." + ПолеСравнения.ПутьКДанным;
ТаблицаСлов.Колонки.Добавить(ИмяПоля);
мРезультатыПоиска.Колонки.Добавить(ИмяПоля);
НайденныеГруппы.Колонки.Добавить(ИмяПоля);
КонецЦикла;
ТекстИдексов = Сред(ТекстИдексов, 2);

ПостроительОтчетаПоиска = Новый ПостроительОтчета;
ТекстЗапроса = "
|ВЫБРАТЬ " + ПсевдонимОсновнойТаблицы + ".Ссылка" + ТекстВЫБРАТЬ + ", NULL КАК КоличествоЭлементовВГруппе
|Из " + ПолноеИмяОбъекта + " КАК " + ПсевдонимОсновнойТаблицы + "
|";

ПостроительОтчетаПоиска.Текст = ТекстЗапроса;
ПостроительОтчетаПоиска.ЗаполнитьНастройки();

ЛксСкопироватьОтбор(ПостроительОтчетаПоиска.Отбор, ОтборПоиска, Истина);
ЛксСкопироватьПорядок(ПостроительОтчетаПоиска.Порядок, ПостроительОтчетаОтбора.Порядок);
ПостроительОтчетаПоиска.Выполнить();
ТаблицаОбъекта = ПостроительОтчетаПоиска.Результат.Выгрузить();
ТаблицаОбъекта.Индексы.Добавить(ТекстИдексов);

ТаблицаСлов.Колонки.Добавить("Ссылка");
ТаблицаСлов.Колонки.Добавить("СписокСлов");

СписокСлов = Новый СписокЗначений;

ЕСли мФормаИндикатора <> Неопределено Тогда
мФормаИндикатора.КомментарийОбработкиДанных = "Разбивка значения на отдельные слова";
мФормаИндикатора.МаксимальноеЗначение = ТаблицаОбъекта.Количество();
КонецЕсли;

Для Каждого СтрокаСсылки ИЗ ТаблицаОбъекта Цикл
ЕСли мФормаИндикатора <> Неопределено Тогда
мФормаИндикатора.Значение = ТаблицаОбъекта.Индекс(СтрокаСсылки) + 1;
КонецЕсли;

ЗначениеРеквизита = СтрокаСсылки[ИмяПоляНечеткогоСравнения];
СписокСлов = ПолучитьСписокСлов(ЗначениеРеквизита);

НовСтр = ТаблицаСлов.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр, СтрокаСсылки);
НовСтр.СписокСлов = СписокСлов.Скопировать();
КонецЦикла;

ЕСли мФормаИндикатора <> Неопределено Тогда
мФормаИндикатора.КомментарийОбработкиДанных = "Выполняется анализ значений реквизита";
мФормаИндикатора.Значение = 0;
мФормаИндикатора.МаксимальноеЗначение = ТаблицаСлов.Количество();
КонецЕсли;

ТаблицаОбъекта = 0;

мРезультатыПоиска.Колонки.Добавить("Ссылка");
мРезультатыПоиска.Колонки.Добавить("НомерГруппы");
мРезультатыПоиска.Колонки.Добавить("Правильный", Новый ОписаниеТипов("Булево"));
мРезультатыПоиска.Колонки.Добавить("КоличествоСсылок");

НомерГруппы = 1;

Пока ТаблицаСлов.Количество() > 0 Цикл
ЕСли мФормаИндикатора <> Неопределено Тогда
мФормаИндикатора.Значение = мФормаИндикатора.ЭлементыФормы.Индикатор.МаксимальноеЗначение - ТаблицаСлов.Количество();
КонецЕсли;
ОбработкаПрерыванияПользователя();

ОбрабатываемаяСтрока = ТаблицаСлов[0];
ФильтрГруппыРавенства = Новый Структура(ТекстИдексов);
ЗаполнитьЗначенияСвойств(ФильтрГруппыРавенства, ОбрабатываемаяСтрока);
Если ФильтрГруппыРавенства.Количество() > 0 Тогда
СтрокиГруппыРавенства = ТаблицаСлов.НайтиСтроки(ФильтрГруппыРавенства);
Иначе
СтрокиГруппыРавенства = ТаблицаСлов;
КонецЕсли;
КоличествоСтрок = СтрокиГруппыРавенства.Количество();
СписокСтрок = Новый СписокЗначений;
СписокСтрок.Добавить(ОбрабатываемаяСтрока);
ТекущийСписокСлов = ОбрабатываемаяСтрока.СписокСлов.Скопировать();

Для индекс = 1 по КоличествоСтрок - 1 Цикл
СтрокаСравнения = СтрокиГруппыРавенства[индекс];
Если СтрокаСравнения = ОбрабатываемаяСтрока Тогда
Продолжить;
КонецЕсли;

СписокСловСравнения = СтрокаСравнения.СписокСлов.Скопировать();
СписокНеНайденных = Новый СписокЗначений;

ОдинаковыхСлов = 0;
Для Каждого Слово Из ТекущийСписокСлов Цикл
ЭлементСпискаСравнения = СписокСловСравнения.НайтиПоЗначению(Слово.Значение);
Если ЭлементСпискаСравнения = Неопределено Тогда
СписокНеНайденных.Добавить(Слово.Значение);
Иначе
СписокСловСравнения.Удалить(ЭлементСпискаСравнения);
ОдинаковыхСлов = ОдинаковыхСлов + 1;
КонецЕсли;
КонецЦикла;

Если СписокНеНайденных.Количество()=0 И СписокСловСравнения.Количество()=0 Тогда
ЕстьОтличия = Ложь;
Иначе
ЕСли ОдинаковыхСлов > 0 Тогда
ЕстьОтличия = АнализРазличийВСловах(СписокНеНайденных, СписокСловСравнения, ТекущийСписокСлов, ОдинаковыхСлов, ДопустимоеРазличиеСлов);
Иначе
ЕстьОтличия = Истина;
КонецЕсли;
КонецЕсли;

Если НЕ ЕстьОтличия Тогда
СписокСтрок.Добавить(СтрокаСравнения);
КонецЕсли;

КонецЦикла;

Для Каждого СтрокаИзСписка ИЗ СписокСтрок Цикл
Если СписокСтрок.Количество() > 1 Тогда
СтрокаРезультата = мРезультатыПоиска.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаРезультата, СтрокаИзСписка.Значение);
СтрокаРезультата.НомерГруппы = НомерГруппы;
Иначе
НомерГруппы = НомерГруппы - 1;
КонецЕсли;
ТаблицаСлов.Удалить(СтрокаИзСписка.Значение);
КонецЦикла;
НомерГруппы = НомерГруппы + 1;

КонецЦикла;

ЕСли мФормаИндикатора<>Неопределено Тогда
мФормаИндикатора.КомментарийОбработкиДанных = "Обработка результатов";
КонецЕсли;

НайденныеГруппы.Колонки.Добавить("КоличествоЭлементовВГруппе");
НайденныеГруппы.Колонки.Добавить("НомерГруппы");
НайденныеГруппы.Колонки.Добавить("ПравильныйЭлемент");
Если мРезультатыПоиска.Количество() > 0 Тогда

мРезультатыПоиска.Сортировать("НомерГруппы УБЫВ");
СтруктураПоиска = Новый Структура;
ВсегоГрупп = мРезультатыПоиска[0].НомерГруппы;
Для Индекс = 1 по ВсегоГрупп Цикл
СтруктураПоиска.Вставить("НомерГруппы", ВсегоГрупп - Индекс + 1);
МассивСтрок = мРезультатыПоиска.НайтиСтроки(СтруктураПоиска);
СтрокаГруппы = НайденныеГруппы.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаГруппы, МассивСтрок[0]);
СтрокаГруппы.КоличествоЭлементовВГруппе = МассивСтрок.Количество();
КонецЦикла;

НайденныеГруппы.Сортировать(ЛксПолучитьСтрокуПорядка(ПостроительОтчетаОтбора.Порядок));

Если мРезультатыПоиска.Количество() > 0 Тогда
ВывестиГруппу(НайденныеГруппы[0]);
КонецЕсли;

КонецЕсли;
ЕСли мФормаИндикатора<>Неопределено Тогда
мФормаИндикатора.Закрыть();
КонецЕсли;


КонецПроцедуры

2) Добавить 2 процедуры:

Функция ПолучитьИдентификаторИзПредставления(Представление)

Попытка
Пустышка = Новый Структура(Представление);
Возврат Представление;
Исключение КонецПопытки;

RegExp = Новый COMОбъект("VBScript.RegExp");
RegExp.IgnoreCase = Истина;
RegExp.MultiLine = Ложь;

шБуква = "А-Яа-я_A-Za-z";

RegExp.Pattern = "\d";
НовоеПредставление = Представление;
ПервыйСимвол = Сред(Представление, 1, 1);
Если RegExp.Test(ПервыйСимвол) Тогда
// Первый символ - цифра
НовоеПредставление = "_" + НовоеПредставление;
КонецЕсли;
ПредыдущийСимвол = " ";
ТекущаяСтрока = "";
Для Счетчик = 1 По СтрДлина(НовоеПредставление) Цикл
ТекущийСимвол = Сред(НовоеПредставление, Счетчик, 1);
RegExp.Pattern = "\s";
Если RegExp.Test(ПредыдущийСимвол) Тогда
// Предыдущий символ - непечатаемый
ТекущийСимвол = ВРег(ТекущийСимвол);
КонецЕсли;
RegExp.Pattern = "[" + шБуква + "\d]";
Если RegExp.Test(ТекущийСимвол) Тогда
// Предыдущий символ - непечатаемый
ТекущаяСтрока = ТекущаяСтрока + ТекущийСимвол;
Иначе
RegExp.Pattern = "[\S]";
Если RegExp.Test(ТекущийСимвол) Тогда
ТекущаяСтрока = ТекущаяСтрока + "_";
КонецЕсли;
КонецЕсли;
ПредыдущийСимвол = ТекущийСимвол;
КонецЦикла;
Результат = ТекущаяСтрока;
Возврат ТекущаяСтрока;

КонецФункции // ПолучитьИдентификаторИзПредставления()

Процедура ЛксСкопироватьОтбор(пОтборПриемник, пОтборИсточник, пСоздаватьОтсутствующие = Ложь, ТолькоИспользуемые = Ложь)

//Если пСоздаватьОтсутствующие Тогда
// ДоступныеПоля = пОтборПриемник.ПолучитьДоступныеПоля();
//КонецЕсли;
Для Каждого ЭлементОтбораИсточника Из пОтборИсточник Цикл
Если Истина
И ТолькоИспользуемые
И Не ЭлементОтбораИсточника.Использование
Тогда
Продолжить;
КонецЕсли;
Если ТипЗнч(ЭлементОтбораИсточника) = Тип("КлючИЗначение") Тогда
ЭлементОтбораИсточника = ЭлементОтбораИсточника.Значение;
КонецЕсли;
//Если ЭлементОтбораИсточника.Имя = "" Тогда
// Сообщить("Невозможно определить элемент отбора приемника при копировании отбора.",
// СтатусСообщения.Внимание);
// Продолжить;
//КонецЕсли;
ЭлементОтбораПриемника = пОтборПриемник.Найти(ЭлементОтбораИсточника.Имя);
Если ЭлементОтбораПриемника = Неопределено Тогда
Если Истина
И пСоздаватьОтсутствующие
//И ЛксНайтиПолеНастройкиПоПутиКДанным(ДоступныеПоля, ЭлементОтбораИсточника.ПутьКДанным) <> Неопределено
Тогда
Попытка
ЭлементОтбораПриемника = пОтборПриемник.Добавить(ЭлементОтбораИсточника.ПутьКДанным, ЭлементОтбораИсточника.Имя);
Исключение
Продолжить;
КонецПопытки;
Иначе
Продолжить;
КонецЕсли;
КонецЕсли;
ЛксСкопироватьЭлементОтбора(ЭлементОтбораПриемника, ЭлементОтбораИсточника);
КонецЦикла;

КонецПроцедуры // ЛксСкопироватьОтбор()
105. Iris-ocean 30.06.10 14:11 Сейчас в теме
почему не удаляются строчки из таблицы найденных групп?
106. tormozit 7394 30.06.10 14:14 Сейчас в теме
Цитирую описание "Самая свежая (немобильная) версия всегда здесь http://infostart.ru/public/15126/. А эта мобильная обновляется редко."
Таким образом нужно сделать вывод, что здесь (в этой мобильной версии) могут лишь исправляться существенные ошибки
107. Рамзес 31 29.12.10 10:51 Сейчас в теме
Под 8.2 будет работать?
108. -null- 19.04.11 17:35 Сейчас в теме
(107) А что мешает конвертнуть? У меня отработала.
109. p-pavel@inbox.ru 25.07.11 13:32 Сейчас в теме
не нашел где можно установить организовать поиск так - дубли по артикулу кроме тех у которых артикул пустой
110. tormozit 7394 25.07.11 14:13 Сейчас в теме
(109) Внизу отбор. Там добавляй элемент "Артикул = ".
А сверху добавляй элемент "Артикул, строгое совпадение".
111. Tota 15.09.11 22:13 Сейчас в теме
Огромное спасибо автору за проделанную работу. Сэкономил кучу времени.
112. AndreyBlin 16.09.11 10:45 Сейчас в теме
Спасибо, отличная весщ.
113. reg-aleks 16.09.11 11:15 Сейчас в теме
Воспользовался обработкой. В ней нет, как мне кажется, интересно вещи - допустим в справочнике есть два именнованных по-разному контрагента. НАдо из них двоих слепить один. Было бы интересно сделать так, чтоб я интерактивно задал контрагентов кого на кого заменяю и обработка это сделала. Такое есть?
114. tormozit 7394 16.09.11 11:38 Сейчас в теме
(113) Такая возможность есть в немобильной версии обработки внутри подсистемы ИР http://infostart.ru/public/15126/.
115. plotn 7 19.09.11 07:59 Сейчас в теме
Отличная обработки, очень помогает при чистке базы
116. altar 235 03.10.11 12:51 Сейчас в теме
Спасибо,очеь помогло
117. fwa 07.10.11 11:09 Сейчас в теме
Хороший шаблон
Спасибо
118. Gosh02 14.10.11 08:02 Сейчас в теме
А на 8.2.14.537 будет обработка работатьв в Бухгалтерии 2.0.28.3? Очень нужная вещь в бухгалтерии. И почему ее нет в стандартной конфиге, хотя в Управлении Торговлей - она есть.
119. Lyuda_Iv 18.10.11 06:53 Сейчас в теме
Использовала программу после конвертации из Зарплата 7.7. Отлично!
120. itit 26.10.11 11:55 Сейчас в теме
постоянно пользуюсь этой обработкой когда бухи навводят одного и того же. спасибо
121. Nex@ 26.10.11 12:19 Сейчас в теме
Пользуюсь постоянно после переноса данных из УТ в БП. Проблемы только с Контрагентами, т.к. не меняет владельца Договоров. Но там сама подчищаю.
122. wonder_boy 11 27.10.11 15:15 Сейчас в теме
Автору "Пять" за планы видов характеристик. Но в УТ, в схожей обработке, удобство и логика работы на мой взгляд гораздо выше чем в УПП. Надо все переделать на основе обработки из УТ :).
123. Acasta 1 30.10.11 21:01 Сейчас в теме
Очень пригодилась обработка, спасибо
124. a3a 17 03.11.11 14:05 Сейчас в теме
Обработка просто крутая ! Спс большое пользуюсь и радуюсь
125. Coollerok 08.11.11 01:21 Сейчас в теме
Отличная обработка! Спасибо!
126. Coollerok 08.11.11 12:01 Сейчас в теме
Спасибо огромное.
127. nord87 17.11.11 11:44 Сейчас в теме
Мощный инструмент, частенько приходится пользоваться
128. Bezukladnikova 17.11.11 15:00 Сейчас в теме
Спасибо большое за обработку! а то думала 2000 договоров перебирать вручную Поиском и заменой значений!
129. zdrastvyitejorj 17.11.11 15:37 Сейчас в теме
Большое спасибо за обработку. Конечно есть некоторое пожелание. Хотелось бы еще увидиеть, если возможно, чтобы вместе с контрагентом, менялись ссылки и на договора привязанные к контрагенту. Например если договор с таким-же наименованием у контрагента на который заменяем уже есть, тогда обработка меняла бы ссылки на этот договор, а если такого договора нет, тогда создавала бы новый. Думаю очень облегчило бы работу в чистке справочника тем у кого по 500 дублей в справочнике контрагентов и везде договора привязанные к сотням документов.
130. Tristania 25.11.11 08:06 Сейчас в теме
131. pvlunegov 160 30.11.11 12:20 Сейчас в теме
Извините за возможный спам...
Просто нету времени читать ВСЕ комментарии...

Вопрос к автору - У меня необычная ситуация:

1). есть справочник "Договоры Контрагентов" в конфигурации 1С 8.2 "Комплексная автоматизация"
2). аналогичный справочник в 1С 7.7 "Бухгалтерия"
Оба справочника заполнены, ведутся параллельно в обоих конфигурациях в одной и той-же организации.
Причем наименования одних и тех-же договоров в конфигурациях отличаются.
Кроме того, в 1С 8.2 некоторые реквизиты заполнялись вручную кривыми руками менеджеров, частично незаполнены.
В один прекрасный момент организация отказалась вести учет в 1С 7, перешла на учет в 1С 8.2
Справочник был перенесен в 1С 8.2 криво, по наименованиям (это делали другие программисты, не знаю, как и зачем).\
Таким образом, на данный момент в 1с 8.2 В СПРАВОЧНИКЕ хаос (множество элементов справочника с
отличающимися наименованиями (или с совпадающими), являющимися по сути одним и тем-же).
Необходимо удалить дубли.
Для этого в обработке необходимо отбирать элементы по правилу:
1). Владелец договора (контрагент) у дублей совпадает
2). наименования ПОДОБНЫ ("умный поиск похожих наименований")

Как это можно сделать в вашей обработке?
132. pvlunegov 160 30.11.11 12:31 Сейчас в теме
Автору спасибо за качественную обработку. Искал подобное.
В принципе много аналогичных разработок.
Ваша понравилась удобным интерфейсом, наличием необходимого мне функционала для сложного поиска по нескольким критериям.
Интерфейс достаточно удобный.
Посмотреть другие подобные публикации времени, к сожалению, нету.
Если ваша меня устроит в моей ситуации, отлично.

Хотел попросить автора добавить версию для 1С 8.2
Я умею конвентировать под 1С 8.2. Эта просьба ради начинающих программистов, которые с этим не сталкивались.
Люди на данном сайте почему то забывают сделать простейшую операцию конвертации под 8.2 и 8.1
Хотя, если бы они это не забывали, спрос на разработку увеличился бы.
Потому что большинство людей идет по пути наименьшего сопротивления, если ваша обработка под 1С 8.2 не сконвектирована, они скачают другую, пусть и похуже, зато точно работающую на 8.2
133. pvlunegov 160 30.11.11 13:06 Сейчас в теме
Автор, все норм работает.
Было бы полезно добавить функцию помечать на удаление, после замены дублей.
Сейчас этой функции нету, ОЧЕНЬ ЖАЛЬ!
Мне пришлось вручную колбасить (помечать на удаление после замены ссылок в документах) справочник.
134. tormozit 7394 30.11.11 13:17 Сейчас в теме
(133) Вы уверены, что ее нет? Может быть просто остались ссылки на дубли? В таком случае с ними ничего не происходит.
Также замечу, что здесь несколько устаревшая версия обработки. Актуальная находится внутри подсистемы ИР http://infostart.ru/public/15126/ . А эта мобильная давно не обновлялась.
135. pvlunegov 160 30.11.11 13:29 Сейчас в теме
В коде посмотрел, что при замене ссылок в проведенных документах, обработка заменят ссылки в движениях документа.
Интересно реализовано...
Встречный вопрос - а если документ нестандартный, при проведении не делаются кроме движений, какие-либо дополнительные операции с БД?
В нестандартных конфах сталкивался с такими криворукими творениями всяких "умельцев".

В этом случае без перепроведения документов не обойтись.
Поэтому просьба добавить такую возможность в виде кнопки на закладке "Замена"!
На мой взгляд, такая кнопка совершенно необходима.
В описание обработки можно по этому вопросу пару слов черкнуть - дескать, замена ссылок в движениях проведенных документов есть, но добавлена кнопочка на всякий пожарный, кому нужна...
136. tormozit 7394 30.11.11 13:46 Сейчас в теме
(135) Согласен что в некоторых случаях в умелых руках такая возможность принесет пользу. Однако в большинстве случаев она будет приносить вред.

Можете привести реальный пример, где она бы потребовалась?
137. pvlunegov 160 30.11.11 14:15 Сейчас в теме
к сообщению 131:
хочу добавить, что пробовал сделать следующий отбор:
1). Владелец договора (контрагент) у дублей совпадает
2). наименования ПОДОБНЫ

При этом в группах попадаются элементы справочника с ПОХОЖИМИ наименованиями, но разными владельцами!
Значит отбор неправильно работает, или я туплю?

Что касается сообщения 134:
большое спасибо за ссылку! Не знал, что есть такая полезная разработка, где все в одном...
Не было времени искать, еще раз спасибо!Скачаю, заценю!

Что касается сообщения 136:
К сожалению, не сейчас не смогу привести конкретный пример. Ранее работал в компании "СпецАвтобаза". Там есть сильно модифицированная конфигурация. Есть тяжелый документ "Путевой Лист", он при проведении очень много чего делает, в том числе выгружает данные в сторонние программы (в БД при этом изменений нету, но например изменяется информация в .DBF файле, предназначенном для системы автодозвона должников). Таким образом, если данный документ не перепроводить, то информация в этом внешнем файле перестанет быть актуальной, система автодозвона неправильно будет отрабатывать, за что программисту по шапке надает директор...
Вопрос не в том, что полезна или нет кнопочка проведения, просто должна быть возможность ее нажать. Нажимать ее будут на свой страх и риск. Ведь данная разработка для продвинутых пользователей, которые знают, зачем и что они делают.
138. tormozit 7394 30.11.11 14:46 Сейчас в теме
(137) По проблеме с попаданием в одну группу элементов с разными владельцами прошу проверить актуальную версию обработки. Если проблема есть и в ней, сообщи дополнительно. Будем разбираться.

По примеру когда при проведении документ подключается к другой базе и что то там меняет действительно не самый хороший прием, т.к. транзакция записи и проведения документа может получиться очень долгой. Из легких доработок могу предложить открытие списка обработанных документов в отдельной форме с кнопкой Провести.
139. shaera 30.11.11 15:05 Сейчас в теме
Хорошая обработка. Пользуюсь периодически. Один раз очень помогла исправить косяк.
140. pvlunegov 160 01.12.11 11:12 Сейчас в теме
Что касается сообщения 138:
Обработку скачал отсюда, проверял несколько раз, проблема с попаданием в группу элементов с разными владельцами остается.
Просьба выложить тут актуальную (или хотя бы рабочую) версию..., чтобы отбор по владельцам работал.

Что касается обработки, находящейся в рамках подсистемы ИР http://infostart.ru/public/15126/. Скачал, но не смог запустить обработку. Возникают ошибки с работой подсистемы - не хватает общих модулей. К сожалению, пока нет времени разбираться с причинами, читать сообщения. Подсистему загружал объединением-сравнением к конфе "Комплексная автоматизация".
141. tormozit 7394 01.12.11 23:48 Сейчас в теме
(140) К сожалению в ближайшее время не смогу удовлетворить твою просьбу, т.к. обновление мобильной версии обработки очень затратно. Сейчас смоделировал твою ситуацию в подсистеме ИР и не обнаружил проблемы. Встречная повторная большая просьба проверить проблему именно в ИР.
142. fff666 09.12.11 14:21 Сейчас в теме
Спасибо, обработка спасает от бессмысленной ручной работы.
143. Shmell 678 16.12.11 08:12 Сейчас в теме
Очень полезная обработка. Было бы замечательно иметь автоматический поиск дублей ПВХ
144. tormozit 7394 16.12.11 08:48 Сейчас в теме
(143) А разве обработка не позволяет делать "автоматический поиск дублей ПВХ"?
145. Shmell 678 18.12.11 09:25 Сейчас в теме
Сорри, не к той обработке описал комментарий! По этой обработке скажу - что достаточно все удобно сделано.
146. nkvg_a 20.12.11 09:13 Сейчас в теме
Спасибо.
За Обработка исправлял последствие переноса с торговли в бухгалтерию немного подработал.
147. пользователь 22.12.11 10:26
Сообщение было скрыто модератором.
...
148. Foxux 22.12.11 12:17 Сейчас в теме
При использовании "Подсистемы для разработчика" открытие данной обработки выдает кучу ошибок синтаксиса типа
{ВнешняяОбработка.ПоискИЗаменаДублирующихсяЭлементов(1424,11)}: Процедура или функция с указанным именем уже определена (ЛксСкопироватьЭлементОтбора)
Процедура <<?>>ЛксСкопироватьЭлементОтбора(пЭлементОтбораПриемник, пЭлементОтбораИсточник) Экспорт

+++
149. tormozit 7394 24.12.11 22:12 Сейчас в теме
(148) Это задуманное поведение. Исправлять его пока не планируется.
Опишите ситуацию, в которой потребовалось использовать старую мобильную версию этой обработки в базе с конфигурацией, содержащей более новую версию в составе подсистемы ИР.
Пока такая ситуация кажется очень искусственной.
150. altar 235 27.12.11 18:24 Сейчас в теме
вполне рабочая обработка
151. mr.Kot 28.12.11 10:06 Сейчас в теме
Обработок подобных мильён в сети, но, судя по количесту плюсов, Ваша - одна из самых-самых. ;)
152. garaevilnur 4 12.01.12 10:13 Сейчас в теме
153. eduardoff 18.01.12 15:21 Сейчас в теме
а если попробовать синхронизировать из зуп в бух , справочники и документы, стандартными методами
154. пользователь 18.01.12 15:22
Сообщение было скрыто модератором.
...
155. eduardoff 18.01.12 15:22 Сейчас в теме
упс забыл спросить, она работает в 8.2
156. eduardoff 18.01.12 15:30 Сейчас в теме
попробовыл неработает с 8.2, а типа такой имеется но для 8.2
157. serpisal 21.01.12 14:15 Сейчас в теме
Супер обработка, решает проблему задвоенных(дубли) элементов и групп просто "на ура".
158. yar555 25.01.12 12:02 Сейчас в теме
спасибо с экономил время, отличная обработка
159. baralgin1003 32 26.01.12 13:52 Сейчас в теме
Ошибка: Индекс выходит за границы (Форма, 561)
Исправление:

Для Каждого Последовательность ИЗ Метаданные.Последовательности Цикл
Если Последовательность.Документы.Содержит(СтрокаТаблицы.Метаданные) Тогда
НадоЗаписывать = Ложь;
НаборЗаписи = Последовательности[Последовательность.Имя].СоздатьНаборЗаписей();
НаборЗаписи.Отбор.Регистратор.Установить(СтрокаТаблицы.Данные);
НаборЗаписи.Прочитать();


Если НаборЗаписи.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
160. tormozit 7394 26.01.12 14:12 Сейчас в теме
(159) Эта ошибка давно исправлена в подсистеме ИР.
161. baralgin1003 32 26.01.12 14:17 Сейчас в теме
прошу прощения, наверно старую обработку запустил
162. zhleonid8 28.01.12 22:48 Сейчас в теме
добавь откат изменений, обработка пока лучшая из предложенных на сайте
164. tormozit 7394 28.01.12 22:57 Сейчас в теме
(162) Допускаю, что под откатом ты имел ввиду что то безобидное. Поэтому прошу уточнить, что есть "откат"?
163. zhleonid8 28.01.12 22:49 Сейчас в теме
но к обраотке приложение надо, чтоб впредь не разрешала делать дубликаты
165. AlekseiLeit 9 21.02.12 12:52 Сейчас в теме
спасибо, хорошая обработка
166. hansolo686 3 29.02.12 15:30 Сейчас в теме
Спасибо, полезная обработка!
Но с небольшой проблемой — вылетает:
{Форма.Форма.Форма(179)}: Индекс находится за границами массива
		СтрокаПоиска.НомерГруппы = НайденныеГруппы.НайтиСтроки(мСтруктураКлючаПоиска)[0].НомерГруппы;

Происходит это, когда в мСтруктураКлючаПоиска есть значение отбитой пробелами пустой строки, тогда в найденных группах оно идёт без сокращения пробелов, а в мСтруктураКлючаПоиска сворачивается в "" на строке 177:
мСтруктураКлючаПоиска[СтроковоеПоле] = Нрег(СокрП(мСтруктураКлючаПоиска[СтроковоеПоле]));

Для воспроизведения ошибки можно запустить поиск дублей по справочнику Банков по полю Корр. счет

Если убрать СокрП в строке 177 то ошибка исчезает, но это неграмотное решение проблемы.

Пробовал на версии 0.99
169. hansolo686 3 15.03.12 07:29 Сейчас в теме
(166) Глупость сказал. В Подсистеме разработчика, оказывается, уже 100 лет как исправлено.
167. zxc768 29.02.12 15:32 Сейчас в теме
Такую бы штуку да под 8.2.. Ээх
168. hansolo686 3 29.02.12 15:36 Сейчас в теме
(167) zxc768, просто открой в конфигураторе обработку, она под 8.2 сконвертируется.
170. wowkai 4 31.03.12 13:05 Сейчас в теме
обработка старенькая но очень помогла найти дублирующиеся контингенты, номенклатуру! Спасибо автору, если есть свежее версия киньте ссылку плз!
171. &rew 55 12.04.12 12:06 Сейчас в теме
Очень полезная вещь! Давно хотел почистить справочник Единицы измерения, даже писал что-то на основе стандартной обработки, но до ума довести как то не довелось. Сейчас я ей всю базу почищу!
172. 1C_tradeomsk 106 19.04.12 09:22 Сейчас в теме
А как насчет гибкой настройки при сравнении по строке?
173. tormozit 7394 19.04.12 09:27 Сейчас в теме
(172) Вопрос не понятен.
174. 1C_tradeomsk 106 19.04.12 17:48 Сейчас в теме
(173) Хочется сравнения по шаблону типа

Если <Исходник> + "2323232" Тогда
попадает в объединение по дублю
Иначе
НЕТ


Ситуация надо объединять не все.
Вручную долго
175. tormozit 7394 19.04.12 18:03 Сейчас в теме
(174) 1C_tradeomsk, теперь понятно. Пожелание записал.
Отмечу, что в подсистеме ИР есть возможность из дерева результата запроса или дерева результата компоновки передать колонку в обработку "поиск дублей и замена ссылок" для заполнения групп дублей. Т.е. если нужен промежуточный уровень отношения универсальность/удобство, то это как раз он и есть сейчас.
176. onlyone777 25.04.12 17:43 Сейчас в теме
Огромное спасибо за обработку!
А нельзя ли автоматизировать процесс замены и удаления?
Например я использую обработку для замены и удаления дублей номенклатуры в УТ 10.3.
Как я понял поиск и удаление зависимых элементов, в моем случае это единицы измерения, необходимо делать в ручном режиме, не в ручном у меня не получилось - если делаю автозамену, то единица измерения удаляемой номенклатуры просто добавляется в номенклатуру которую я указал как правильную.

В моем случае нужно обработать около 5000 позиций, которые идеально точно определяются дублями, сделать это в ручную очень сложно. Если бы еще можно было задавать алгоритм "Автоопределения правильных", например, для меня правильные, это позиции зарегистрированные позже (сам определяю по коду номенклатуры, если он выше, то правильный), то было бы здорово!
177. denklu 25.04.12 18:00 Сейчас в теме
спасибо, давно пользуюсь, много раз выручала, но вот полный справочник контрагентов в бух 8, исправить не смогла. сделали новую базу из 7-ки, выгрузили стандартно справочники без кодов, а потом сделали выгрузку из торговли по кодам, все задвоилось. практически все исправила кроме контрагентов, пришлось коды руками перебивать и выгрузку из торговли повторять
178. OleGazz 14 14.05.12 17:41 Сейчас в теме
спасибо большое надеюсь для бП 2.0 подойдёт...
179. Psylocibine 22.05.12 11:39 Сейчас в теме
Шикарная обработка, спасибо! Не раз выручала
181. Shturman88 07.08.12 15:49 Сейчас в теме
Спасибо! помогло в трудную минуту!
182. alcoholic 11.09.12 12:28 Сейчас в теме
спасибо очень помогла
183. SuperSpade 18.10.12 12:52 Сейчас в теме
Спасибо за обработку - полезная штука.

Заметил косячок в версии 0.99 (под платформой 8.2.16.352) пропадают отборы после обновления группы. То есть изначально ставил отбор на элементы справочника ЭтоГруппа=Истина - по нему отобралось 2 группы, в каждой по 2 элемента.
После обновления группы двойным тычком, в первой группе появилось 8 элементов, из которых 2 Группы и 6 НЕГруппы.
Где-то тут Текст ЗапросаПоиска меняется таким образом, что из него исчезают отборы:
ТекстЗапросаЭлементы = "
	|ВЫБРАТЬ Объект.Ссылка КАК Ссылка" + ТекстВЫБРАТЬ + "
	|ИЗ " + ПолноеИмяОбъекта  + " КАК Объект
	|ГДЕ ИСТИНА
	|";
    //Тут слетают Параметры отборов!!!:
	МенеджерВременныхТаблиц = ЗапросПоиска.МенеджерВременныхТаблиц;
	ПостроительЗапросаПоиска.Текст = ТекстЗапросаЭлементы;
	ПостроительЗапросаПоиска.ЗаполнитьНастройки();
	ЛксСкопироватьОтборСтатический(ПостроительЗапросаПоиска.Отбор, ОтборПоиска, Истина);
	ЗапросПоиска = ПостроительЗапросаПоиска.ПолучитьЗапрос();
	ЗапросПоиска.Текст = ЗапросПоиска.Текст + " И (" + Сред(ТекстСГРУППИРОВАТЬ, 2) + ")
	|В (ВЫБРАТЬ " + Сред(ТекстИдексов, 2) + " ИЗ НайденныеГруппы)";
	ЗапросПоиска.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
	мРезультатыПоиска = ЗапросПоиска.Выполнить().Выгрузить();
Показать


Изначально текст запроса был:
ВЫБРАТЬ
	Объект.Наименование КАК Наименование,
	КОЛИЧЕСТВО(Объект.Ссылка) КАК КоличествоЭлементовВГруппе
 ПОМЕСТИТЬ НайденныеГруппы ИЗ
	Справочник.ТорговаяМарка КАК Объект
ГДЕ
	ИСТИНА
	И Объект.Наименование ЕСТЬ НЕ NULL 
	И Объект.ЭтоГруппа = &Параметр1

СГРУППИРОВАТЬ ПО
	Объект.Наименование

ИМЕЮЩИЕ
	КОЛИЧЕСТВО(Объект.Ссылка) > 1
Показать

После обновления группы тест запроса стал:
ВЫБРАТЬ
	Объект.Ссылка КАК Ссылка,
	Объект.Наименование КАК Наименование
ИЗ
	Справочник.ТорговаяМарка КАК Объект
ГДЕ
	ИСТИНА И ( Наименование)
В (ВЫБРАТЬ  Наименование ИЗ НайденныеГруппы)
184. SuperSpade 23.10.12 17:44 Сейчас в теме
Поправил один запрос со строки 154 в модуле формы с такого:

	ТекстЗапросаЭлементы = "
	|ВЫБРАТЬ Объект.Ссылка КАК Ссылка" + ТекстВЫБРАТЬ + "
	|ИЗ " + ПолноеИмяОбъекта  + " КАК Объект
	|ГДЕ ИСТИНА "+"
	|";

На такой (по аналогии с предыдущим текстом):
	ТекстЗапросаЭлементы = "
	|ВЫБРАТЬ Объект.Ссылка КАК Ссылка" + ТекстВЫБРАТЬ + "
	|ИЗ " + ПолноеИмяОбъекта  + " КАК Объект
	|ГДЕ ИСТИНА "+"

   	|{ГДЕ "  + Сред(мСтрокаРеквизитов, 2) + "}

	|";
Показать

Осталось проверить корректность работы такого исправления в разных случаях - с моим одним отбором вроде бы работает :)
185. SuperSpade 24.10.12 10:40 Сейчас в теме
Почему-то не работает поиск ссылок. На закладке "Результаты поиска" показывает кол-во ссылок 22, нажимаю "Поиск ссылок" - переходит на закладку "Замена" где пустая таблица. Однако встроенная обработка Поиск дублирующихся элементов показывает все эти ссылки.
186. tormozit 7394 24.10.12 10:50 Сейчас в теме
(185) Какая версия подсистемы ИР используется?
187. SuperSpade 24.10.12 11:02 Сейчас в теме
Какой подсистемы?
188. tormozit 7394 24.10.12 11:19 Сейчас в теме
(187) В описании написано
Самая свежая (немобильная) версия всегда здесь http://infostart.ru/public/15126/. А эта мобильная обновляется редко.
189. SSP2011 30.11.12 01:06 Сейчас в теме
жму руку за обработку удаления дублей по планам видов расчета! очень полезная вещь! (пользовался актуальной из инструментария)
190. serge_focus 4 01.12.12 18:33 Сейчас в теме
Добрый день всем.
Прочитал обсуждение, но так и не понял в чем отличия от ИТС и других обработок, представленных здесь.
А главный вопрос : стандартная обработка после замены в справочниках меняет дату последовательности документов. И чтобы ее восстановить - необходимо перепроведение...
МОЖНО ЗАМЕНИТЬ елементы справочников не нарушив последовательность документов?
Как в этой обработке обстоят дела с этим?
191. eugen91 04.12.12 20:13 Сейчас в теме
Встречали ли вы обработку по замене дублей в свойсвтах справочника номенклатуры? очень ищу!
192. zigomodo 27.12.12 12:30 Сейчас в теме
Очень нужно,постоянно в бухгалтерии задваиваются справочники.
193. fixin 4347 22.01.13 14:52 Сейчас в теме
табличку со ссылками нужно сделать с галочкой "изменять состав строк" и с "множественным выделением".
иногда надо некоторые ссылки отсавить, если случайно заменили клиента на сотрудника, например с одинаковыми ФИО.

И вообще - хотелось бы такую обработку - выбираешь что менять и на что менять и чтобы она меняла (без поиска, иногда список заранее известен). Хотя такая типовая есть "Поиск и замена значений называется". Туплю.
194. tormozit 7394 22.01.13 15:16 Сейчас в теме
(193) Уже давно реализовано в подсистеме "Инструменты разработчика".
195. fixin 4347 22.01.13 15:30 Сейчас в теме
(194) мне надо отдельно запустить, в отдельной базе.
196. internetname 08.02.13 14:55 Сейчас в теме
Спасибо, хорошая вещь.
197. 00alenka00 22.02.13 15:51 Сейчас в теме
обработка замечательная, и все таки не работает отбор по владельцу. Собираетесь это исправлять или нет.
198. tormozit 7394 22.02.13 16:03 Сейчас в теме
(197) Пока таких планов нет. Замечу что ошибка эта исправлена в актуальной версии обработки в составе ИР.
199. 00alenka00 25.02.13 17:14 Сейчас в теме
в составе ИР неинтересно, т.к. добавлять какие-либо объекты в типовую базу не хочется. Эта обработка всем и нравится за счет того, что она внешняя.
200. tormozit 7394 25.02.13 17:43 Сейчас в теме
(199) ИР имеет мобильную версию.
201. FlagmanGK 28.03.13 06:51 Сейчас в теме
202. l-Rain 08.05.13 10:11 Сейчас в теме
Спасибо, полезная обработка.
203. Lukich66 85 20.05.13 15:41 Сейчас в теме
Добрый день. В данной версии при поиске дублей по "коду",если код справа имеет пробелы, то обработка еррорит.
В Процедура НайтиПоРавенствуРеквизитов(ОтборПоиска)
//...
Для Каждого СтрокаПоиска ИЗ мРезультатыПоиска Цикл
ЗаполнитьЗначенияСвойств(мСтруктураКлючаПоиска, СтрокаПоиска);
Для Каждого СтроковоеПоле Из МассивСтроковыхПолейСравнения Цикл
если СтроковоеПоле<>"Код" тогда //20130520 ЛВЛ изменил
мСтруктураКлючаПоиска[СтроковоеПоле] = Нрег(СокрП(мСтруктураКлючаПоиска[СтроковоеПоле]));
иначе
//ничего справа сокращать не нужно
конецесли;
КонецЦикла;
//...
Не понравился вывод результата найденных дублей и процедуры действий с ними, сбит с толку Вашей системой логики, дубли нашел но вот что с ними сделать не получилось.
204. tormozit 7394 20.05.13 15:53 Сейчас в теме
(203) Попробуй актуальную версию (из подсистемы или мобильного варианта инструментов разработчика). Если там остались плохо понятные интерфейсные приемы, то просьба описать их четче. Скорее всего ошибка с обработкой строк там давно исправлена.
205. Nikola178 7 19.08.13 11:17 Сейчас в теме
Доброго времени суток всем. Прекрасная, наиполезнейшая обработка, скачала,теперь пользуюсь постоянно, после переносов со всяких нестандартных конфигураций имеется куча дублей, особенно когда несколько организаций в одну сливаются. Большое спасибо автору!!!!!!!
206. alika 02.10.13 09:30 Сейчас в теме
Большое спасибо, очегт нужная обработка!
207. gala2009 32 19.12.13 17:57 Сейчас в теме
полезная обработка, спасибо
208. CaSH_2004 376 13.01.14 16:42 Сейчас в теме
Недавно изучал алгоритм поиска дублей в данной обработке (в достаточно старом варианте) и вот что выяснил интересного которое ОЧЕНЬ СОВЕТУЮ всем прочитать кого интересует скорость и качество работы:
1. алгоритм поиска отличается от типовой обработке как например в 10.3
2. по причине в п.1 и непонятного глюка платформы 1С дубли находятся не все если запрос строится без использования УПОРЯДОЧИТЬ, а чтобы его использовать нужно использовать метод ПЕРВЫЕ с достаточно большим числом, например 999999999, думаю этого хватит :) если переборщить с числом то может и не заработать
Вобщем метод СГРУППИРОВАТЬ просто не работает корректно и все,
3. как и в типовой обработке поиск выполняется без буфферизации т.е. повторным обращением к базе, кстати интересно чей вариант быстрее в таком варианте, и после оптимизации обеих обработок, я до этого не дошел еще, может кто-то замерял?
4. исходя из п.3 происходит проблема что в состав групп попадают элементы которые отброшены фильтром, у меня например при условии ЭтоГруппа = Ложь в состав группы все равно попадает группа, а поиск производится только по элементам, т.к. фильтр накладывается на поиск дублей, а состав группы делается оттдельным запросом

Возможно это уже и исправлено, но это к размышлению чем пользоватся... я во всяком случае пользуюсь этой обработкой но сильно пришлось ее оптимизировать.
209. tormozit 7394 13.01.14 17:14 Сейчас в теме
(208) Судя по всему, ты анализировал старый вариант обработки. Непонятно зачем, когда есть новый в ИР подсистеме или мобильных, где уже давно нет таких проблем.
210. Ionmuerto 15.01.14 08:39 Сейчас в теме
Данная обработка Поиск и замена дублирующихся элементов справочников подходит под управляемые формы 1с Управление Торговлей 11.1?
211. tormozit 7394 15.01.14 11:34 Сейчас в теме
Обработка не может подходить или не подходить под управляемые формы. Правильно спрашивать про управляемое приложение. Она не запустится в режиме управляемого приложения. Она больше не поддерживается в независимом варианте. Также замечу, что ты исказил название инструмента.
212. dufrein 17.01.14 14:05 Сейчас в теме
Спасибо, иногда крайне необходимая обработка.
213. alcoholic 08.02.14 12:23 Сейчас в теме
отличная обработка, пригодилась
214. Andrey@ 16.03.14 13:06 Сейчас в теме
Спасибо автору за обработку! Нам в старой базе как раз надо убрать задвоенную номенклатуру.
215. buy_sale 225 26.02.15 21:29 Сейчас в теме
После применения этой обработки появляются проблемы. У записей регистров появляются пустые ссылки вместо NULL, что потом ведет к невозможности работы с базой, так как разъезжаются итоги регистра (2 строки вместо 1 : + и - ). Конкретно я столкнулся с измерением Подразделение : часть записей NULL, часть с пустая ссылка.

Пришлось долго делать Проверку логической целостности и пересчет итогов.
216. tormozit 7394 26.02.15 22:33 Сейчас в теме
(215)
1) Использовалась ли актуальная версия обработки из инструментов разработчика?
2) О каком именно регистре речь и какие поля в нем предположительно имели значение NULL и потом стали иметь значение пустой ссылки?

Я так понимаю речь о регистре бухгалтерии и полях субконто?
217. buy_sale 225 01.05.15 15:37 Сейчас в теме
(216) да. Во некоторых обработках авторы исправили этот момент, а у вас ?
218. buy_sale 225 01.05.15 15:38 Сейчас в теме
Вот, что пишет другой автор : "При записи набора регистра бухгалтрерии в режиме обмена данных (ОбменДанными.Загрузка = Истина) есть фича:

если не ведется учет по измерению ("по подразделению"), но в записи установить значение (например, Подразделение.ПустаяСсылка), то не смотря на то, что учет по подразделению не ведется, записывается значение установленное в наборе.

Напротив, если ОбменДанными.Загрузка = Ложь, то в таком случае значение автоматически обNULLяется.

В результате такого поведения при заменах ссылок в регистрах бухгалтерии могли возникать ошибки, если замена велась с отключенным режимом записи (ОбменДанным.Загрузка = Истина).

Исправляется перезаписью записей регистра в режиме ОбменДанными.Загрузка = Ложь."
219. tormozit 7394 01.05.15 15:50 Сейчас в теме
(218) Запись в режиме ОбменДанными.Загрузка = Ложь во многих конфигурациях будет невозможна в закрытом периоде. Поэтому такой метод решения проблемы ощутимо не универсальный. Я готов рассмотреть проблему, если будет предоставлен готовый пример для ее воспроизведения. Желательно опубликовать его в форуме на офсайте подсистемы ИР.
220. tormozit 7394 14.06.15 23:06 Сейчас в теме
(218) Исправлено в ИР 3.34
221. Nex@ 22.06.16 16:08 Сейчас в теме
Пользуюсь довольно старой версией обработки, так как при переносе данных дубли возникают часто. Почти всем устраивает, только не запоминаются настройки обработки. Приходится каждый раз заново устанавливать отборы для каждого вида справочников.
222. fixin 4347 23.06.16 19:52 Сейчас в теме
(221) ты ж программист. Напиши заполнялку реквизитов.
223. tormozit 7394 23.06.16 23:14 Сейчас в теме
(222) Кажется в этом нет смысла, т.к. инструмент в составе ИР уже ушел далеко вперед. Мне сложно понять причины, по которым пользуются этим устаревшим вариантом.
224. fixin 4347 24.06.16 03:28 Сейчас в теме
(223) потому что внешняя обработка удобнее чем конфа.
225. tormozit 7394 24.06.16 07:03 Сейчас в теме
(224) Сочувствую, что не можешь запомнить, что есть портативный вариант подсистемы. Уже не раз тебе сообщал об этом. Ты многое потерял, не запоминая важный факт.
226. user777757 05.12.17 11:52 Сейчас в теме
Спасибо большое за то, что ваша обработка бесплатна для скачивания! Для жадного и ленивого новичка на форуме это очень важно)))
227. AlexeyT1978 270 31.07.19 10:21 Сейчас в теме
Весьма полезная обработка, помогла очень!!!!!!!!!
228. RustIG 1990 15.11.19 07:44 Сейчас в теме
Почистил задвоенные, затроенные характеристики номенклатуры в УТ 10.3. Спасибо!
229. tormozit 7394 15.11.19 09:04 Сейчас в теме
(228) Надеюсь использовал аналогичный инструмент из ИР?
230. RustIG 1990 15.11.19 11:58 Сейчас в теме
(229) использовал только выложенную обработку.
"аналогичный инструмент из ИР" - извиняюсь, но не знаю о чем речь :)
231. fixin 4347 15.11.19 20:53 Сейчас в теме
(230) речь об "инструментах разработчика" хорошего автора TormozIT, есть тут
232. RustIG 1990 16.11.19 09:35 Сейчас в теме
(231) неловко получилось...
я знаю (229) Сергея, знаю что он создал инструмент, об этом я узнал может 5 лет назад. Тогда смотрел описание. Скачал первую версию - еще под 8.1. С тех пор не использовал в своей работе. Поэтому не понял вопроса про "аналогичный инструмент из ИР". О чем и написал.
Для отправки сообщения требуется регистрация/авторизация