Бывает такое после обмена, и проблема всплывает на 8.3. Дело в том, что предопределенность справочника теперь изменчива. У справочника есть теперь реквизит "ИмяПредопределенныхДанных". Его можно очищать и писать. Конечно, если Вы руками попробуете двум элементам присвоить одинаковое значение, то платформа Вам скажет "ата-та", и Вы не накосячите. но есть случаи, когда платформа не властна над записью элементов справочника. Я говорю о РИБе - распределенной информационной базе. Если при записи элемента режим обмен.загрузка = ИСТИНА, то никакого контроля нет. Раньше это приводило к неуникальности кодов справочников и документов. Теперь это может привести и к неуникальности имени предопределенного элемента. Опишу практический пример того, как это бывает: 1. Имеем две базы, в которой есть данные. и есть справочник с предопределенными элементами. При создании баз уникальный идентификатор у них создался разный. 2. Мы выгружаем данные универсальной выгрузкой XML или средствами РИБ. 3. Загружаем XML файл. 4. Платформа синхронизирует все и вся по уникальному идентификатору, а он разный. она не находит элементы и создает новые. Режим обмен.Загрузка у нас ИСТИНА. Контроля при записи нет никакого. Все, мы получили косяк, грозящий нам большими проблемами. При попытке пометить элемент на удаление мы имеем много мата со стороны платформы: "Предопределенный элемент не уникален" Как бороться?это просто: 1. Рисуем в форме элемента поле "ИмяПредопределенныхДанных", доступное для редактирования. 2. Открываем форму одного из дублей, обязательно меняем имя и стираем ИмяПредопределенныхДанных. 3. Записываем элемент Все, готово. Теперь мы сможем пометить элемент на удаление. Если конфигурация типовая и редактировать её нельзя, то пишем обработку, которая сотрет ИмяПредопределенныхДанных и допишет "1" в имя. Зачем нам править имя? - спросите Вы. Отвечу: а как Вы узнаете, какой элемент надо оставить, кто из них сейчас сидит как ссылка в данных? Так Вы их сможете визуально отличить. Скорее всего у Вас будут ссылки на оба элемента и Вам понадобиться обработка по поиску и замене значений. При её использовании будет удобнее, если имена будут отличаться. |