Замена дублей средствами SQL (MS SQL, УФ, 8.2, 8.3)

06.03.20

База данных - Чистка данных

Универсальная подсистема из 2-х справочников для выполнения замены дублей справочников средствами MS SQL (реализация на управляемых формах).

Скачать файл

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

Наименование По подписке [?] Купить один файл
Dubli_new.cf
.cf 81,84Kb
98
98 Скачать (3 SM) Купить за 2 450 руб.

Замена дублей выполняется для справочников.

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

Замена выполняется:

  • во всех основных таблицах 1С (справочники, документы, регистры, константы, ...).
  • в виртуальных таблицах итогов и оборотов регистров накопления.
  • в таблицах "значения субконто" и "итоги по счетам с субконто" регистров бухгалтерии.
  • в виртуальных таблицах "итоги срез первых/последних" регистров сведений.
  • в виртуальных таблицах Перерасчет регистра расчета.

В составе cf включена универсальная обработка "поиска ссылок на объекты SQL" из этой публикации //infostart.ru/public/446929/ 

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

Установка

При сравнении и объединении с cf необходимо убрать галку у свойств конфигурации.

Если в вашей базе уже есть настройки подключения к MS SQL, константу переносить не надо. Настройки подключения к серверу SQL необходимо указать в функции ПолучитьНастройкиСоединения() модуля менеджера справочника зд_ЗаменаДублей.

Вывод команд открытия справочников в интерфейс необходимо делать самому, если есть необходимость.

Настройка подключения к SQL

Если в вашей базе нет настроек подключения к MS SQL и константу из cf перенесли, то в форме списка справочника зд_ЗаменаДублей будет доступна кнопка "Настройка подключения". В открывшейся форме необходимо указать сервер SLQ, имя базы и настройки аутентификации.

 Настройка подключения к MS SQL

Использование

Для выполнения замены необходимо добавить новый элемент справочника "Замена дублей".

  • В типе объекта необходимо указать вид метаданных, для которых будет выполняться замена.
  • Основной элемент - ссылка на элемент справочника, на которую будут заменяться ссылки на дубли.
  • Таблица дублей - необходимо указать список дублей "основного элемента".

Элемент справочника "Замена дублей"

Для выполнения замены нажать кнопку "Выполнить замену". После окончания замены результат выполнения отобразится на закладке История.

Из элемента справочника "Замена дублей" можно выполнить поиск ссылок на основной элемент и дубли из подменю "Поиск ссылок на".

Просмотр результата

С закладки истории можно открыть элемент справочника истории выполнения замены. В истории отображаются дата и время начала и окончания выполнения замены.

 История выполнения замены

В табличной части "выполненные запросы" отображаются все таблицы, для которых выполнялся запрос замены. При выборе любой строки таблицы отображается:

  • Выполняемый текст запроса и текст ошибки, если при выполнении она возникла.
  • Время запуска запроса и время окончания.
  • В колонке "Обработано записей" отображается количество строк таблицы, в которых была выполнена замена значений.
  • В колонке "ош" отображается галка, если были ошибки при выполнении запроса.
  • Строка таблицы подсвечивается зеленым, если были замены и красным, если были ошибки.
На картинке результата видно что замена дубля валюты выполнилось в 3 140 844 строках таблиц за 27 секунд. При этом было выполнено более 500 запросов.

Дополнительно

Если у вас распределенная база, выполненные изменения не зарегистрируются в обмен с другими базами.

 

06.03.2020:

Добавлена обработка журналов документов.

Поиск данных Универсальные обработки Управляемые формы SQL Замена дублей

См. также

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14757    108    46    

108

Чистка данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 29.06.2023, версия 4.2)

9600 руб.

22.02.2013    139198    264    144    

435

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

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

60000 руб.

06.10.2023    4549    37    19    

45

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

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

14400 руб.

29.04.2020    33879    108    152    

75

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

Позволяет удалить организации из любых из информационных баз 1С на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3582 руб.

16.03.2015    196822    217    82    

252

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

Обработки помогут Вам легко и, главное, быстро (в 5 раз и быстрее штатной обработки 1С), выполнить поиск дублирующих данных в Ваших базах 1С на платформах 8.1-8.3. Это позволит уменьшить объем лишней информации в справочниках и документах, планах видов характеристик и др., упростит работу с данными пользователям. А так же можно, одним нажатием, узнать в каких ссылочных объектах есть вообще дубли! Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А так же обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! (Обновление от 27.11.2023, версия 6.12)

10800 руб.

14.05.2012    159668    339    253    

573

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

55

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

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

3600 руб.

10.02.2017    111424    669    174    

708
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. V.Nikonov 121 04.02.16 18:20 Сейчас в теме
Для распределенок нужен Справочник или Регистр сведений с описанием Замен. Этот Справочник или РегистрСведений должен реплицироваться перед проведением замен в текущей базе. На основе Справочника или РегистраСведений можно инициировать синхронные замены...
3. v.krivenko 51 05.02.16 10:06 Сейчас в теме
(1) V.Nikonov,
Разработка и есть справочник. Для распределенки его надо включить в обмен и выполнить замену в каждой базе.
2. V.Nikonov 121 04.02.16 18:21 Сейчас в теме
Вот только прямое обращение к SQL = нарушение Лицензионного соглашения с 1С. Выполняется на "свой страх и риск".
4. Aleksey81 1188 15.03.16 19:29 Сейчас в теме
Хорошая обработка, но без исправления досадной ошибки использовать ее нельзя.
Вы несколько раз применили корректное присвоение
НоваяСтрока.СтруктураТипОбъекта = Новый Структура;
Для Каждого КлючИЗначение Из СтруктураТипОбъекта Цикл
НоваяСтрока.СтруктураТипОбъекта.Вставить(КлючИЗначение.Ключ, КлючИЗначение.Значение);
КонецЦикла;

но один раз оставили НЕКОРРЕКТНОЕ
НоваяСтрока.СтруктураТипОбъекта = СтруктураТипОбъекта;

Из за чего не могут обрабатываться константы....
Пожалуйста исправьте.
5. v.krivenko 51 15.03.16 21:03 Сейчас в теме
(4) Aleksey81, это единственное место, где на каждую добавленную НоваяСтрока создается отдельная структура СтруктураТипОбъекта поэтому она присваевается.

У Вас в константе значение не поменялось?
6. lunjio 67 24.08.17 09:41 Сейчас в теме
Спасибо за публикацию, столкнулся со следующей проблемой, на 2005 sql сервере функция Convert(type, data, style) отрабатывает некорректно, преобразует в текст хотя должна вернуть строковую представление, обошел применение функции sys.fn_varbintohexstr(data) вместо convert
7. nvv1970 26.08.17 10:46 Сейчас в теме
Интересно, вы обрабатываете в sql вставку неуникальных значений в регистры/индексы)? Как делаете пересчёты итогов, например, хозрасчетного? В скуле?)
Вообще наличие дублей предполагает, что дублированных данных в базе немного. Поэтому с этим замечательно справится и встроенная обработка за минуту. Если они накапливались пять лет - то замену делать поздно, нужно делать переносы остатков с одного элемента, на другой. Т.е. замена - методически неверный подход.
8. v.krivenko 51 28.08.17 11:43 Сейчас в теме
(7) на третьем скриншоте видно, что не обрабатывает. В таблицах остатков дубль заменяется на оригинал, ничего не пересчитывается.

(7)
Вообще наличие дублей предполагает, что дублированных данных в базе немного. Поэтому с этим замечательно справится и встроенная обработка за минуту. Если они накапливались пять лет - то замену делать поздно,

Ситуации у клиентов разные бывают, что бы так однозначно заявлять. Я ее делал изначально для клиента, у которого база большая и "встроенная" работала вечность даже на небольшом количестве дублей.
9. lunjio 67 29.08.17 11:26 Сейчас в теме
Так же была найдена ошибка, которая увеличивала в разы обработку, в модуле объекта справочника "здЗаменаДублей" проверялось на неравенство пустой строке переменных и свойств, которые имели значение неопределено, вследствии шло обращение к функции Метаданные.НайтиПоПолномуИмени, которая при замере сьедала 60% всего использование, решилось заменой условия <> "" на НЕ ПустаяСтрока(). Время выполнения ускорилось в 2.5 раза.
10. Wadus161 39 11.10.17 08:27 Сейчас в теме
Добрый день, не хватает обработки журнала документов (в нем остаются старые значения), приходится запускать тестирование и исправление с проверкой логической целостности.
11. v.krivenko 51 06.03.20 16:16 Сейчас в теме
(10) обработку журналов добавил.
Если актуально обновленную cf могу отправить.
12. mikukrnet 182 02.06.20 11:36 Сейчас в теме
Подскажите, на какой версии платформы работает данная подсистема? 8.3.10 не выдает все поля в методе ПолучитьСтруктуруХраненияБазыДанных() которые у вас используются, соотв. вылетает по ошибке
13. v.krivenko 51 02.06.20 15:26 Сейчас в теме
(12) Какая именно ошибка и какая версия совместимости?
Проверялось и на 8.2 и на 8.3
14. MaximYakimov 14.04.23 14:27 Сейчас в теме
в обработке багов больше чем функциональности. два вылечил - все равно падает. Как можно такие глючные вещи вообще выкладывать? в топку
15. a.babenko 19.04.23 09:58 Сейчас в теме
Оставьте свое сообщение