Поиск и удаление дублей с увеличенным порогом максимального числа дублей [расширение]


Возможно, кому нибудь пригодится и будет полезным тем, кто столкнулся с проблемой, что обработка по поиску и удалению дублей при обработке данных выдала сообщение «Найдено слишком много элементов. Уточните критерии поиска дублей.» (т.е. достигнуто максимальное число найденных дублей, установленное в обработке).

Стандартный механизм поиска и удаления дублей в большинстве конфигураций на основе БСП имеет верхний предел в 1500 на максимальное число найденных дублей, превысив которое выдается сообщение "Найдено слишком много элементов. Уточните критерии поиска дублей.". Можно уточнить критерии поиска и обрабатывать данные частями, можно внести изменения в код обработки по поиску и удалению дублей, вынести во внешнюю обработку и доработать её. Я вынес это в расширение, перехватываю стандартную функцию и меняю в ней параметр максимального числа дублей. В расширении этот верхний предел увеличен до 16000 (больше делать не стал, т.к., возможно, будет недостаточно ресурсов ПК, недостаточно памяти для обработки большего объёма данных. При желании можете его увеличить самостоятельно).

Добавляем расширение через Администрирование- Печатные формы, отчёты и обработки — Расширения. После добавления расширения, перезапускаем программу для вступления изменений в силу. 

Важно: При установки расширения обязательно снимаем флаг "Безопасный режим", как показано на анимации, т.к. в безопасном режиме к серверным процедурам / функциями расширение применяться не будет.

Разрабатывалось и проверялась работоспособность на Бухгалтерии ред. (3.0.67.63). Управление торговлей (11.4.6.207). Комплексная автоматизация (2.4.6.207). Управление нашей фирмой (1.6.16.132). Платформа (8.3.13.1513)

Не требует снятия конфигурации с поддержки.

 

8 Comments

  1. zeegin

    В 3.0.2 БСП это не блокирующее предупреждение. Там показывается к замене первые 1500 найденных.

    С б`ольшим количеством слишком больш`ое потребление памяти.

    Reply
  2. foxsis

    (1) Здравствуйте. Поиск при достижении установленного порога останавливается, что доставляет порой неудобства. Насчёт потребления памяти согласен, в тексте к публикации это написал. В установленном пороге 16000 у меня отработало более менее нормально, выше делать не стал, но об этом опять же написал. Варианты по решению проблемы так же описаны в тексте публикации, я с помощью расширения предлагаю один из вариантов.

    Reply
  3. zeegin

    (2) Поиск при достижении установленного порога останавливается, что доставляет порой неудобства.

    Говорю же — это в БСП 3.0.1 он останавливается, в 3.0.2 он предлагает заменить первые 1500 дублей. См скриншот.

    По перечисленным у Вас конфигурациям везде стоит 3.0.1. 3.0.2 пока используется только в последних УНФ и БГУ, но остальные тоже скоро на нее перейдут.

    Reply
  4. foxsis

    (3)БСП 3.0.2 не смотрел, смотрел только описанные конфигурации, в них собственно и столкнулся с данным ограничением.Спасибо за новость по поводу БСП 3.02. То что в БСП 3.0.2 доработали обработку поиска и удаления дублей это очень даже хорошо.

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

    По поводу УНФ, посмотрел версии библиотек в последнем релизе, там написано что «СтандартныеПодсистемы 3.0.1.342». релиз УНФ (1.6.16.184), в тестовом аналогично.

    Reply
  5. ret

    (2) 25000, 40000 и 50000 ставил ограничение. Все нормально прокатывало. но реально может долго искать, по несколько часов. По «нехватает памяти» ни разу не вылетала.

    Reply
  6. foxsis

    (5) Не стал рисковать, мало ли попадется не слишком мощная машина. В большинстве случаев мне даже 5000 хватало для обработки. Хотел даже сперва сделать интерактивный ввод пользователем этого максимального количество, но не стал, т.к. решил что пользователь может и 100000 написать и будет сидеть пол дня пока что нибудь не произойдёт.

    Reply
  7. ret

    (6) Я сделал проще, на обработке стандартной «Удаление дублей», вывел окошечко, куда ставил цифру, и в нем менял при надобности этот показатель. А при открытии поставил 15000 и все.

    Reply
  8. foxsis

    (7) тоже как вариант.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *