Дубликаты при переносе данных

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. schmel 20.06.15 13:14 Сейчас в теме
1С бухгалтерия версия 3 базовая. После переноса справочников из одной базы в другую, с помощью универсального обмена данными, стали возникать ошибки при обновлении конфигурации. Когда обновление достигает примерно 70% - пишет, что "уже существует основание увольнения с таким значением поля Наименование ст. 71" В первый раз как такое случилось вызывали специалиста по 1С, который внешними обработками ПоискиЗаменаДублирующихсяЭлементов убрал дубли. Обработку он сохранил. Сейчас при очередном обновлении опять появились дубликаты. Пробую удалить их, но возникает ошибка:
Ошибка удаления
Не удалось записать "Ст. 81 ч. 1 п. 3 (Основание увольнения)"!
Редактирование общих данных запрещено

как можно разрешить изменение этих общих данных?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. makfromkz 35 20.06.15 14:06 Сейчас в теме
(1) попробуйте перед записью написать [ВашОбъект].ОбменДанными.Загрузка = истина
взято отсель: 1C.ru
Letos; OverCON; Gendoy; Valery_L; Denis Nsk; +5 Ответить
4. schmel 20.06.15 23:39 Сейчас в теме
(2) makfromkz, а где это вписывать?
(3) Артано, правила обмена были созданы автоматически с помощью конфигурации "перенос данных" или "конвертация данных" (уже не вспомню), сейчас уже проще выловить все дубли, чем переносить заново, так как после переноса уже пол года прошло...
5. Артано 798 22.06.15 02:00 Сейчас в теме
(4) Тогда вылавливайте. Кроме справочника не забудьте про ПВХ
3. Артано 798 20.06.15 16:36 Сейчас в теме
(1) А правила откуда взяли? Может быть стоит копнуть туда, а то так и будете дубли чистить.
6. schmel 22.06.15 15:15 Сейчас в теме
выловить то их не проблема, проблема записать изменения. Как победить ошибку "Редактирование общих данных запрещено"?
Как выше уже писали: [ВашОбъект].ОбменДанными.Загрузка = истина
"В типовых конфигурациях при подписке на события стоит проверка на загрузку данных, если загрузка. то обработчик не выполняется.
По сути этот код просто блокирует обработчики событий."

куда это вписывать? Обработка epf.
7. Артано 798 22.06.15 17:10 Сейчас в теме
(6) перед записью этого самого объекта. Т.е на момент вызова метода Записать, свойство обменДанными.Загрузка должно быть истина
8. E_Johnny 22.06.15 17:17 Сейчас в теме
Я на скорую руку написал себе такую обработку:


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

ТекНаименование = "";
Для Каждого Строка из ТЗ Цикл
	Если ТекНаименование = Строка.Наименование Тогда
		СправочникОбъект = Строка.Ссылка.ПолучитьОбъект();
				СправочникОбъект.ДополнительныеСвойства.Вставить("ЗаписьОбщихДанных");
				СправочникОбъект.ОбменДанными.Загрузка = Истина;
				
				СправочникОбъект.Записать();
				СправочникОбъект.УстановитьПометкуУдаления(Истина,Истина);

	КонецЕсли;
	ТекНаименование = Строка.Наименование;
	КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры
Показать


и до обновления запустил ее
а затем удалил лишние объекты
ruslan_ozu; de0nis; +2 Ответить
9. schmel 22.06.15 18:58 Сейчас в теме
(8) E_Johnny, я просто не могу понять куда все это вписывать?
Тоесть я запускаю конфигуратор, выбираю создать (на ютубе посмотрел) - выбраю внешняя обработка, действия - открыть модуль объекта - туда вписываю ваш код, сохраняю как обработку, запускаю сначала ее, потом "свою". Попробовал так сделать - не получилось.

{Форма.Форма.Форма(1116)}: Ошибка при вызове метода контекста (УстановитьПометкуУдаления): Не удалось записать "Ст. 81 ч. 1 п. 6 пп. г (Основание увольнения)"!
10. E_Johnny 22.06.15 19:01 Сейчас в теме
а под какими правами это все делается?
11. E_Johnny 22.06.15 19:13 Сейчас в теме
попробуйте изменить код так
 
Попытка
 СправочникОбъект.Записать();
                СправочникОбъект.УстановитьПометкуУдаления(Истина,Истина);
Исключение
ТекстСообщения = НСтр("ru = 'Не удалось. '");
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения + ОписаниеОшибки());

КонецПопытки
Показать


как-то так
12. schmel 23.06.15 12:50 Сейчас в теме
(11) E_Johnny, галочки стоят на "Администратор системы" и "полные права". Код не помог.
Но проблему решил следующим образом. В конфигураторе в настройках поставил запуск приложения "Толстый клиент обычное приложение" запустил отладку.
запустил обработку другую (во вложении, если кому-то понадобится.) - и в ней все замены прошли на ура. :)
всем спасибо за помощь.
sergik75; Newsergejj; Daniayr; KlimenkoE; krokchel; lehis_S; arifulina; LiebeMein; boltushka1979; +9 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот