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

06.03.20

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

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

Скачать исходный код

Наименование Файл Версия Размер
Dubli_new.cf
.cf 81,84Kb
94
.cf 81,84Kb 94 Скачать

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

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

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

  • во всех основных таблицах 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С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

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

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

4800 руб.

06.10.2023    2586    29    15    

35

Удаление данных с отбором и построением дерева ссылок в базах 1С 8.1-8.3 УТ 10.3./11, БП 2/3, ЗУП 2.5/3, КА 1.1/2, УНФ 1.6/3.0

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

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

9600 руб.

22.02.2013    136155    249    144    

418

Тестирование и исправление ключей аналитики ERP, УТ11, КА

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

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

3600 руб.

10.02.2017    107215    636    173    

679

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

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

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

14400 руб.

29.04.2020    27820    82    146    

60

Быстрый поиск дублей с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6/3.0, КА 2, ЗУП 3 и т.д.)

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

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

10800 руб.

14.05.2012    155529    327    252    

559

Универсальное выборочное удаление данных из базы 1С (любые конфигурации на упр.формах: БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и т.д.)

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

Обработка позволяет удобно выборочно удалить данные из базы 1С. Это могут быть как неиспользуемые элементы справочников, так и неактуальные организации. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся.

3350 руб.

28.11.2019    24451    49    16    

62

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

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

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22529    301    35    

73

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

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

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

21600 руб.

15.05.2017    42623    11    24    

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

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

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

У Вас в константе значение не поменялось?
6. lunjio 66 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 66 29.08.17 11:26 Сейчас в теме
Так же была найдена ошибка, которая увеличивала в разы обработку, в модуле объекта справочника "здЗаменаДублей" проверялось на неравенство пустой строке переменных и свойств, которые имели значение неопределено, вследствии шло обращение к функции Метаданные.НайтиПоПолномуИмени, которая при замере сьедала 60% всего использование, решилось заменой условия <> "" на НЕ ПустаяСтрока(). Время выполнения ускорилось в 2.5 раза.
10. Wadus161 34 11.10.17 08:27 Сейчас в теме
Добрый день, не хватает обработки журнала документов (в нем остаются старые значения), приходится запускать тестирование и исправление с проверкой логической целостности.
11. v.krivenko 51 06.03.20 16:16 Сейчас в теме
(10) обработку журналов добавил.
Если актуально обновленную cf могу отправить.
12. mikukrnet 181 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 Сейчас в теме
Оставьте свое сообщение