8.х Номер не уникален

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем XXL, 16 сен 2014.

  1. LordMaverick
    Offline

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

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    такой механизм в 7-ке был
    первый оператор создал документ - ему присвоен номер согласно логике (нумераторам) и настройкам, док не записываем, номер пусть будет "Х-010"
    тут же следом второй оператор создаёт другой документ данного типа его номер больше на "1", док не записываем, номер пусть будет "Х-011"
    первый оператор отменяет документ не сохраняя его
    второй оператор, записывает документ, его номер остаётся "Х-011"
    а номер "Х-010" в базе отсутствует как факт в результате
  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Именно это я и имел в виду. :) Платформа меня с каждым днем все больше и больше расстраивает.
  3. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    В какой восьмёрке? Насколько я знаю, только в УФ номер присваивается при записи.

    А если имеющийся велосипед с квадратными колёсами?
    --- Объединение сообщений, 23 сен 2014 ---
    Надо в семёрке поглядеть, как там было сделано...
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Дык спрямите до круглой формы :)
    Отключите вообще все вмешательства в процесс присвоения номера документу, существующие на данный момент.
    Включите автоматическое освобождение кодов/номеров.
    Если нужно присваивать префикс/суффикс, сделайте это собственным кодом - это позволит вам контролировать процесс формирования номера/кода.
  5. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    Вмешательства в процесс присваивания кода нет.
    Режим автоматического освобождения кодов/номеров включён.
    Не вижу смысла собственным кодом присваивать префикс.
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Хорошо. В таком случае берем ту же типовую БУХ и перетаскиваем механизм нумерации из нее :)
  7. LordMaverick
    Offline

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

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    платформе 1С 8.х
    УФ как раз в 8.2+, в 7.7 их ведь не было :)

    в платформе, деббагить будете?
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    В общем: выключите использование автонумерации в настройках формы документа (в свойствах документа автонумерация ВКЛЮЧЕНА ВСЕГДА) и будет щастье :)
  9. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    в 8.1 тоже нет УФ.
    Нет, деббагить не буду.
    --- Объединение сообщений, 23 сен 2014 ---
    Каким образом тогда будет щасте?
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Щастье будет в том, что номера будут присваиваться не при открытии формы нового документа, а только при записи нового объекта в БД.
  11. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    т.е. в любом случае писать свою процедуру присваивания номера, только вставлять её при записи.
  12. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Исходя из ваших требований:

    программирование не нужно вообще. Система сама контролирует и формирует номер при записи объекта.
    --- Объединение сообщений, 23 сен 2014 ---
    1. Сделайте пустую БД.
    2. В конфигураторе добавьте 1 документ с включенной автонумерацией.
    3. добавьте форму документа и выключите в свойствах формы использование автонумерации.
    4. проведите тест и вы поймете о чем я веду речь.
  13. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    Сделала на копии текущей базы, результат:
    - номер присваивается при создании документа;
    - первый документ создался нормально, второй с таким же номером, сохранить не даёт, "Номер не уникальный".
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    если все правильно - номер при создании документа пустой должен быть и появится он только после записи документа.

    Вложения:

    • 1Cv8_test.dt
      Размер файла:
      10,3 КБ
      Просмотров:
      2
  15. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    Посмотрела - во-первых, платформа 8.3
    Во-вторых - нумерация ведёт себя не так, как вы описали - если стоит Автонумерация, то номер присваивается при записи, если не стоит Автонумерация, то номер не присваивается вообще.
  16. LordMaverick
    Offline

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

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    не обманывайте :) под созданием подразумевается именно создание документа, а не создание и его запись
    поднял вот конфу, пытался 3 назад ваять в УФ для себя
    нумерация идёт средствами платформы
    так вот, номер документу присваивается только при первой записи после его создания, ведь созданный документ можно просто закрыть не сохраняя и его просто не станет совсем нигде
    --- Объединение сообщений, 23 сен 2014 ---
    в 8.2 было аналогично

    дык если нет "авто", то никаких действий и нет :)
    не авто по идее как раз и механизм разработчика
  17. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    8.2, обычные формы, номер присваивается при создании.

    Это Рарус, у них там видимо всё через ... создание.
  18. LordMaverick
    Offline

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

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    а вот если задействовать в конфигурации "Нумераторы", то в них есть флаг контроля уникальности номеров
    --- Объединение сообщений, 23 сен 2014 ---
    Рарус это Рарус, он пускай со своим кодом идёт лесом
    --- Объединение сообщений, 23 сен 2014 ---
    upload_2014-9-23_16-2-27.png
  19. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Вот вам самый дубовый вариант.

    Все работает как надо.
    --- Объединение сообщений, 23 сен 2014 ---
    да не нужны там нумераторы вообще, все без нумераторов работает

    Вложения:

    • 1Cv8_test.dt
      Размер файла:
      10,1 КБ
      Просмотров:
      1
  20. TopicStarter Overlay
    XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    В документе тоже есть контроль уникальности, и он контролирует, но уже после создания номера.

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