1с изменить гуид элемента справочника
При использовании распределенных БД часто возникает проблема «Задвоения» элементов или наоборот, «Объект не найден».
Данная обработка позволит вам установить произвольный GUID для существующих объектов.
При замене GUID объекта обработка изменяет GUID по ссылкам во всех связанных объектах.
Принцип работы с обработкой:
1) В поле «Элемент» указываем объект базы, у которого мы хотим поменять GUID.
Поле «Тек ГУИД» заполняется GUID-ом выбранного элемента.
2) В поле «Нов ГУИД» вводим GUID который мы хотим задать для этого элемента.
3) Указываем строку подключения для базы данных.
Важно. Поскольку обработка происходит на сервере, то строки подключения различаются для х64 и х32 сервера приложений.
4) Тип алгоритма:
"Медленная" замена, с отображением таблиц – При поиске на каждый подходящий реквизит выполняется 3 запроса к MS SQL серверу, при этом выводится информация о таблицах и количествах замены.
Быстрая замена – замена всех значений происходит хранимой процедурой, за одно обращение к MS SQL серверу, однако таблицы для замены определяются при помощи «НайтиПоСсылкам». (Быстрее первого способа, но минимум информации)
Быстрая замена, везде, включая движения документа– замена всех значений происходит хранимой процедурой, за одно обращение к MS SQL серверу. В процессе замены мы пытаемся заменить ссылку в любом подходящем по типу поле в БД. Таким образом, ссылки будут замещаться и в движениях документов и в итогах.
Самый опасный способ! Но мы ведь смелые, без бэкапов ощущения не те (сарказм).
В этом случае желательно сделать тестирование и полный пересчет итогов. А в случае режима «слияния» объектов пересчет вообще обязателен.
5) Для современных релизов платформы у пользователя, под которым осуществляется запуск обработки, необходимо в конфигураторе снять галочку "Защита от опасных действий" в противном случае 1с отказывается полноценно работать с COM-объектами.
Возможен режим «Слияния» объектов.
Предположим, у нас есть 2 элемента справочника с одинаковыми наименованиями и мы хотим, что бы это стал 1 элемент. Можно запустить обработку с поиском и заменой значений, а можно запустить мою обработку.
Выбираем 1 из элементов, «Нов GUID» делаем равным GUID-у второго элемента, отмечаем галочку «Не менять ссылку».
Таким образом во всех вхождениях первого элемента будет изменена ссылка на второй элемент, а у самого элемента GUID не поменяется после этого, помечаем к удалению первый элемент за ненадобностью.
Цель разработки: иметь одинаковые ГУИД для некоторых элементов справочника в двух базах данных, для верного сопоставления при обмене.
Обработка создает копию объекта с желаемым GUID, затем заменяет ссылки на старый, и удаляет его.
Разрабатывалась на платформе 8.3. 12.1159.
• Исправлена ошибка возникающая при наличии у объекта замены, ссылки на самого себя (Организация - головная организация, Контрагент - головной контрагент и т.д.)
• Добавлено отображение списка заменяемых ссылок.
• Исправлена ошибка возникающая при замене GUID у документа
• Добавлена возможность менять GUID у списка объектов.
Специальные предложения
Ваша обработка его превратит в копию выбранного объекта? (1)А как могут GUID совпасть? Смысл GUID как раз а том что он всегда уникальный. А как могут GUID совпасть? Смысл GUID как раз а том что он всегда уникальный.
Вы смысл обработки прочитали?
Есть элемент А с GUID=1
Есть элемент Б с GUID=2
у элемента А в другой базе GUID=2
С помощью этой обработки создается копия с указанным вручную GUID. Значит можно указать что новый GUID = 2.
Ниже Автор ответил, что все будет нормально в этом случае
Предупредит о не уникальном GUID и остановит выполнение 1. Для сопоставления объектов с разными ГУИД, в КД существует спец. механизм - поля поиска.
2. Используйте РС Соответствие объектов инф. баз.
Необходимо сменить ГУИД организации. При попытке сделать это через данную обработку, программа выдаёт ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данны
Выполнять когда в базе никого нет.
Программа выдала ошибку о том, что в процессе замены ссылок, кто то изменил документ или справочник в котором эта ссылка участвует
(7)
Замену пытаюсь выполнить на копии базы. Куда чисто теоретически никто, кроме меня, зайти не может. Проблема точно не в этом.
Забыл написать версию платформы и конфигурацию БД, исправляюсь:
Бухгалтерия предприятия 3.0.64.42, Платформа 8.3.10.2639
(9) Хм. Ок. Необходимо создать копию объекта (организация) с новым ГУИДом и заменить старые ссылки на новые в объектах. При попытке сделать это с помощью данной обработки, программа выдает ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"
Попробовал на нескольких платформах 8.3.12. Ошибка повторяется из раза в раз.
бходимо создать копию объекта (организация) с новым ГУИДом и заменить старые ссылки на новые в объектах. При попытке сделать это с помощью данной обработки, программа выдает ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"
Попробовал на нескольких платформах 8.3.12. Ошибка повтор
Ошибки быть не должно, так как используется типовой механизм поиска ссылок на объект.
Попробуйте воспользоваться обработкой поиск и замена значений.
Там будет наглядно видно какой именно объект не удалось записать.
Еще есть предположение:
Так как вы меняете ГУИД у организации, а там есть реквизит головная организация, который равен этой же ссылке, возникнет такая ошибка.
Попробуйте на время выполнения данной обработки очистить данное поле. Возможно ошибка уйдет.
Там будет наглядно видно какой именно объект не удалось записать.
Первым делом это и попробовал. Ссылок очень много, в основном на договора.
Еще есть предположение:Так как вы меняете ГУИД у организации, а там есть реквизит головная организация, который равен этой же ссылке, возникнет такая ошибка.
Попробуйте на время выполнения данной обработки очистить данное поле. Возможно ошибка уйдет.
В базе заведена только одна организация и, видимо, поэтому такого поля у меня просто нет.
Как заполнить табличную часть формы программно? 6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 3
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема Посмотреть все результаты поиска похожих
Еще в этой же категории
Запуск базы 1С в режиме запуска Обычное приложение или Управляемое приложение 27
Для принудительного запуска предприятия в Обычном или Управляемом приложении используются следующие ключи: /RunModeOrdinaryApplication запуск толстого клиента в обычном режиме, несмотря на настройки конфигурации и пользователя, от имени которого Использование модальных окон в данном режиме запрещено! Модальные окна не работают, как быть? 4
В конфигураторе в свойства конфигурации, есть параметр «Режим использования модальности» Если установить Не использовать , то - принципе весь код, который после ОткрытьФормуМодально() Вопрос(), Предупреждение(), Выборов и диалогов открытия-сохр Как изменить картинку главное в панели инструментов УП 1С? 4
Разрабатывая конфигурацию, задался вопросом: Как изменить картинку раздела "Главное" в интерфейсе Такси? Сразу скажу, беглый поиск по настройкам не помог, но оказалось все не так сложно. В свойствах конфигурации есть пункт "Картинка основного разде Пример хранения изображений в базе (отдельный справочник), в интерфейсе Такси и без модальности 3
Часто разрабатывая некую конфигурацию, пользователи хотят прикреплять к элементу справочника фото и чтобы они хранились в базе данных. В этой статье я расскажу как к справочнику объекты строительства подключить хранилище фотографий в виде справочни Как из панели меню убрать пункт Вид и отключить Настройка панели? 3
Нужно чтобы пользователи не могли менять настроенный для них интерфейс! Решение: Для отключения нужно в правах доступа у корневого элемента конфигурации убрать право " Сохранение данных пользователя ". Отключатся настройка панелей и пункт ме Посмотреть все в категории 1С Общие вопросы - Управляемые формы и Такси
Цель разработки: иметь одинаковые ГУИД для некоторых элементов справочника в двух базах данных, для верного сопоставления при обмене.
Обработка создает копию объекта с желаемым GUID, затем заменяет ссылки на старый, и удаляет его.
Разрабатывалась на платформе 8.3. 12.1159.
• Исправлена ошибка возникающая при наличии у объекта замены, ссылки на самого себя (Организация - головная организация, Контрагент - головной контрагент и т.д.)
• Добавлено отображение списка заменяемых ссылок.
• Исправлена ошибка возникающая при замене GUID у документа
• Добавлена возможность менять GUID у списка объектов.
Специальные предложения
Ваша обработка его превратит в копию выбранного объекта? (1)А как могут GUID совпасть? Смысл GUID как раз а том что он всегда уникальный. А как могут GUID совпасть? Смысл GUID как раз а том что он всегда уникальный.
Вы смысл обработки прочитали?
Есть элемент А с GUID=1
Есть элемент Б с GUID=2
у элемента А в другой базе GUID=2
С помощью этой обработки создается копия с указанным вручную GUID. Значит можно указать что новый GUID = 2.
Ниже Автор ответил, что все будет нормально в этом случае
Предупредит о не уникальном GUID и остановит выполнение 1. Для сопоставления объектов с разными ГУИД, в КД существует спец. механизм - поля поиска.
2. Используйте РС Соответствие объектов инф. баз.
Необходимо сменить ГУИД организации. При попытке сделать это через данную обработку, программа выдаёт ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данны
Выполнять когда в базе никого нет.
Программа выдала ошибку о том, что в процессе замены ссылок, кто то изменил документ или справочник в котором эта ссылка участвует
(7)
Замену пытаюсь выполнить на копии базы. Куда чисто теоретически никто, кроме меня, зайти не может. Проблема точно не в этом.
Забыл написать версию платформы и конфигурацию БД, исправляюсь:
Бухгалтерия предприятия 3.0.64.42, Платформа 8.3.10.2639
(9) Хм. Ок. Необходимо создать копию объекта (организация) с новым ГУИДом и заменить старые ссылки на новые в объектах. При попытке сделать это с помощью данной обработки, программа выдает ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"
Попробовал на нескольких платформах 8.3.12. Ошибка повторяется из раза в раз.
бходимо создать копию объекта (организация) с новым ГУИДом и заменить старые ссылки на новые в объектах. При попытке сделать это с помощью данной обработки, программа выдает ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"
Попробовал на нескольких платформах 8.3.12. Ошибка повтор
Ошибки быть не должно, так как используется типовой механизм поиска ссылок на объект.
Попробуйте воспользоваться обработкой поиск и замена значений.
Там будет наглядно видно какой именно объект не удалось записать.
Еще есть предположение:
Так как вы меняете ГУИД у организации, а там есть реквизит головная организация, который равен этой же ссылке, возникнет такая ошибка.
Попробуйте на время выполнения данной обработки очистить данное поле. Возможно ошибка уйдет.
Там будет наглядно видно какой именно объект не удалось записать.
Первым делом это и попробовал. Ссылок очень много, в основном на договора.
Еще есть предположение:Так как вы меняете ГУИД у организации, а там есть реквизит головная организация, который равен этой же ссылке, возникнет такая ошибка.
Попробуйте на время выполнения данной обработки очистить данное поле. Возможно ошибка уйдет.
В базе заведена только одна организация и, видимо, поэтому такого поля у меня просто нет.
Читайте также: