Как изменить внутренний идентификатор объектов 1с

Изменить идентификатор объекта

Изменить идентификатор объекта

Я
   elian_hunter

31.08.12 — 16:59

А можно каким-то образом изменить идентификатор объекта? Конкретно мне надо — документа! Вообще где он? как его прочитать? и поменять… ))

   vmv

1 — 31.08.12 — 17:00

нет

   H A D G E H O G s

2 — 31.08.12 — 17:01

Можно.

   H A D G E H O G s

3 — 31.08.12 — 17:01

Но не нужно

   andrewks

4 — 31.08.12 — 17:02

(1)(2)(3) +1 :)

   ptiz

5 — 31.08.12 — 17:03

(0) Идентификатор = Объект

Замена идентификатора = Поиск и замена значений

   elian_hunter

6 — 31.08.12 — 17:15

нет… идентификатор не равно объект… мне нужно прочитать гуид объекта… неужели нет способа??

   ptiz

7 — 31.08.12 — 17:17

(6) Опиши задачу целиком.

   vmv

8 — 31.08.12 — 17:18

гуид — загугли тут или в любой типовой

   Heckfy

9 — 31.08.12 — 17:20

ДокументСсылка.<Имя документа>.УникальныйИдентификатор (DocumentRef.<Имя документа>.UUID)

ДокументСсылка.<Имя документа> (DocumentRef.<Имя документа>)

УникальныйИдентификатор (UUID)

Синтаксис:

УникальныйИдентификатор()

Возвращаемое значение:

Тип: УникальныйИдентификатор.

Описание:

Получает уникальный идентификатор ссылки.

Ссылка может быть получена из уникального идентификатора с помощью метода менеджера ПолучитьСсылку.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

См. также:

ДокументМенеджер, метод ПолучитьСсылку

   elian_hunter

10 — 31.08.12 — 17:21

(7) при загрузке данных из ЗУП в БП, а именно документа «Отражение зарплаты в регл. учете» документ за август  создается, а за февраль удаляется. я попробовал изменить гуид в хмл-е и сработало! видимо каким-то образом совпали гуиды документов за февраль и август (не пойму каким) хочу убедиться что я прав… для этого мне надо прочитать гуиды этих докумнетов

   elian_hunter

11 — 31.08.12 — 17:21

(9) ООО! спасибо!

   ptiz

12 — 31.08.12 — 17:32

(10) Значит, что кто-то сильно умный в ЗУПе взял февральский документ и изменил ему период на август.

   Mikhail Volkov

13 — 31.08.12 — 17:38

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

Вот только с предопределенными объектами это не проходит… Кто знает как это сделать средствами 1С? (менять в скуле рискованно)

   elian_hunter

14 — 31.08.12 — 17:40

(12) теоретически, возможно… но, если честно, не совсем понимаю, как это могло произойти…

   andrewks

15 — 31.08.12 — 17:42

(14) заходишь в документ, меняешь, записываешь

   elian_hunter

16 — 31.08.12 — 17:45

(15) да не… не в том дело… просто как бы какой смысл им так делать?…

   hhhh

17 — 31.08.12 — 17:55

(16) у нас пару раз в месяц такое происходит.

    Бухи поняли, что гораздо быстрее вводить документ, если скопировать старый и в нем поменять всего несколько полей.

    Теперь внимание: если бух случайно вместо кнопки «копировать» нажмет кнопку «открыть», (а это ему как два пальца об асфальт) получается твоя ситуация.

Ответ он всегда на поверхности.

   vmv

18 — 31.08.12 — 18:01

(17) а че вы дали тьокам права на вольности с доками прошлого, отчаянные финские парни? При хорошей организации прав такие финты можно делать только в текущем дне, все что было вчера, а тем более в прошлом месяце — извините прочти кучу сообщений о запретах, последствиях, ответься 10 раз — «Да, я не дура и вполне адекватна, сохранить» и только потом позволить изменить что-то в «старом доке»

   hhhh

19 — 31.08.12 — 18:05

(18) эти доки не старые. Может даже сегодняшние.

   hhhh

20 — 31.08.12 — 18:08

(18) и в принципе, если например типовая 1С-ка у клиента, вы за свои деньги будете ему эти запреты вставлять?

   acsent

21 — 31.08.12 — 18:10

поиск и замена дублей

   Mikhail Volkov

22 — 31.08.12 — 20:47

(21) А с предопределенными объектами как?

   Sammo

23 — 31.08.12 — 20:56

(22) Никак. Гуид предопределенного элемента прописан внутри конфигурации и его не изменить. Проводил эксперимент — в скуле менял гуид предопределенного элемента. В результате после очередного сохранения конфигурации был создан еще 1 предопределенный элемент с таким же гуидом.

   Rie

24 — 31.08.12 — 21:00

(23) Ключевое слово — «предопределённый»?

   Mikhail Volkov

25 — 31.08.12 — 22:06

(23) «В результате после очередного сохранения конфигурации был создан еще 1 предопределенный элемент с таким же гуидом» — шалишь? Я еще допускаю одинаковый гуид для разных типов объектов, но в пределах одного типа это невозможно — гуид это ключ!

У меня при обмене баз, когда стоит синхронизация по гуид, такая хрень получается:

Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4795)}: Ошибка записи объекта

           ТипОбъекта             =  Виды контактной информации

           Объект                 =  Телефон физ.лица служебный

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

Microsoft OLE DB Provider for SQL Server: Нарушено «PK___Referen__AC8ED0C40F7C1D9B» ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект «dbo._Reference49». Повторяющееся значение ключа: (0xb9493d07ec2909514bd24a29a071e1b7).

HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2627, line=1

«Гуид предопределенного элемента прописан внутри конфигурации» — если сам не пропишешь, типа:

Процедура ЗаполнитьПредопределенныхПартнеров() Экспорт

   
//    СправочникОбъект = Справочники.Партнеры.НашеПредприятие.ПолучитьОбъект();    // возмем из базы Кайрос.    10.01.2012 МВ.

   СправочникСсылка = Справочники.Партнеры.ПолучитьСсылку(Новый УникальныйИдентификатор(«97403c2a-4260-481c-8835-1ea87e51a4aa»));

   СправочникОбъект = СправочникСсылка.ПолучитьОбъект();

   Если СправочникОбъект = Неопределено Тогда

       СправочникОбъект = Справочники.Партнеры.НашеПредприятие.СоздатьЭлемент();

       СправочникОбъект.УстановитьСсылкуНового(СправочникСсылка);

   КонецЕсли;

   СправочникОбъект.ДатаРегистрации = Дата(1980, 1, 1);

   Попытка

       СправочникОбъект.Записать();

   Исключение

       Сообщить(«Не удалось записать партнера НашеПредприятие» + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);

   КонецПопытки;

И то, это помогает для вновь создаваемой базы. Если предопределенный объект пришел с обновлением, то задать ему нужный гуид таким методом не получается. Может кто-то как-то исхитрился менять на нужный гуид?

   Torquader

26 — 01.09.12 — 22:20

Я чего-то не очень понимаю, зачем менять GUID у объекта ?

Ведь он используется для определения ссылок на сам объект. То есть замена GUID приведёт к созданию другого объекта, но с такими же данными внутри. То есть будет равносильно DELETE+CREATE.

Или вы и все ссылки на ваш объект хотите поменять ?

   sda553

27 — 02.09.12 — 00:01

(26) Необходимости менять гуид нет никогда. Желание его поменять возникает у тех кто ищет простой способ все исправить и не искать истинных причин инцидента.

(22) Почти то же самое, в конфиге создается второй предопределенный элемент, с первого все ссылки в базе перешиватся все на второй, первый предопределнный элемент уничтожается в конфиге. Второй переименовывается в то же имя что было у первого

   Torquader

28 — 02.09.12 — 00:31

(27) Не — один раз возникала необходимость подмены GUID из-за того, что в двух разных базах нужно было сделать один и тот же объект, когда там было уже два объекта — пришлось просто делать замену GUID во всех ссылках.

   sda553

29 — 02.09.12 — 00:46

(28) ну так то да, но сшивание двух баз это все таки не то чтобы подмена гуидов, а наполнение одной базы объектами другой и потом замена ссылок по базе.

А тут не замена одного объекта на другой, а именно смена гуида как цель

   Torquader

30 — 02.09.12 — 00:58

(29) Если в SQL, то как раз просто замена GUID-а, но так обычно не делают.

   Mikhail Volkov

31 — 03.09.12 — 09:04

(27) Будет время, попробую этот метод.

(30) Если это справочник Виды контактной информации (как в моем примере (25))большого риска нет это сделать SQL, а если это например, Управленческая организация, которая используется в документах большого периода… у кого есть опыт замены GUID-а прямо в SQL?

   ptiz

32 — 03.09.12 — 09:30

(31) Теоретически, ничего сложного: через метаданные получить таблицы, где могут быть ссылки на элемент, получить имена этих таблиц в SQL и сделать замену.

На инфостарте есть пример.

   Serg_1960

33 — 03.09.12 — 09:35

Сорри, а какой смысл работы в SQL «напрямую»? Скорость? Но это — нештатная ситуация и алгоритм — «одноразовый». Если замена GUID-ов используется в штатном режиме работы — это бред.

  

Mikhail Volkov

34 — 03.09.12 — 12:39

(33) Для предопределенных объектов штатный режим не подходит. Если только предложенный (27), но тоже далеко не штатный.

Время прочтения
4 мин

Просмотры 4.2K

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


Существует несколько вариантов решения данной проблемы:

А. Перенос удалившихся документов после обновления конфигурации в новый объект метаданных с помощью правил обмена (данный способ рекомендует использовать 1С);

Б. Использование правил настройки сравнения/объединения конфигураций. При этом можно настроить соответствие между старым и новым объектом метаданных. В пользовательской базе останется старый объект (со старым УИДом), а при сравнении/объединении он будет модифицироваться изменениями нового объекта поставщика. Но при этом объект останется со старым УИДом и на поддержку не встанет.

В. Начать использовать новый объект конфигурации поставщика, перекинув в него все данные из старого объекта путем замены УИДов. При этом конфигурацию можно поставить на поддержку, использовать автоматическое обновление, кроме того, не требуется осуществлять как таковой перенос данных. Исключается риск получить неполный перенос данных, битые ссылки и т.д. При данной методике данные вообще не изменяются.

Разберем подробно вариант «В».

  1. Для того, чтобы стало возможно перекидывание УИДов, необходимо сделать одинаковыми количество и типы реквизитов старого и нового объектов метаданных. Важно, чтобы любому из реквизитов (табличных частей и т.д.) старого документа соответствовал реквизит нового документа с точно таким же типом данных. При этом названия реквизитов значения не имеют. Для проверки был создан тестовый документ с несколькими реквизитами разных типов, в том числе ссылочных, и с табличной частью в первой, «старой» конфигурации. Было создано несколько объектов этого документа с заполненными данными. Во второй, «новой» конфигурации был создан другой документ (не скопирован, а именно заново создан), количество и типы реквизитов — одинаковые:
  2. Далее базу со старыми документами требуется сравнить/объединить с новой конфигурацией, добавить новый документ, не удаляя при этом старый. Запускаем обновление конфигурации базы данных, чтобы изменения полностью применились и не было отличий основной конфигурации и конфигурации базы данных. В итоге после объединения в базе должны появиться два вида документов: старый, с заполненными данными, и новый — пустой. При этом, повторюсь, реквизиты документов должны полностью совпадать по типам данных.
  3. Теперь выгрузим конфигурацию в XML-файлы, чтобы удобно было находить все интересующие нас УИДы:

  4. Открываем файл «старого» документа (ivi_ТестовыйДокументУКФ.xml), ищем и фиксируем УИДы его самого и всех его реквизитов и табличных частей:
    УИД документа:

    УИД реквизита:

    Табличная часть также имеет свой УИД:
  5. Далее делаем тоже самое для «нового” документа.
  6. В итоге получается два списка, для старого и нового объектов:
  7. Теперь, зная УИДы,, отправляемся в базу данных для их замены.
    https://its.1c.ru/db/metod8dev/content/1798/hdoc — статья на ИТС с подробным описанием структуры хранения данных в БД.
    Нас интересует таблица Params, в которой расположены соответствия между объектами конфигурации 1С и таблицами базы MS SQL. Данные соответствий хранятся в текстовом формате, упакованном алгоритмом Deflate:
  8. Выгружаем из таблицы Params двоичные данные файла с именем DBNames:

    Через SQL Management studio данные выгружаются в формате HEX, где каждый символ кодируется двумя шестнадцатеричными знаками, так как выгружается в текстовом виде. Для дальнейшей работы с данными их необходимо преобразовать из формата HEX в формат BIN. Подойдет любой конвертер HEX to BIN. Я использовал конвертер https://tomeko.net/online_tools/hex_to_file.php?lang=en
    В итоге получили двоичный файл, по длине совпадающий с длиной поля в БД, 955126 байт.
  9. Раскодируем полученный файл. Для раскодировки использовал обработку: https://infostart.ru/public/618906/
    Распакованный DBNames выглядит следующим образом (слева — УИД 1С, далее — префикс и номер таблицы SQL):
  10. Наша задача – заменить УИДы 1С между старым и новым документами, не затрагивая при этом имена таблиц SQL.
    На рисунке выше УИДы уже заменены.
  11. Сохраняем файл и упаковываем (Inflate) его с помощью той же обработки, что использовали для распаковки (9)
  12. С помощью SQL-запроса помещаем новый файл в DBNames:
    UPDATE [ukf_real_test].[dbo].[Params] SET [BinaryData] = (
    SELECT *
    FROM OPENROWSET(BULK N’C:DBNames-FM.dfl’, SINGLE_BLOB) tt) where [FileName] = ‘DBNames’.
    Следующим запросом устанавливаем поле с длиной двоичных данных в правильное значение, чтобы не возникло внутренней ошибки в 1С при обращении к ним:
    UPDATE [ukf_real_test].[dbo].[Params] SET [DataSize] = 954234 where [FileName] = ‘DBNames’;
  13. Откроем конфигуратор 1С. Необходимо, чтобы 1С реструктуризировал данные измененного документа. Для этого необходимо внести любое изменение в состав или значения реквизитов и сохранить, обновив конфигурацию базы данных.
  14. После реструктуризации запускаем 1С в режиме предприятия.
    Все данные из „старого“ документа перешли в „новый“:

    Состояние документов и ссылки рабочие.
    База 1С обновляется, реструктуризируется без ошибок.
    При загрузке новой конфигурации старый документ, в котором уже нет объектов, удаляется, а все документы остаются в новом.

Данная статья описывает лишь принцип работы с данными. Осуществлять вручную подмену УИДов, в особенности для объектов с большим числом реквизитов, — достаточно трудоемко и имеет смысл автоматизировать данный процесс.

Содержание

УИД или уникальный идентификатор

Описание

УИД это определенное значение, однозначно идентифицирующее объект ссылочного типа данных, другими словами, это и есть ссылка уникальная в рамках одной конкретно взятой таблицы, например у справочника номенклатура. УИД есть у любого объекта имеющего ссылочный тип данных, из синтаксис помощника следует, что УИД имеет следующий вид: «XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX», где Х — символы обозначающие шестнадцатеричное число. Прочитать какой текущий уникальный идентификатор существует у ссылки можно с помощью метода УникальныйИдентификатор() например:

КонтрагентПетров = Справочники.Контрагенты.НайтиПоНаименованию(«Петров Иван Сергеевич»);
УИД = КонтрагентПетров. УникальныйИдентификатор();

Использование своего УИД при создании объекта

Изменить УИД у существующего объекта, штатными средствами встроенного языка нельзя. Зато можно при создании нового объекта указать свой УИД. Для этого нужно сделать несколько действий:

  1. Сгенерировать значение типа УИД, используя нужную нам строку(или не используя, как вам будет удобно)

    СтрокаGUID = "a763cfbb-f94f-4c67-8e13-0e96a3a7f353";
    НовыйGUID = Новый УникальныйИдентификатор(СтрокаGUID);
    //или просто
    НовыйGUID = Новый УникальныйИдентификатор;
  2. Получить ссылку из уже существующего УИД, нужного нам типа:

    СсылкаСНовымКлиентом = Справочники.Клиенты.ПолучитьСсылку(НовыйGUID);
  3. Установить эту ссылку новому объекту

    НовыйКлиент = Справочник.Клиенты.СоздатьЭлемент();
    НовыйКлиент.УстановитьСсылкуНововго(СсылкаСНовымКлиентом);

Подсказка. Если мы создаем УИД из конкретно взятой строки, то мы можем получить УИД существующего объекта и следовательно в шаге два получить не новую ссылку, а вполне себе существующую. В таком случае при записи объекта полученного в шаге три, система сообщит о том, что не может записать объект с неуникальной ссылкой. Зато получение ссылки по строковому идентификтору, очень удобно использовать при синхронизации между разнородными системами(не 1С) или между разными базами.


Ссылки

Только авторизованные участники могут оставлять комментарии.

  1. Возникла необходимость изменить внутренний идентификатор элемента справочники. Возможно ли это сделать?


  2. wolf3d

    Offline

    wolf3d
    Опытный в 1С

    Регистрация:
    5 мар 2011
    Сообщения:
    83
    Симпатии:
    0
    Баллы:
    26

    вв=справочники.товар.получитьобъект();
    вв.код="новый мега код";
    вв.записать();

    оно?


  3. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Для чего?

    Подробней опишите что случилось, и в связи с чем вы хотите его поменять.


  4. n.s.gnedash

    Offline

    n.s.gnedash
    Опытный в 1С
    Команда форума

    Регистрация:
    15 авг 2010
    Сообщения:
    1.383
    Симпатии:
    6
    Баллы:
    29

    ты изменил Код , элемента, а имелся ввиду UUID


  5. uza

    Offline

    uza
    1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29

    Ну прямо вот так менять UUID элементов справочников или документов из под 1С нам недозволенно.
    Оно и логчично. т.к. этот UUID «торчит» ключом, связывающим одни таблицы с другими (табличные части, ссылки на справочники)
    Но если ну ооооооооочень надо надежно менять UUID (что я себе слабо представляю), то можно:
    0) Снимаем резеврную копию БД.
    1) Создаем новые элемент справочника.
    2) Ищем ссылка на исходный элемент.
    3) «Перекидываем» эти ссылки на новый элемент.
    4) Перепроверяем что не осталось ссылок на старый эл-т.
    5) Удаляем старый элемент.


  6. wolf3d

    Offline

    wolf3d
    Опытный в 1С

    Регистрация:
    5 мар 2011
    Сообщения:
    83
    Симпатии:
    0
    Баллы:
    26

    ы)
    а я всегда считал что код в справочнике и есть uuid


  7. uza

    Offline

    uza
    1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29

    Поздравляю! Осталось еще системный блок назвать процессором а монитор компьютером :) Или ой… я сейчас разбил еще одно представление о мире?

    А по дипломам то посмотришь — все как один «инженер-программист», и сотку хотят «на старте»…


  8. uza

    Offline

    uza
    1С, VBA (EXCEL), VB (.NET + WEB)

    Регистрация:
    10 июл 2007
    Сообщения:
    1.845
    Симпатии:
    1
    Баллы:
    29

    UUID но это еще не КЛЮЧ просто в 1С primary key’ем выступает поле, формирующееся UUIDными значениями.
    А вот КОД справочника — это всего-лишь реквизит. Не ключ, хотя может тоже формироваться UUID’ами.
    Ключ не может быть «задвоен» — определение, йопта. А вот код в справочнике — может. Даже если установлен контроль уникальности (могу показать как этого достигнуть… с пляской, однако). Но ведь 1С при этом не начинает пуатать Иванова И.И. с ООО Бармаглот… Потому как ключ, первичный ключ — от шаловливых ручек программистов из БД доступен только для чтения.
    А вот поменять руками прямым запросом к MS SQL, например можно. Потому как 1С при создании БД не создает диаграм, через котоыре бы и контролировались уникальности ключей на уровне СУБД. Вот однако поменять то вы поменяете, а вот как отработать ссылки на этот элемент справочника, я слабо представляю. Т.к. помимо «открытых» ссылок через реквизиты таблиц СУБД, ссылки могут еще храниться в BLOB’овых полях — структура которых обработке простым запросом «в два притопа» не поддается.

    В прочем для чего я это все объясняю? Да, КОД — ключ и UUID, а монитор = компьютер. :)


  9. wolf3d

    Offline

    wolf3d
    Опытный в 1С

    Регистрация:
    5 мар 2011
    Сообщения:
    83
    Симпатии:
    0
    Баллы:
    26

    дружищще, что ж ты такой агрессивный то?)
    думаю что про базы данных я знаю немного поболее тебя ибо писал их еще на асме в далеком 91 году), когда ни фокса и даже клиппера несуществовало(правда уже непомню кто из них первый вышел))))
    применительно к 1с-ке — никогда не заморачивался кодами — потому как нафиг не нужно для тех задач которые я решаю
    как сказал один мой товарищ — идеальных защит нет
    отличная защита, это такая защита, которую проще купить, чем сломать

    а по топику — 90% топикстартеров немогут внятно правильно описать проблему — поэтому был дан самый простой вариант ответа — и заметь я не написал что это именно тот ответ который нужен, а показал пример и задал вопрос — ОНО?
    и еще заметь — от топик стартера кроме первого больше нет вопросов)))

    зы. у меня нет диплома, но меня тоже бесят когда моник компом зовут и тд.

Похожие темы

  1. Alexander_Roschansky
    Ответов:
    3
    Просмотров:
    1.332


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

При использовании распределенных БД часто возникает проблема «Задвоения» элементов или наоборот, «Объект не найден».

Данная обработка позволит вам установить произвольный 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 не поменяется после этого, помечаем к удалению первый элемент за ненадобностью.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить внутренний диаметр штангенциркулем
  • Как изменить внутренний айпи
  • Как изменить внутренний ip адрес компьютера
  • Как изменить внутренние установки подсознания
  • Как изменить внутреннее состояние приемы психологии

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии