8.3.8.1747. При создании документа предыдущим годом все нормально, документ создается, присваивается номер, если уже созданный документ изменять на предыдущий год, то номер не обновляется, а пытается записать с текущим номером в прошлый год, а в прошлом году естественно с таким номером уже есть документ. Есть несколько идентичных документов. В одном перенос в прошлый год работает корректно, номер обновляется, а в другом не обновляется. После ОбновитьНумерациюОбъектов() ситуация не поменялась. В чем может быть причина?
---
смотрите подписка на событие ПередЗаписью. Скорее всего в одной из подписок для второго документа идет проверка номера по дате. А первый туда не включен.
Или создать самому подписку ПередЗаписью.
---
сеансы заверши! Потом повтори. Скорее всего дело в том что кто-то не закрыл документ.
---
На тестовой базе тоже самое, где только один пользователь - я. Нумерация автоматическая, происходит в момент записи документа.
---
на другом релизе есть возможность посмотреть?
---
нет
---
Что за "идентичные документы"? Это документы этого же вида?
---
во всех планах

но в каждом плане свое название

что тут непонятного?
---
Что значит этого же вида? Создали один документ, потом нажали скопировать и назвали его копия документа. Они одинаковые во всех смыслах, данные, свойства...
---
Где нажали скопировать? В конфигураторе? И скопировали со всеми процедурами контроля уникальности номера? То есть, в документе "Документ" номер ищется по всем документам вида "документ" и в документе "копия документа" номер тоже ищется по всем документам вида "документ"?
---
смотрите подписка на событие ПередЗаписью. Скорее всего в одной из подписок для второго документа идет проверка номера по дате. А первый туда не включен.
Или создать самому подписку ПередЗаписью.
---
Да, суть оказалась в подписке. После включения документа в подписку, нумерация стала обновляться. Благодарю!
---
Если есть возможность откорректировать номер вручную, можно присвоить какой-нибудь к99999, заведомо больший, чем последний номер в году.
---
При ручном исправлении номера все норм, но когда следующий документ пытаюсь на предыдущий год перебросить, тоже самое, номер не обновляется, а пытается записать с текущим номером документ. Каждый раз пользователь не будет искать последний номер в году и присваивать номер вручную. Нужно как-то починить данную проблему.
---
вы полагаете, что это кто-то здесь сделает?
---
я полагаю, что кто-то подскажет, в чем может быть причина. За этим собственно люди на этот форум и приходят.
---
Формат номера не меняли? Например, на такой: АБВ00001/01 или АБВ00001-01 и тп?
---
В какой конфигурации вы работаете?
---
Самописная конфа, управляемый формы. Есть два одинаковых во всех планах документов, только в разными названиями, в одном перенос работает нормально, а вот в другом нет. Стоит автонумерация, контроль уникальности в пределах года, длина номер 9, строкового типа, номера содержать только цифры.
---
В старой УТ есть функция для установки номера.
Попробуйте написать что-нибудь похожее, с автонумерацией в пределах года, в котором записывается документ

```1c
    // формирует номер документа с учетом префиксов с указанной значащей частью
    Функция УстановитьНомерСФсУчетомПрефикса(НомерСФ, Префикс,ДлинаНомераДок)

    ЧистыйНомер = СокрЛП(НомерСФ);
    НовыйНомер = Префикс;

    Если СтрДлина(ЧистыйНомер) + СтрДлина(НовыйНомер) > ДлинаНомераДок Тогда
    Возврат ЧистыйНомер;
    КонецЕсли;

    Пока СтрДлина(ЧистыйНомер) + СтрДлина(НовыйНомер) < ДлинаНомераДок Цикл
    НовыйНомер = НовыйНомер + "0";
    КонецЦикла;

    Возврат НовыйНомер+ЧистыйНомер;

    КонецФункции
```
---
Кусок кода из отраслевой УТ 10

```1c
    Процедура ДатаПриИзменении(Элемент)

    ПроверитьНомерДокумента(ЭтотОбъект, мТекущаяДатаДокумента);

    //...

    КонецПроцедуры // ДатаПриИзменении()

    Процедура ПроверитьНомерДокумента(ДокументОбъект, НачальнаяДатаДокумента) Экспорт //
    // Определяем назначенную для данного вида документов периодичность смены номера
    ПериодСменыНомера = ДокументОбъект.Метаданные().ПериодичностьНомера;

    //В зависимости от установленной периодичности смены номеров,
    //определяем разность старой и новой датами документа.
    Если ПериодСменыНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Год Тогда
    РазностьДат = НачалоГода(НачальнаяДатаДокумента) - НачалоГода(ДокументОбъект.Дата);

    ИначеЕсли ПериодСменыНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Квартал Тогда
    РазностьДат = НачалоКвартала(НачальнаяДатаДокумента) - НачалоКвартала(ДокументОбъект.Дата);

    ИначеЕсли ПериодСменыНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Месяц Тогда
    РазностьДат = НачалоМесяца(НачальнаяДатаДокумента) - НачалоМесяца(ДокументОбъект.Дата);

    ИначеЕсли ПериодСменыНомера = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.День Тогда
    РазностьДат = НачальнаяДатаДокумента - ДокументОбъект.Дата;

    Иначе
    Возврат;

    КонецЕсли;

    Если РазностьДат <> 0 Тогда
    УстановитьНомерДокумента(ДокументОбъект);
    КонецЕсли;

    КонецПроцедуры // ПроверитьНомерДокумента()

    // Процедура устанавливает номер документа.
    //
    // Параметры:
    // ДокументОбъект - ДокументОбъект. Экземпляр документа, которому
    // необходимо присвоить новый номер
    //
    Процедура УстановитьНомерДокумента(ДокументОбъект) Экспорт

    // Если нет реквизита "Организация" или для нее не задан префикс, то
    // используем пустой префикс,
    // иначе используем префикс организации.
    МетаданныеДокумента = ДокументОбъект.Метаданные();

    Если Не ЕстьРеквизитДокумента("Организация", МетаданныеДокумента)
    ИЛИ ЗначениеНеЗаполнено(ДокументОбъект.Организация.Префикс) Тогда

    ДокументОбъект.УстановитьНовыйНомер("00");

    Иначе

    ДокументОбъект.УстановитьНовыйНомер(ДокументОбъект.Организация.Префикс);

    КонецЕсли;

    КонецПроцедуры // УстановитьНомерДокумента()
```