Сортировка контрагентов по отраслям

Здравствуйте!

Пожалуйста, помогите решить задачку:

В справочнике Отрасли контрагентов были созданы 2 аналогичные отрасли. Как удалить одну из этих отраслей, если с ней уже созданы записи о контрагентах, при этом эта отрасль не является основной (то есть модуль фильтрации не выводит в реестр записи искомых контрагентов с данной отраслью)?

Вариант вручную перебрать все записи, естественно, не приветствуется.

Нравится

13 комментариев

Здравствуйте, Елена!

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

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

Поиск дублей для справочника - это гвозди микроскопом заколачивать.
Тут подойдёт несложный SQL-запрос, аналогичный этому.

Алина, спасибо, думаю, этот вариант подойдет.

Александр, поскольку я не владею SQL, Вашим предложением воспользоваться не смогу :smile:

Еще один момент, есть ли возможность в принципе фильтровать контрагентов по неосновным отраслям?

"Шатная Елена" написал:Александр, поскольку я не владею SQL, Вашим предложением воспользоваться не смогу

А какая используется СУБД?


Еще один момент, есть ли возможность в принципе фильтровать контрагентов по неосновным отраслям?

Можно, если доработать фильтр или создать новый.

СУБД используется, насколько я понимаю, MS SQL

Тогда примерно так. Вот адаптированный для отраслей код:

--основная отрасль
UPDATE "tbl_Account" SET "FieldID" =
     (SELECT top 1 "ID" FROM "tbl_Field" WHERE "tbl_Field"."Name" = 'Нужная отрасль')
WHERE "FieldID" =
     (SELECT top 1 "ID" FROM "tbl_Field" WHERE "tbl_Field"."Name" = 'Ненужная отрасль')
--неосновные отрасли
UPDATE "tbl_AccountIndustry" SET "FieldID" =
     (SELECT top 1 "ID" FROM "tbl_Field" WHERE "tbl_Field"."Name" = 'Нужная отрасль')
WHERE "FieldID" =
     (SELECT top 1 "ID" FROM "tbl_Field" WHERE "tbl_Field"."Name" = 'Ненужная отрасль')

Вводите туда свои названия отраслей. Если они абсолютно одинаковые, ненужную предварительно переименовываете, чтобы отличались.

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

После выполнения ненужную отрасль можно удалить.

Александр, большое спасибо за информацию, я обязательно передам ее нашим разработчикам.

Но вопрос хотелось решить в рамках настройки функционала пользователем, потому и задавала я его именно в форуме Вопросы по функциональности.

Исходя из вышеописанного, понимаю, что без программистов вопрос по фильтрации контрагентов по доп. отраслям мне не решить.

Здравствуйте, Елена!

Фильтровать контрагентов по неосновным отраслям можно также начиная с версии 3.4.0 - там есть подобные фильтры в коробочной версии. Для 3.3.2 фильтры можно добавить на уровне конфигурации.

"Шатная Елена" написал:Исходя из вышеописанного, понимаю, что без программистов вопрос по фильтрации контрагентов по доп. отраслям мне не решить.

Для этого нужно в "администраторе Terrasoft" нужно сконструировать нужный фильтр. Не совсем программирование, но лучше силами программистов или поддержки.

А в чём состоит основная задача, в чистке от ненужной отрасли или в доработке для возможности фильтра по дополнительным отраслям? Ведь если настроить такой фильтр и он выдаст несколько десятков результатов, то всё равно придётся менять отрасль вручную.

Основная задача - удаление лишней отрасли. Она уже решена. Вопрос по фильтру возник, как говорится, по ходу, поэтому он не критичен :smile:

"Alimova Anna" написал:Фильтровать контрагентов по неосновным отраслям можно также начиная с версии 3.4.0 - там есть подобные фильтры в коробочной версии.

Анна, при формировании фильтра в разделе Контрагенты Отрасль = нужная отрасль (указанная как неосновная у контрагента Test) не приводит к тому, чтобы в реестре отобразился контрагент Test. Данная операция была произведена в 3.4.0.38.

Может я не там смотрю?

В группе фильтров "Контрагент" фильтр "Отрасли" даёт нужный эффект. Отдельностоящий "Отрасль" - только по карточке. Вот оно как!

Да, действительно, если указать запрос фильтра Контрагент-Отрасли (а не Отрасль, как я делала раньше :confused:), то все контрагенты с искомой отраслью отображаются. И дописывать ничего не нужно :smile:

Александр, спасибо за подсказку :smile:

Показать все комментарии