Данная простейшая обработка выполняет всего одну функцию, а именно сквозную (без учета иерархии) перенумерацию элементов выбранного справочника. Порядок существующих кодов соблюдается, но коды приводятся к натуральным числам (числовой тип кода) либо к строкам, состоящим из дополненных ведущими нулями натуральных чисел (строковый тип кода).
Необходимость подобной перенумерации может возникнуть в случае беспорядочного редактирования кодов элементов пользователями.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже
заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Данная простейшая обработка выполняет всего одну функцию, а именно сквозную (без учета иерархии) перенумерацию элементов выбранного справочника. Порядок существующих кодов соблюдается, но коды приводятся к натуральным числам (числовой тип кода) либо к строкам, состоящим из дополненных ведущими нулями натуральных чисел (строковый тип кода).
Необходимость подобной перенумерации может возникнуть в случае беспорядочного редактирования кодов элементов пользователями.
На время выполнения обработки необходимо отключить контроль уникальности кодов для требующего обработки справочника (после запуска обработки в окне сообщений будет выведена подробная инструкция действий для такого отключения).
Результат выполнения обработки необратим, поэтому рекомендуется создать резервную копию базы до ее выплнения, если Вы не совсем уверены в своих действиях.
Настоятельно не рекомендуется выполнять обработку для справочников, коды которых содержат значимую информацию, а не просто порядковые номера элементов. Примеры таких справочников: Банки (коды используются для хранения кодов МФО), Налоги и отчисления (коды используются в конфигурации для определения нужных ставок налогов и отчислений), Коды УКТВЭД (коды используются для хранения самих кодов УКТВЭД) и т.д.
Перенумерация справочников и документов.
Поддерживает нумерацию нескольких документов с одним нумератором.
Возможен отбор документов по любым реквизитам шапки.
Возможно дублирование номеров на подчиненные документы.
Выгрузить коды и ссылки на элементы в таблицу исходных кодов.
Добавить колонку и привести коды к необходимому формату.
Отсортировать по этой колонке.
Сформировать таблицу с последовательностью "правильных" кодов по формату и исходя из количества элементов в исх. таблице.
В первом проходе из таблицы исходных кодов выбрать элементы с "правильными" кодами и подставить их в таблицу правильных кодов (а из исходных удалить - останутся только "неправильные").
Во втором проходе из исходной таблицы подряд выбирать оставшиеся элементы и ставить их в соответствие незадействованным "правильным" кодам.
Пройтись по таблице правильных кодов и транзакцией записать "правильные" коды только элементам у которых код отличается от "приведенного".
(можно использовать только одну ТЗ - тут по желанию)
Т.о. во первых не нужно ни кого выгонять из базы и менять конфигурацию.
Во вторых, особенно если справочник большой, а нарушена нумерация только у небольшой части кодов (например вчера кто-то "накосячил" и пара сотен кодов из 10 000 "пошли вразнос") сохранится нумерация для тех элементов, которые уже имели верные коды даже неправильного формата(а это часто бывает важно, когда пользователи ориентируются по кодам а не по наименованиям).
Да и в обще - как-то по феншую это ;)
К тому же гораздо интереснее, чем тупо перебором перебить все подряд ИМХО.
(2) ivisor_fil,
Подход, конечно, правильный :) Все по феншую. Да и не "велосипед" получится, а велосипед с программным управлением. Только вот реально, нет необходимости уде в том, вариантов чего в рабочем виде десятки уже на форуме
(4) soba
Дык это ж не я выложил - я просто написал, что бы я сам стал выкладывать и делать.
А простую перенумерацию можно на коленке за 5 минут написать - даже на форуме искать не придется.