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

17.02.19

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

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

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

Наименование Файл Версия Размер
ПоискИЗаменаЗначений_feat_EarlyBird_2019.epf
.epf 24,11Kb
41
.epf 2.0.1 24,11Kb 41 Скачать

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

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

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

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

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

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

Досадно? Да.

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

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

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

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

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

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

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

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

29400 руб.

29.06.2023    4843    10    5    

19

Быстрый поиск дублей с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 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    156628    328    252    

560

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

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

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

7200 руб.

02.08.2023    3224    5    0    

22

Кто такая Мантикора?

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

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

1 стартмани

30.11.2023    3438    andreysidor4uk    16    

47

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

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

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

1 стартмани

27.10.2023    2253    19    avmartynov    14    

44

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

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

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2465    32    progmaster    8    

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