Обработка для замены ссылок (дублей) без перепроведения в "1С:Предприятие 8" для любых конфигураций (обычное приложение)

16.01.20

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

Замена ссылок (дублей) любых справочников (Номенклатура, Контрагенты, Договора и другие) без перепроведения: все числовые значения в регистрах останутся неизменными Основное отличие нашей обработки в том, что сперва генерируется и выполняется запрос по всем метаданным с получением всех нужных объектов и необходимых реквизитов (добавление в текст запроса только реквизитов заданного типа с отбором по значениям). Далее выполняется замена ссылок по заранее полученным именам таблиц, табличным частям и реквизитам, без излишних проверок в циклах по объектам.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обработка для замены ссылок (дублей) в "1С:Предприятие 8" для любых конфигураций (обычное приложение, модуль закрыт паролем)
.epf 31,94Kb
91
91 Скачать (3 SM) Купить за 2 450 руб.
Обработка для замены ссылок (дублей) без перепроведения в "1С:Предприятие 8" для любых конфигураций (обычное приложение, текстовый модуль открыт)
.epf 21,69Kb
20
20 Скачать (4 SM) Купить за 2 750 руб.

Обработка не ищет дубли контрагентов и других справочников, выполняет только замену ссылок по списку объектов.

Данная обработка была создана более двух лет назад, оттестирована, отлажена и многократно успешно применялась для замены ссылок.

Поиск и замена дублей (обычное приложение)

Основное отличие нашей обработки в том, что сперва генерируется и выполняется запрос по всем метаданным с получением всех нужных объектов и необходимых реквизитов (добавление в текст запроса только реквизитов заданного типа с отбором по значениям). Далее выполняется замена ссылок по заранее полученным именам таблиц, табличным частям и реквизитам, без излишних проверок в циклах по объектам.

Ссылки в каждой таблице заменяются отдельно.

Поиск и замена дублей (обычное приложение)

Регистры бухгалтерии, накопления, расчёта и сведений с регистратором перезаполняются через набор записей.

Регистры сведений без регистратора через менеджер записи.

На данный момент обработка имеет только форму для обычного приложения. При необходимости использования в управляемом приложении можно запустить управляемое приожение в режиме обычного приложения и воспользоваться обработкой.

Поиск и замена дублей (обычное приложение)
 
Поиск и замена дублей (обычное приложение)

Информация по всем заменам фиксируется в стандартном журнале регистрации 1С с указанием внутреннего идентификатора и имени таблицы.

Поиск и замена дублей(обычное приложение)

После выполнения процедуры замены ссылок обратите внимание на то, что используемые последовательности документов в вашей базе данных будут сдвинуты на самый ранний объект, в котором была замена ссылки. Вы можете не перепроводить документы, а только изменить дату границы последовательности.

Список ссылок можно сохранить в файл и позднее загрузить, и продолжить замену.

Тип ссылок для всех строк устанавливается из первой строки реквизита "Источник".

Кнопка "Отчет по объектам" позволяет получить полный перечень объектов с указанием таблиц, табличных частей и реквизитов, в которых будет выполнена замена ссылок.

Изображения к публикации содержат дополнительную информацию по использованию обработки.

замена ссылок дублей контрагентов без перепроведения

См. также

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

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

60000 руб.

06.10.2023    4820    38    20    

46

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

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

14400 руб.

29.04.2020    34328    109    152    

75

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

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

3600 руб.

10.02.2017    111805    673    175    

712

Корректировка данных Программист Пользователь Платформа 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    52771    16    61    

55

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

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    51504    175    29    

127

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

Обработка служит для: выравнивания бухгалтерского и налогового учета на определенную дату по выбранным счетам; закрытия остатков по выбранным счетам; обнуления налогового учета (ПР, ВР также будут обнулены)

2880 руб.

05.05.2024    755    11    0    

7

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

Обработка предназначена для ООО для смены системы налогообложения УСН на ОСНО, без ведения раздельного учета, входящего НДС по способам учета. При реализации перехода в операции формируются проводки по выделению НДС, который ранее учитывался в стоимости номенклатуры, регистр «НДС Предъявленный».

6000 руб.

22.01.2025    446    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. pepe 64 13.11.15 17:06 Сейчас в теме
А каким образом происходит поиск ссылок?
2. TuneSoft 247 13.11.15 17:36 Сейчас в теме
(1) pepe, генерируется текст запроса 1С по всем метаданным только по реквизитам, содержащим тип ссылки и отбором по значениям "Источник".
Фрагмент этой функции видно на скрине:
3. karpik666 3921 13.11.15 18:29 Сейчас в теме
(2) так, а чем стандартный поиск дублей не угодил или из инструментов разработчики, да и на худой конец "Поиск и замена значений" , что на диске ИТС? Все это работает без перепроведения документов.
5. TuneSoft 247 13.11.15 22:18 Сейчас в теме
(3) karpik666, согласен, варианты есть, но они не совсем подходят для наших задач.

В нашей обработке упор больше сделан на строгость, правильность замены данных (человеческий фактор), а также на большие объёмы данных.
Сейчас регламент работы с данной обработкой следующий: один сотрудник (бухгалтер) в отдельно специализированной обработке "Поиск дублей" готовит список замен, далее выгружает список во внутреннем представлении в файл, далее этот список у себя открывает главный бухгалтер и утверждает, далее список пересылается программисту, программист загружает файл в обработку "Замена ссылок", формирует необходимые отчёты до замены, выполняется замена и т. д.

Ещё в типовой обработке "ПоискИЗаменаЗначений.epf" с диска ИТС выполняется поиск объектов через стандартную функцию "НайтиПоСсылкам", и далее в цикле выполняется перебор всех реквизитов объектов с проверкой на тип и содержание:
...
Для Каждого Реквизит Из СтрокаТаблицы.Метаданные.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(ТипЗнч(Ссылка)) И Параметры.Объект[Реквизит.Имя] = Ссылка Тогда

...
Для Каждого ТЧ ИЗ СтрокаТаблицы.Метаданные.ТабличныеЧасти Цикл
Для Каждого Реквизит Из ТЧ.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(ТипЗнч(Ссылка)) Тогда

...

это будет медленно при большом количестве объектов для замены.

Основное отличие нашей обработки в том, что сперва генерируется и выполняется запрос по всем метаданным с получением всех нужных объектов и необходимых реквизитов (добавление в текст запроса только реквизитов заданного типа с отбором по значениям).
Далее выполняется замена ссылок уже по заранее полученным именам таблиц, табличным частям и реквизитам, без излишних проверок в циклах.
16. gulchitai 28.01.16 05:10 Сейчас в теме
(5) tunesoft. Вы пишите про обработку "Поиск дублей", который готовит список замен, она есть на инфостарте? Как ее можно получить?
17. TuneSoft 247 28.01.16 13:15 Сейчас в теме
(16) gulchitai, какие-то были, можете через поиск найти.
18. gulchitai 29.01.16 03:35 Сейчас в теме
4. insurgut 208 13.11.15 21:27 Сейчас в теме
Так это же стандартная обработка с диска ИТС поиска и замены значений, которая точно так же напрямую в движениях заменяет ссылки без перепроведения документов. Куда смотрят модераторы?
6. TuneSoft 247 13.11.15 22:19 Сейчас в теме
(4) insurgut, совсем не стандартная, основные отличия описаны в предыдущем комментарии.

ещё избыточные циклы и проверки в типовой обработке "ПоискИЗаменаЗначений.epf":

Для Каждого ТЧ ИЗ СтрокаТаблицы.Метаданные.ТабличныеЧасти Цикл
Для Каждого Реквизит Из ТЧ.Реквизиты Цикл
Если Реквизит.Тип.СодержитТип(ТипЗнч(Ссылка)) Тогда
СтрокаТабЧасти = Параметры.Объект[ТЧ.Имя].Найти(Ссылка, Реквизит.Имя);
Пока СтрокаТабЧасти <> Неопределено Цикл


(3) karpik666,
>"или из инструментов разработчики"

внутрь кода не смотрел, но в описании публикации указано "основано на обработке "ПоискИЗаменаДублирующихсяЭлементов" с ИТС"
7. TuneSoft 247 13.11.15 22:56 Сейчас в теме
На двух одинаковых тестовых БД "Бухгалтерия 2" запустил разные обработки, в одной типовую "ПоискИЗаменаЗначений", в другой нашу, настроил одинаковые элементы для замены.

Через несколько секунд "ПоискИЗаменаЗначений" выдала сообщение и прервалась:
Существуют документы, оформленные по договору "Договор №... от 01.01.15г.".
Контрагент договора не может быть изменен, элемент не записан.
Не удалось записать "Договор №... от 01.01.15г. (Договоры контрагентов)"!


Наша обработка успешно завершила выполнение за несколько минут, при этом в журнал регистрации добавлены сообщения вида "Замена <Справочник.Контрагенты;Почта;005;7cba181e-335b-11e4-a84f-001f29081c26> на <Справочник.Контрагенты;Почта России;000011;4a9b2d6c-26b0-11df-97a9-001d7d9bbaae> в таблице <Справочники.ДоговорыКонтрагентов>", данные "Договор №... от 01.01.15г.".
8. insurgut 208 14.11.15 07:04 Сейчас в теме
(7) ОбменДанными.Загрузка = Истина, вот и все отличие... Поиск и замена дублирующих использует замены в режиме загрузки данных, поиск и замена значений просто записывает элемент (в итоге выполняются проверки).
9. TuneSoft 247 14.11.15 11:28 Сейчас в теме
(8) insurgut, это знаю, с 1С работаю более 15 лет, смысл в том, что в исходном варианте обработка "ПоискИЗаменаЗначений" не заменяет ссылки и нет флажка на форме чтобы включить режим "ОбменДанными.Загрузка = Истина"
10. karpik666 3921 14.11.15 17:11 Сейчас в теме
(9) что то непонятно, с 1С более 15 лет, так зачем тогда приводите такое сравнение, или вы думаете, что квалификация посетителей сайта не позволит сказать в чем различия таких данных? Стандартная "поиск и замена значений" предусматривает обмен данными загрузка, просто почему то разработчики не удосужились просто вывести параметр на форму, переделывается это в течении 5 минут, достаточно в функцию замены передавать параметр, что выполнять без проверок. Вам говорят вы изобрели велосипед, притом, что есть уже точно работающие инструменты, и не для одних справочников, а также ПВР, ПВХ, планов счетов, Задач и т.д. А по поводу инструментов, это очень сильно переработанная обработка с ИТС, так как заменяет не только ссылки, но и позволяет оценивать регистры сведений, чтобы не было ошибки на уникальность строк.
11. TuneSoft 247 14.11.15 18:16 Сейчас в теме
(10) karpik666,
>и не для одних справочников, а также ПВР, ПВХ, планов счетов, Задач и т.д.

В нашей обработке тоже есть аналогичная возможность, сейчас в форме в типе элемента явно указано "Справочник", раньше было "Любая ссылка", можно снова выбрать мышкой "Любая ссылка"

>А по поводу инструментов, это очень сильно переработанная обработка с ИТС, так как заменяет не только ссылки, но и позволяет оценивать регистры сведений, чтобы не было ошибки на уникальность строк.

Отлично.
Тоже заменяем в регистре сведений.

>Вам говорят вы изобрели велосипед

Ну и замечательно.
Обработки разные, работают по-разному, и вообще изобретать "велосипеды" полезно :)
12. karpik666 3921 14.11.15 18:36 Сейчас в теме
(11) ладно будь по вашему, может кому то пригодится.
13. pepe 64 16.11.15 11:02 Сейчас в теме
(12) karpik666, Нужно проверить эту обработку, думаю она быстрее работает. Стандартной обработка на моей базе тупо виснет. Через запросы более эффективнее, только сложность, что нужно разбирать метаданные.
14. TuneSoft 247 16.11.15 15:08 Сейчас в теме
(13) pepe,
>Стандартной обработка на моей базе тупо виснет.

Не должна зависать.
В другой сессии 1С в журнале регистрации смотрели запись транзакций фиксируется ?
База файловая или SQL ? Какой размер БД ?
Пробовали выполнить в конфигураторе "Администрирование - Тестирование и исправление" ?
15. pepe 64 17.11.15 12:06 Сейчас в теме
Это проблема размера базы, база уже 600 гбайт. Тестирование и исправление делали относительно не давно.
19. gulchitai 05.02.16 05:05 Сейчас в теме
Замена ссылок происходит не в режиме ОбменДанными.Загрузка = Истина? При замене появляются сообщения об ошибках, которые у нас вставлены в подписки на события, в них есть такая проверка
Если Отказ ИЛИ Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
Но кажется мы в нее не попадаем... В коде посмотреть не могу, т.к. обработка защищена паролем
20. TuneSoft 247 05.02.16 09:50 Сейчас в теме
(19) gulchitai, запись выполняется в режиме ".ОбменДанными.Загрузка = Истина", но в случае изменения регистра сведений без регистратора используется менеджер записи, у которого нет "ОбменДанными". Почему используется "МенеджерЗаписи", а не "НаборЗаписей" уже не помню :)
21. gragden 55 03.08.17 09:59 Сейчас в теме
Ожидал что можно будет любой тип объекта искать, а тут только можно справочники выбирать ))), очень похожа на ИТС версию, и 6 стартмани за это жирно
минус
22. TuneSoft 247 03.08.17 11:23 Сейчас в теме
(21)
Добрый день, Денис.

В обработке можно использовать любые ссылочные типы.
Для этого нужно в конфигураторе у поля выбора присвоить тип "Любая ссылка".
Обычно замена ссылок выполняется для справочников, поэтому задан такой тип чтобы сузить список выбора.
23. gragden 55 03.08.17 14:47 Сейчас в теме
(22)
тому задан такой тип чтобы сузить с


Ваша обработка для "полного счастья" еще и запаролена (Введите пароль для работы с текстовым модулем).
минус
24. TuneSoft 247 03.08.17 15:27 Сейчас в теме
(23)
пароль подобрать не удалось :)
поищу в архивах и сообщу
25. alexey_t 23.11.18 13:33 Сейчас в теме
Отдать 4 стартмани за запароленную обработку!
В описании про это ни слова!
26. TuneSoft 247 23.11.18 14:11 Сейчас в теме
(25) постараюсь убрать пароль и обновить, давно это было
27. eeeio 127 16.01.20 06:41 Сейчас в теме
28. TuneSoft 247 16.01.20 08:50 Сейчас в теме
(27) Добрый день.

Да.
Добавил файл с открытым модулем.
Оставьте свое сообщение