Не создавать автоматически новые значения справочников при импорте данных
Можно ли каким-то образом не создавать новые значения справочников при импорте данных?
Это позволит точнее контролировать процесс импорта, избегая ситуаций, когда добавляются ошибочно написанные валюты, страны и тому подобное
Нравится
Доброе утро, Владимир!
Есть такой, не до конца протестированный, вариант:
- забрать права доступа на операцию "Создание" для юзеров/ролей в объекте "Справочник": https://prnt.sc/wljjrd. Это относится только к справочникам, т.е. тем объектам у кого родителем является "Базовый справочник". Ни поле "Контакт", ни "Контрагент" под эти правила уже не подойдут.
А, ну и при таком раскладе, ни в один справочник указанные юзеры/роли не смогут добавлять значения вообще.
Вариант нужно протестировать. У меня вышло так, что была лишь одна запись продажи, созданная Supervisor. Под тестовым юзером я, учитывая правила поиска дубля, залила файл и у меня создалась совершенно новая запись продажи с предзаполненными значениями, как и в файле. Плюс, что в справочниках не создались новые значения. Минус, наверное, в том, что стоило попробовать вытянуть Id продажи и учитывать его в правилах дублей.
Доброе утро, Владимир!
Есть такой, не до конца протестированный, вариант:
- забрать права доступа на операцию "Создание" для юзеров/ролей в объекте "Справочник": https://prnt.sc/wljjrd. Это относится только к справочникам, т.е. тем объектам у кого родителем является "Базовый справочник". Ни поле "Контакт", ни "Контрагент" под эти правила уже не подойдут.
А, ну и при таком раскладе, ни в один справочник указанные юзеры/роли не смогут добавлять значения вообще.
Вариант нужно протестировать. У меня вышло так, что была лишь одна запись продажи, созданная Supervisor. Под тестовым юзером я, учитывая правила поиска дубля, залила файл и у меня создалась совершенно новая запись продажи с предзаполненными значениями, как и в файле. Плюс, что в справочниках не создались новые значения. Минус, наверное, в том, что стоило попробовать вытянуть Id продажи и учитывать его в правилах дублей.
Владимир, ранее Вы уже заводили похожую идею об отключении создания новых значений в справочном поле. В комментариях там предлагались и другие подходы.
Также в стандартном механизме уже предусмотрено отсеивание некоторых случаев ошибочного добавления:
При проверке значений не учитываются начальные и замыкающие пробелы и регистр, но имеют значение специальные символы. Ниже приведены примеры обработки значений.
В файле импорта указан тип контакта “клиент”. В справочнике [ Типы контактов ] содержится значение “Клиент”.В этом случае импортированная запись связывается с существующим значением. Новая запись в справочник добавлена не будет.
В файле импорта указан тип контакта “«Клиент»”. В справочнике [ Типы контактов ] содержится значение “Клиент”.В данном примере в результате импорта в справочник будет добавлена новая запись.
Ещё есть особенность, когда при импорте не работает поиск существующих записей по локализованным колонкам в справочнике, создаются дубли. В таком случае поможет обходное решение — выключить фичу HighestSpeedFileImport.
Или после, уже в базе. Или в момент, созданием своего специализированного механизма импорта, учитывающего все специальные случаи. До определённой версии была возможность запустить старое окно импорта с большим числом настроек, но в современных, где нет логики на основе 5.Х, такого, видимо, не выйдет.