Замена идентификаторов справочников

03.09.09

Задачи пользователя - Корректировка данных

Обработка для изменения ГУИДа у выбранных элементов справочника. Имеется различные варианты подбора элементов. Для работы необходим серверный вариант 1с 8.1.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
-
.1225886052 21,42Kb
341
341
1 SM
Скачать Купить за 1 850 руб.

Принцип работы: Обработка сканирует все реквизиты конфигурации на вхождение типа выбранного справочника. Далее она скидывает элементы справочника (у которых надо поменять ГУИД) в служебную таблицу на sql_сервере и дополнительно создает служебные колонки у таблиц, где будет проходить замена.
Процесс замены идентификаторов может занимать значительное время. Время зависит от размеров базы и сложности конфигурации.
Отката транзакции при неудачной обработке нет (данных у меня было много и лог транзакций разрастался просто чудовищно) - поэтому делайте перед запуском архивную копию.
Замену ГУИДов можно производить только у элементов, которые не являются предопределенными.

См. также

Корректировка данных Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    108801    651    173    

690

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    30152    88    151    

63

Корректировка данных Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.2 от 09.06.2024!

19200 руб.

26.08.2018    51404    14    61    

54

Корректировка данных Зарплата Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    3553    34    17    

42

Корректировка данных Зарплата Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Внешняя обработка предназначена для исправления самых различных ошибок, возникших по самым разным причинам. Общее проявление этих ошибок видно в различии данных между: проводками и различными отчетами по НДФЛ, заполнении ведомостей на выдачу зарплаты, неверным расчетом НДФЛ при начислении ЗП и т.д.

3600 руб.

09.02.2024    1330    9    5    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7194 07.11.08 08:41 Сейчас в теме
Ну вот уже и ГУИДы менять начали. Куда катится мир?)))
2. luns 07.11.08 09:00 Сейчас в теме
3. Широкий 693 07.11.08 09:06 Сейчас в теме
Когда открывали новые филиалы - ставили нашу рабочую базу без документов..
Позже занялись проектом "консолидация данных".. ну и напоролись что ГУИДы у номенклатуры совпадают во всех филиалах процентов на 80.
4. luns 07.11.08 09:34 Сейчас в теме
(3) Понятно... а мы консолидируем при помощи свойств. Так можно "объединять" элементы с разными значениями реквизитов.
27. Abadonna 3964 24.12.12 05:13 Сейчас в теме
(3)
Когда открывали новые филиалы - ставили нашу рабочую базу без документов..
Позже занялись проектом "консолидация данных".. ну и напоролись что ГУИДы у номенклатуры совпадают во всех филиалах процентов на 80.

Через конфигуратор что ли грузили? Не через скуль выгрузку-загрузку?
43. AlexO 135 08.09.14 10:03 Сейчас в теме
(3)
ну и напоролись что ГУИДы у номенклатуры совпадают во всех филиалах процентов на 80.

Так это и есть одна и та же Номенклатура. Вся ваша проблема была совсем в другом - обмены нужно было делать не по UUID (раз распределенка - однозначно убрать), а по коду. И все.
А это - велосипед. С квадратными колесами получился. Да еще и с кузовом вместо багажника (выгрузка в SQL).
Вот как пример записи в таблицы SQL - вексьма. И все.
(24) Umka18,
Пригодилось когда в 2-х базах с обменами постоянно что-то задваивалось.

Опишите проблему точнее. Тоже - обмены РИБ по UUID?
(22) Трактор,
Но у этого другого есть записи с теми же значениями Тип и Вид.

Да ничего не увидим, мы должны однозначно знать, что таких UUID больше в базе нет. Нигде и ни у кого.
45. Широкий 693 08.09.14 10:12 Сейчас в теме
(43)
Так это и есть одна и та же Номенклатура. Вся ваша проблема была совсем в другом - обмены нужно было делать не по UUID (раз распределенка - однозначно убрать), а по коду. И все.
А это - велосипед. С квадратными колесами получился. Да еще и с кузовом вместо багажника (выгрузка в SQL).

Мальчик, тебе кто разрешал в темы взрослым дядькам свои глупости постить?
47. AlexO 135 08.09.14 10:20 Сейчас в теме
(45)
Слушай, ты.. не-мальчик... ты давай повежливей.
5. Широкий 693 20.01.09 12:16 Сейчас в теме
6. Широкий 693 21.01.09 17:03 Сейчас в теме
Добавил отображения состояния обработки.
Исправил ошибку: если заменямый справочник являлся графой отбора журнала - то замена проходила некорректно
7. alexdum12 03.09.09 09:40 Сейчас в теме
Нужная вещь, особенно когда нужно добиться синхронизации нескольких баз со "своей историей" и конфигурацией до запятой в части справочников
8. adminagro 03.02.10 15:52 Сейчас в теме
Ребята выдает "неудачная попытка соединения с SQL-сервером". ... Помогите может быть кто сталкивался .
9. Широкий 693 03.02.10 15:56 Сейчас в теме
Параметры вводишь неправильные..
Попробуй написать логи/пароль с учетом регистра
10. adminagro 03.02.10 16:49 Сейчас в теме
:cry: Что то не получается. Я ввожу сервер 1C или нужно указывать конкретно SQL сервер где лежит база . И имя и пароль указывать для доступа к базе или к SQL серверу?
11. Широкий 693 03.02.10 16:50 Сейчас в теме
12. adminagro 03.02.10 16:52 Сейчас в теме
?? я вроде не ... но что то не получается.
вот что указываю : SQL сервер server-msa
логин : sa
пароль : ****** :)
база данных как в SQL 1cv81 и ни... сразу без задержек дает отбой
13. Широкий 693 03.02.10 16:56 Сейчас в теме
Скуль случаем не экспресс?
Открой Managment Studio и попробуй там законнектиться.
14. adminagro 03.02.10 16:57 Сейчас в теме
Да вроде пошло :) . Спасибо буду пробывать
15. adminagro 03.02.10 17:09 Сейчас в теме
Подскажите а можно ли заменить GUID только у выбранного элмента и на тот GUID что я укажу. У меня просто не согласование GUID между синхронизирующимися базами. нужно менять не все и только на то что укажу ?
16. Широкий 693 03.02.10 17:11 Сейчас в теме
(15) Можно ... только надо убедится что твой новый ГУИД в базе не существует
17. adminagro 03.02.10 17:25 Сейчас в теме
Еще один уточняющий вопрос. Когда я делаю подбор и выбирая конкретные позиции справочника. GUID меняется толко в данных позициях или во всем справочнике. Просто закрались сомнения потому что процедура пробигает по каким-то 424 элементов , хотя в списке выбран только один .
18. Широкий 693 03.02.10 17:27 Сейчас в теме
Вообще то обработка должна менять ГУИД во всех объектах, где твой справочник может участвовать.
Иначе полезут битые ссылки
31. Xatori111 18 31.07.13 10:49 Сейчас в теме
(18)Не обрабатывает документы ОперацияБух (т.е. не заменяет Гуиды в этих документах) (Управление производственным предприятием, редакция 1.3 (1.3.38.3) ), Можно сделать?

Точнее Регистры Бухгалтерии не обрабатываются, а именно не находится ссылка в Субконто
19. adminagro 03.02.10 17:33 Сейчас в теме
Еще один уточняющий вопрос. Почему для любого значения справочника Контрагенты, число "Обработанно реквизитов" равно 424 ?
20. Широкий 693 03.02.10 17:35 Сейчас в теме
Я же уже объяснил. Справочник типа "Контрагент" в участвует в различных документах,справочниках и т.д. Во всех этих таблицах нужно заменить гуид
21. adminagro 03.02.10 17:36 Сейчас в теме
22. Трактор 1249 19.02.10 16:34 Сейчас в теме
А как обработка поступает с регистрами свойств если после изменения ГУИДа запись становится неуникальной?
Например: Регистр сведений КонтактнаяИнформация измерения Объект, Тип, Вид. Мы изменилили в нём ГУИД одного контрагента на ГУИД другого. Но у этого другого есть записи с теми же значениями Тип и Вид. Что мы увидим в регистре сведений?
23. Широкий 693 19.02.10 19:49 Сейчас в теме
(22) Мы увидим ошибку..
Этоа обработка для замены гуидов.. а не для замены элементов справочников.
Т.е. перед тем , как ввести для замены гуид существующего элемента справочника - нужно хорошо подумать
24. Umka18 08.11.11 18:06 Сейчас в теме
Пригодилось когда в 2-х базах с обменами постоянно что-то задваивалось. Пришлось делать синхронизацию по гуид, но сначала их корректировать пришлось
25. IgorXml 728 22.04.12 19:02 Сейчас в теме
Без SQL фокус не получится? С другими СУБД может получиться?
Не все регистры сведений не получаются, если объект используется.
26. xoxland 100 19.06.12 13:51 Сейчас в теме
Некорректно, точнее вообще, не обрабатываются ссылочные ресурсы РегистровСведений. исправляется легко:
в модуль формы после строки 117 добавить:
ПеребратьПоляОбъектаМетаданных(ОбъектМетаданных,Представление,"Ресурсы");

Также, не обрабатываются константы, анализировать как исправить не было времени

За идею - зачОт, оч спасло
28. stzk 07.02.13 15:47 Сейчас в теме
здравствуйте! а GUID у справочника, конкретно валюты - руб. - как поменять? у меня при переносе базы создалась вторая валюта руб., теперь валюта учета руб. не совпадает со старой руб.
29. БольшойЧайник 36 07.02.13 15:59 Сейчас в теме
(28) проще поменять правила обмена. сделать синхронизацию по коду вместо внутреннего идентификатора
30. Широкий 693 07.02.13 16:05 Сейчас в теме
(28) Левые колонки что надо поменять, правые - на что надо поменять
32. Широкий 693 31.07.13 12:03 Сейчас в теме
Там не сам документ, а его движения.
33. Xatori111 18 31.07.13 12:17 Сейчас в теме
(32)Это и имел ввиду, по субконто не хочет менять Гуиды, починить можно?
34. Широкий 693 31.07.13 12:55 Сейчас в теме
35. Xatori111 18 31.07.13 13:34 Сейчас в теме
(34)Работает, сейчас заметил, что как выше писали так же не отрабатывают регистры сведений, попробовал исправить вставить кусочек кода после строки 117 вот что получилось, но что то всё равно ГУиды в РС не меняются
Для каждого ОбъектМетаданных Из Метаданные.РегистрыСведений Цикл
Представление="РегистрСведений."+ОбъектМетаданных.Имя;

ПеребратьПоляОбъектаМетаданных(ОбъектМетаданных,Представление,"Измерения");

ПеребратьПоляОбъектаМетаданных(ОбъектМетаданных,Представление,"Реквизиты");

ПеребратьПоляОбъектаМетаданных(ОбъектМетаданных,Представление,"Ресурсы");
КонецЦикла;
36. Широкий 693 31.07.13 13:46 Сейчас в теме
По регистрам сведений код уже был.
Предположу что получается нарушается уникальность значений, если элемент (на что заменяем) уже существовал в РС.
37. Xatori111 18 31.07.13 16:09 Сейчас в теме
(36) А такой ещё вопросик, зачем создаётся колонка в таблицах (там вроде получается сначала Гуид записывается в эту колонку, а потом заменяется), почему нельзя сразу заменить?
38. Широкий 693 31.07.13 16:21 Сейчас в теме
39. Широкий 693 31.07.13 16:21 Сейчас в теме
По хорошему - надо бы эту обработку вообще удалить.
Слишком много дыр и условностей
40. Xatori111 18 31.07.13 16:48 Сейчас в теме
(39)Ну а что делать если надо:)
46. AlexO 135 08.09.14 10:19 Сейчас в теме
(39)
По хорошему - надо бы эту обработку вообще удалить.

Возможно, достаточно сменить название - "Практически пример создания таблицы в SQL из 1С".
(40) Xatori111,
Ну а что делать если надо:)

Что надо-то на самом деле?
41. kser87 2454 05.11.13 09:59 Сейчас в теме
Под 8.2 никак не хочет работать. Поправьте пожалуйста
42. Широкий 693 05.11.13 10:10 Сейчас в теме
В описании же написано 8.1
Вы можете конвертировать ее под 8.2 (открыть обработку в конфигураторе) - но тут на свой риск.
44. AlexO 135 08.09.14 10:09 Сейчас в теме
(0)
Далее она скидывает элементы справочника (у которых надо поменять ГУИД) в служебную таблицу на sql_сервере и дополнительно создает служебные колонки у таблиц, где будет проходить замена.

На какие UUID меняются старые? Откуда их берут?
Измененные UUID - попадают обратно в базу? Или так и остаются в таблице SQL?
(27) Abadonna,
Через конфигуратор что ли грузили? Не через скуль выгрузку-загрузку?

Разницы, в данном случае, нет никакой - в контексте ответа. Что SQL, что в конфигуратор - выгрузка в базу-приемник будет именно тех UUID, которые с исходной базе, никаких проверок с "вон той базой РИБ" по ключам не было и не будет.
Отличие - если внутри самой базы в файловой версии (к рпримеру) были задвоенные UUID (так как 1С не озаботилась проверкой их уникальности), то SQL не позволит развернуть у себя такую базу - у него поле Ключа уникально и не подлежит "обсуждению". Проще говоря, ругнется "Ошибка. Create Unique index. Неуникальное значение в уникальный индекс".
И чини как хочешь.
48. AlexO 135 08.09.14 10:22 Сейчас в теме
(0) Ты проблему даже не описал. А выкатил обработку, делающую финт ради развлечения.
Развлекаться - развлекайся, но пиши об этом прямо, и не груби.
Мальчик не-мальчик.
Оставьте свое сообщение