Зміна не унікальних кодів довідників

Обробка призначена для пошуку не рідкість кодів довідників в базах на платформі 1С 8.3. Може бути підключена як зовнішня додаткова обробка - працює з БСП 2.3.2.43. Працює в керованому додатку, на керованих формах.

Іноді, внаслідок обмінів або необережних дій, виникають проблеми не унікальності кодів груп або елементів довідників. При оновленні конфігурації виводяться попередження "Код довідника став неунікальним.".

Ця обробка призначена для пошуку і заміни таких не рідкість (дублюються) кодів довідників унікальними. Обробка виконує пошук дублюються кодів тільки для тих довідників, у яких встановлена ​​ознака контролю унікальності кодів. При цьому враховується варіант серій кодів - якщо серії кодів повинні бути унікальні в усьому довіднику, то і дублі будуть шукатися у всьому довіднику, якщо серії повинні бути унікальні в межах підпорядкування - то дублі шукаються в межах підпорядкування батькові, якщо серії повинні бути унікальні в межах підпорядкування власнику - то дублі шукаються в межах власників.

Обробка замінює дублюються коди вільними кодами, беручи їх "знизу". Тобто, якщо для довідника зайняті коди "001", "004", "005" - то дублюються коди будуть замінені на "002", "003", "006" і так далі. У цьому відмінність обробки від застосування методу "УстановітьНовийКод ()", який встановлює код, наступний за максимальним - тобто бере код "зверху".

Перед застосуванням обробки рекомендується зробити резервну копію бази!

Обробка не враховує прикладну логіку використовуваного рішення - вона просто шукає дублі кодів по описаним вище правилам і замінює їх на унікальні. Перш, ніж встановити галочку "Виправляти коди", переконайтеся, що в підсумку дані будуть узгоджені і система буде працювати "як треба".

Для строкових кодів обробка не враховує можливі префікси - коди шукаються у вигляді "[0-9] [0-9]. [0-9]", відповідно до довжини коду довідника.

Схожі статті