IE 2017

Ошибка при попытке вставки записи с неуникальным значением ссылки. (решение)

Обработки - Обработка документов

При записи набора записей столкнулся с ошибкой «Ошибка при попытке вставки записи с неуникальным значением ссылки. Таблица AccumReg7604».

При записи набора записей столкнулся с ошибкой «Ошибка при попытке вставки записи с неуникальным значением ссылки. Таблица AccumReg7604». Обратил внимание на «неуникальное значение ссылки», из этого следует, что в регистре накопления (бухгалтерии, расчетов) неуникальная пара значений  «регистратор», «номер строки». Из метода ПолучитьСтруктуруХраненияБазыДанных() видим, что проблема в таблице ПродажиСебестоимость. 

Делаем запрос и убираем задвоения средствами платформы:

ТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Данные.Регистратор КАК Регистратор
|ИЗ
| (ВЫБРАТЬ
| ПродажиСебестоимость.Регистратор КАК Регистратор,
| ПродажиСебестоимость.НомерСтроки КАК НомерСтроки,
| СУММА(1) КАК КоличествоДублей
| ИЗ
| РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
|
| СГРУППИРОВАТЬ ПО
| ПродажиСебестоимость.Регистратор,
| ПродажиСебестоимость.НомерСтроки
|
| ИМЕЮЩИЕ
| СУММА(1) > 1) КАК Данные";
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;

НаборЗаписей = РегистрыНакопления.ПродажиСебестоимость.СоздатьНаборЗаписей();
НаборЗаписейУдалить = РегистрыНакопления.ПродажиСебестоимость.СоздатьНаборЗаписей();

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НачатьТранзакцию();

НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();

НаборЗаписейУдалить.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписейУдалить.Записать();

НаборЗаписей.Записать();
ЗафиксироватьТранзакцию();
КонецЦикла;

 

PS Добавил обработку, которая ищет и исправляет наборы записей еще она показывает неуникальные записи в регистрах сведений. Так-же обработка "ремонтирует" итоги средствами платформы

(по следам http://partners.v8.1c.ru/forum/thread.jsp?id=918745)

Скачать файлы

Наименование Файл Версия Размер
Обработка исправляет наборы записей по всем регистрам
.epf 6,92Kb
24.12.12
265
.epf 6,92Kb 265 Скачать

См. также

Комментарии
1. Iren (sknarid) 24.07.14 15:36 Сейчас в теме
К сожалению выполнение обработки(ремонт таблиц) требует отбросить границу запрета редактирования документов, а с ней и последовательность к началу жизни. А потом всё восстанавливать за годы и рассылать на периферию.... Это гроб.
2. Dpotapov (Danil.Potapov) 25.07.14 10:17 Сейчас в теме
(1) sknarid,
Тогда нужно включить у объектов режим ОбменДанными.Загрузка = Истина и другие флаги заложенные в конкретной конфигурации.
3. Сергей Крайнов (ccserg) 43 16.01.15 15:26 Сейчас в теме
{(5, 3)}: Неоднозначное поле "Данные.Регистратор"
<<?>>Данные.Регистратор КАК Регистратор,
ЗИКБУ
4. Александр Чесноков (chesnokov-a-v) 99 26.05.15 20:47 Сейчас в теме
(1) sknarid, Если я правильно понимаю, то возникшая проблема - это проблема конкретной базы (будь то центральная или дочерняя база). У меня такая проблема возникла в дочерней базе, т.е. в центральной все нормально и из дочерней базы в центральную обмен уходит и центральной загружается. Не проходила только процедура загрузки данных из центральной базы в дочернюю.
Сделал следующее:
0. Сделал копии баз.
1. Выполнил обмен как есть (т.е. без загрузки данных в ДБ) 2 раза. Таким образом из дочерней в центральную выгружено все что зарегистрировано для обмена и дочерняя база об этом знает.
2. Убрал для своего пользователя дату запрета редактирования в дочерней базе.
3. Запустил данную обработку и дождался выполнения.
4. Открыл обработку "Регистрация изменений для обмена" (она стандартная) в дочерней базе и удалил всю регистрацию для центральной базы.
5. На фтп удалил файлы обмена.
6. Запустил обмен в центральной базе - таким образом в дочернюю еще раз ушли данные, которые зарегистрированы для нее.
7. Запустил обмен в дочерней. Все прошло нормально.
5. Азат (sultbec) 5 05.05.16 14:34 Сейчас в теме
Обработка выключает итоги регистров, и не включает их потом.
6. Dpotapov (Danil.Potapov) 06.05.16 10:26 Сейчас в теме
(5) sultbec,
не, все включается.
7. Андрей Самсонов (AlaBait) 12.05.16 05:35 Сейчас в теме
У меня подобный косяк ушел после банальной отмены проведения документа и проведения его заново
alexscamp; Danil.Potapov; magolubev; andogskiy; +4 Ответить 1
8. Igor Bon (igorbon) 02.10.16 09:08 Сейчас в теме
9. Михаил Голубев (magolubev) 11.08.17 09:10 Сейчас в теме
(7) Была ошибка в УТ 11.1 при проведении заказа клиента, что записи в таблице AccumRG6910 (как выяснил с помощью ПолучитьСтруктуруХраненияБазыДанных(), регистр накопления ЗаказыКлиентов)
Аналогично распровел документ и провел повторно - ошибка ушла
alexscamp; +1 Ответить
Оставьте свое сообщение