8.х Контроль уникальности реквизита справочника

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

  1. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Добрый день. Имеется самописный конфиг на платформе 8.2, возможно ли настроить проверку уникальности реквизита справочника какими-нибудь встроенным способом или данная проверка осуществляется только для номера?
    Вопрос №2: Насколько правильно будет писать запрос ко всем элементам справочника (не более 10 000 объектов) перед записью, с целью проверки уникальности данного реквизита, или лучше завести регистр сведений?
  2. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Во первых что это за потребность такая? Что там уникального нужно хранить?

    Скорость чтения данных из таблиц не сильно зависит от того справочник или регистр сведений.
    Euronymous нравится это.
  3. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Ну разве что виртуальная таблица :)

    Делайте свою проверку перед записью. Ничего страшного в этом нет. Только сильно не переусердствуйте. :)
    Euronymous нравится это.
  4. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Виртуальная да... но для РС это срезы... тут вроде как про контроль уникальности речь... срезы мало чем помогут.
    Euronymous нравится это.
  5. rifat
    Offline

    rifat Опытный в 1С

    Регистрация:
    13 июн 2013
    Сообщения:
    99
    Симпатии:
    2
    Баллы:
    29
    Можно включить индексирование того реквизита справочника, по которому проверяете уникальность, если конечно это целесообразно.
    Euronymous нравится это.
  6. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    И зачем индексировать то что индексировать в принципе не нужно?
    Euronymous нравится это.
  7. rifat
    Offline

    rifat Опытный в 1С

    Регистрация:
    13 июн 2013
    Сообщения:
    99
    Симпатии:
    2
    Баллы:
    29
    Если будет производиться поиск по справочнику по этому реквизиту, разве не ускорит поиск? Если ошибаюсь поправьте.
    Euronymous нравится это.
  8. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Может и будет производится поиск быстрее. Но прежде чем включить индексирование нужно без включенного режима посмотреть. Может скорость работы будет приемлемой и дополнительно ничего индексировать не нужно.
    Euronymous нравится это.
  9. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Это только усугубит ситуацию. Для создания индекса система выделяет определенные ресурсы. У справочника нет так много комбинаций полей таблицы как скажем у регистра с 10 измерениями. Так что индекс вообще здесь не нужен.
    Euronymous нравится это.
  10. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    А ещё нужно и тип реквизита знать. А то если там строка неограниченной длинны например... то индексы раздует так что потом база будет вешать неприлично много.
    Как пример у меня есть база. Из за кривой структуры индексировались поля неограниченной длинны. Размер базы был более 70 Гб.
    Хотя там реальных данных на 1.5 Гб.
    Euronymous нравится это.
  11. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    Всем спасибо, проверять на уникальность нужно строку 13-14 символов, буду делать через запрос к справочнику перед записью.
    Элементов в справочнике будет не более 10 000, а в 99% случаев даже не более 1000, думаю можно будет справиться и без индексов.
  12. TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    А что на уникальность то проверяешь?
    Euronymous нравится это.
  13. TopicStarter Overlay
    Euronymous
    Offline

    Euronymous Опытный в 1С

    Регистрация:
    19 фев 2014
    Сообщения:
    206
    Симпатии:
    0
    Баллы:
    26
    строку 13-14 символов, штрих-код товара
  14. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Обычно ШК создается на основе кода элемента справочника(который уникален)...
  15. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Штрихкоды хранить только в регистре сведений. Посмотрите этот механизм в любой типовой со складом. УТ например. Там прекрасно этот механизм реализован.
    Euronymous нравится это.
  16. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    не разумно, это в 7.7 его можно было ещё в реквизите справочника товара хранить
    а сейчас, как уже сказали, это удобнее в РС

    а ещё бывают ситуации когда на одну позицию одновременно есть более одного ШК

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