8.х как заменить идентификатор элемента справочника?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Marta, 12 окт 2012.

  1. TopicStarter Overlay
    Marta
    Offline

    Marta

    Регистрация:
    29 фев 2012
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Возникла необходимость изменить внутренний идентификатор элемента справочники. Возможно ли это сделать?
  2. wolf3d
    Offline

    wolf3d Опытный в 1С

    Регистрация:
    5 мар 2011
    Сообщения:
    83
    Симпатии:
    0
    Баллы:
    26
    Код:
    вв=справочники.товар.получитьобъект();
    вв.код="новый мега код";
    вв.записать();
    оно?
  3. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Для чего?

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

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

    Регистрация:
    15 авг 2010
    Сообщения:
    1.359
    Симпатии:
    5
    Баллы:
    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% топикстартеров немогут внятно правильно описать проблему - поэтому был дан самый простой вариант ответа - и заметь я не написал что это именно тот ответ который нужен, а показал пример и задал вопрос - ОНО?
    и еще заметь - от топик стартера кроме первого больше нет вопросов)))

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

Поделиться этой страницей