Исправление ошибки "Запись с такими ключевыми полями существует" в обработке "Поиск и замена значений"

17.02.19

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

Обработка ПоискИЗаменаЗначений.epf — замечательный и надёжный инструмент. Но и в нём есть небольшой косячок, который проявляется при заменах в регистре сведений. Иногда встречается ситуация, когда в наборе есть две записи, одна с заменяемым значением, вторая с заменяющим. В остальном эти две записи идентичны по всем ключевым полям. Обработка пытается выполнить замену в этих записях. В результате они становятся полностью идентичными, и при записи набора возникает ошибка «Запись с такими ключевыми полями существует».

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
ПоискИЗаменаЗначений_feat_EarlyBird_2019.epf
.epf 24,11Kb
41
41
1 SM
Скачать Купить за 1 850 руб.

Обработка ПоискИЗаменаЗначений.epf  — роскошная и поистине незаменимая вещь. И я очень рад, что своими скромными усилиями помогу сделать её ещё чуть-чуть лучше.

 В обработке есть небольшой косячок, проявляющийся при заменах в регистре сведений.

Допустим, у нас в наборе есть две записи, одна с заменяемым значением, вторая с заменяющим. В остальном эти две записи идентичны по всем измерениям и ресурсам.

Обработка пытается выполнить замену.  В результате эти две записи становятся полностью идентичными, и возникает ошибка «Запись с такими ключевыми полями существует».

Например, в БП есть регистр сведений «Калькуляция себестоимости», туда пишется аналитика затрат по номенклатурным позициям, при проведении регламентной операции закрытия месяца.  В том числе туда пишется статья затрат. 

При замене статьи затрат, можем получить картину маслом:

Досадно? Да.

Можно ли это исправить? Можно!

Вот допиленная обработка. При выполнении замен в записях регистра сведений, обработка дополнительно проверяет уникальность изменённой записи по ключевым полям. И если запись с такими ключевыми полями уже существует, мы удаляем изменённую запись из набора (ну а куда её девать?).

Изменения внесены только в модуль формы, весь добавленный код отмечен тегом "EarlyBird".

Тестировалось на платформе 8.3.10.2667.

Обработка ПоискИЗаменаЗначений

См. также

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

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

10800 руб.

14.05.2012    157442    335    253    

567

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

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

21600 руб.

15.05.2017    43137    12    24    

40

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5185    11    5    

20

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3559    8    0    

27

Поиск данных Системный администратор Программист Платформа 1С v8.3 Россия Абонемент ($m)

Статья об опыте развертывания и интеграции с базой данных Manticore Search для быстрого полнотекстового поиска.

1 стартмани

30.11.2023    3831    andreysidor4uk    18    

49

Адаптация типовых решений Программист Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

Доработка типового отчета "Связанные документы" позволяет просто и быстро расширять состав объектов для построения структуры подчиненности документов, используя объекты основной конфигурации и любых расширений.

1 стартмани

27.10.2023    2832    21    avmartynov    14    

53
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7194 24.09.18 09:04 Сейчас в теме
Решение некорректное в общем случае.
1. Кто сказал что ресурсы надо суммировать даже если в их именах содержится "Сумма" или "Количество"? Это же регистр сведений, а не накопления.
2. Если у конфликтующих строк будут различаться ресурсы или реквизиты, не содержащие в именах строк "Сумма" и "Количество". то конфликтующие строки не свернутся.
abasovit; +1 Ответить
2. EarlyBird 7 24.09.18 10:36 Сейчас в теме
(1) хорошо, а какое поведение будет корректным?
3. EarlyBird 7 17.02.19 16:52 Сейчас в теме
(1) Штош, учёл критику, полностью переделал сценарий. Теперь перед записью изменённого набора записей регистра сведений, предварительно выполняется поиск записей, совпадающих по ключевым полям. Если записи найдены, одна из них удаляется (та, в которой мы делали замену).
4. user1898628 01.02.23 17:39 Сейчас в теме
Ну вот омрачение, она не открылась в управляемой форме
Оставьте свое сообщение