ДокументОбъект.<Имя документа>.УстановитьНовыйНомер

Методы · SetNewNumber

Устанавливает новый номер документа для заданного префикса номера.

Синтаксис

УстановитьНовыйНомер(<ПрефиксНомера>)

Примеры платформы

РасходнаяНакладная.УстановитьНовыйНомер(ПрефиксИБ);
Полное описание, параметры и ограничения

ДокументОбъект.<Имя документа>.УстановитьНовыйНомер (DocumentObject.<Document name>.SetNewNumber)

ДокументОбъект.<Имя документа> (DocumentObject.<Document name>)

УстановитьНовыйНомер (SetNewNumber)

Доступен, начиная с версии 8.0.

Синтаксис:
УстановитьНовыйНомер(<ПрефиксНомера>)
Параметры:

<ПрефиксНомера> (необязательный)
Тип: Строка.
Префикс устанавливаемого номера.
Значение по умолчанию: Пустая строка.
Описание:

Устанавливает новый номер документа для заданного префикса номера.

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

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
Для документов с нумерацией в пределах периода, номер устанавливается в пределах периода, соответствующего установленной дате документа. Если дата - пустая, процедура установит номер в пределах периода соответствующего пустой дате.
Пример:

РасходнаяНакладная.УстановитьНовыйНомер(ПрефиксИБ);

См. также:
ДокументОбъект.<Имя документа>, событие ПриУстановкеНовогоНомера

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Удалить только свою только что созданную заявку в отменяемом опыте

Удалить действует немедленно и не проверяет ссылочную целостность. Единственная цель — новый собственный документ из этой же транзакции; чужие документы не выбираются.

Где и как запускать

Полный серверный модуль новой собственной Учебная85, точная 8.5.1.1343. Непроводимая заявка; временные собственные записи только с отменой транзакции. Код здесь не запускался.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.

  6. Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.

  7. Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.

  8. У своего документа и товара модули пустые, подписок, расширений и внешних обработчиков нет. История данных выключена; проведение УчебнаяЗаявка запрещено, движения/регистры не создаются.

  9. Номер заявки здесь строковый длиной 9, с автонумерацией. Для иной числовой нумерации нельзя копировать проверки Строка. Дата задаётся собственным литералом, не читается из рабочего документа.

  10. Свойства ссылки readonly. Непустой UUID/ссылка не означает наличие записи, а ВерсияДанных — непрозрачная строка, не номер документа или версия конфигурации.

  11. Примеры здесь не запускались в 1С. Только код и установленная справка 8.5.1.1343; ваши документы не создавались, не проводились и не удалялись.

  12. Создайте серверный общий модуль УчебныеСсылкиДокументов и вставьте весь модуль одного урока. ВыполнитьПример() Экспорт вызывайте из своей процедуры формы с &НаСервереБезКонтекста; обновите конфигурацию БД.

  13. Для этого блока корень Учебная85, единственный справочник УчебныеТовары, единственный непроводимый документ УчебнаяЗаявка; регистров нет. Модули объекта/менеджера и подписки пустые, история выключена, расширений, обменов и фоновых заданий нет.

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

  15. Уроки с записью/пометкой/удалением сами создают новый товар и новую заявку внутри своей транзакции, отслеживают только их ссылки и отменяют всё при успехе/ошибке. Фиксации нет; не вызывайте их внутри чужой транзакции.

  16. Уроки черновика/времени/макета вообще не записывают документы. Все помощники и подготовленные данные предоставлены в полном модуле, внешняя библиотека не нужна.

  17. Прямое Удалить не проверяет ссылочную целостность; откат учебной транзакции не делает этот метод безопасным для рабочего документа. Допустима только своя новая пустая база без внешних обработчиков. Здесь 1С не запускалась.

Процедура ВыполнитьПример() Экспорт
    
    Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
        ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
    КонецЕсли;
    Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
        ВызватьИсключение "Сначала подготовьте собственную УчебнаяЗаявка";
    КонецЕсли;
    Если Метаданные.Справочники.Количество() <> 1
        Или Метаданные.Документы.Количество() <> 1
        Или Метаданные.РегистрыНакопления.Количество() <> 0
        Или Метаданные.РегистрыСведений.Количество() <> 0
        Или Метаданные.РегистрыБухгалтерии.Количество() <> 0 Тогда
        ВызватьИсключение "Нужны только собственные товар и непроводимая заявка, без регистров";
    КонецЕсли;
    Если ТранзакцияАктивна() Тогда
        ВызватьИсключение "Не запускайте урок внутри чужой транзакции";
    КонецЕсли;
    СозданныеСсылки = Новый Массив;
    НачатьТранзакцию();
    Попытка
        Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
        Товар.Наименование = "Собственная книга заявки";
        Товар.Артикул = "DOC-OWN-01";
        Товар.Цена = 250;
        Товар.УстановитьНовыйКод("У");
        Товар.Записать();
        СозданныеСсылки.Добавить(Товар.Ссылка);
        Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
        Заявка.Дата = Дата(2026, 10, 6, 12, 0, 0);
        Заявка.Комментарий = "Собственный источник копии";
        Первая = Заявка.Товары.Добавить();
        Первая.Товар = Товар.Ссылка;
        Первая.Количество = 3;
        Первая.Цена = 250;
        Вторая = Заявка.Товары.Добавить();
        Вторая.Товар = Товар.Ссылка;
        Вторая.Количество = 1;
        Вторая.Цена = 50;
        Заявка.УстановитьНовыйНомер("У");
        Заявка.Записать(РежимЗаписиДокумента.Запись);
        СозданныеСсылки.Добавить(Заявка.Ссылка);
        Читаемая = Заявка.Ссылка;
        Объект = Читаемая.ПолучитьОбъект();
        Если Объект = Неопределено Или Объект.Ссылка <> СозданныеСсылки.Получить(1) Тогда
            ВызватьИсключение "Удалять допустимо только новую собственную заявку этого запуска";
        КонецЕсли;
        Если Объект.Проведен Или Объект.Комментарий <> "Собственный источник копии" Тогда
            ВызватьИсключение "Собственная запись не совпала с подготовленным непроведённым образцом";
        КонецЕсли;
        СсылкаУдаляемой = Объект.Ссылка;
        СсылкаТовара = СозданныеСсылки.Получить(0);
        Объект.Удалить();
        Сообщить(СсылкаУдаляемой.ПолучитьОбъект() = Неопределено);
        ОставшийсяТовар = СсылкаТовара.ПолучитьОбъект();
        Если ОставшийсяТовар = Неопределено Тогда
            ВызватьИсключение "Удаление заявки не должно удалять собственный товар";
        КонецЕсли;
        Сообщить(ОставшийсяТовар.Артикул = "DOC-OWN-01");
        Сообщить("Свою новую заявку удалили сразу; отмена всей учебной транзакции завершит опыт без записей");
        ОтменитьТранзакцию();
    Исключение
        Если ТранзакцияАктивна() Тогда
            ОтменитьТранзакцию();
        КонецЕсли;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Не ТранзакцияАктивна());
    Для Каждого СозданнаяСсылка Из СозданныеСсылки Цикл
        Сообщить(СозданнаяСсылка.ПолучитьОбъект() = Неопределено);
    КонецЦикла;
КонецПроцедуры

Разбор по шагам

  1. Использовать только новую пустую подготовленную базу; не переносить этот урок на рабочие документы.

  2. Создать свой товар/заявку в своей транзакции и отслеживать обе новые ссылки.

  3. До удаления сверить объект со второй новой ссылкой, собственным комментарием и непроведённостью.

  4. Сохранить ссылки в переменные, вызвать Удалить только на собственном объекте. После удаления этот объект не читать как действующую запись.

  5. Через сохранённую ссылку проверить отсутствие заявки, через другую — существование своего товара: удаление не является каскадным удалением товара.

  6. Отменить весь опыт, включая создание товара; не фиксировать ни одну операцию.

Как проверить результат

  1. После Удалить своя ссылка возвращает Неопределено.

  2. Свой товар всё ещё существует и имеет DOC-OWN-01 до общего отката.

  3. Нет выборки чужих документов, удаления по номеру/названию и обхода списка рабочей базы.

  4. После отмены опыта товар и заявка отсутствуют; это не способ восстановить ранее существовавший рабочий документ.

Ожидаемый результат

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

На что обратить внимание

  1. Непустая ссылка не доказывает существование записи; плановую ссылку не читать как сохранённый документ.

  2. Модифицированность относится к локальным изменениям объекта после чтения, не к изменениям другими пользователями. ВерсияДанных — непрозрачная readonly-строка.

  3. Заблокирован относится к блокировке именно этим объектом языка; это не общий индикатор всех блокировок записи. Собственную явную блокировку освобождайте отдельно, не рассчитывайте только на откат.

  4. Пометка не удаляет запись, а прямое Удалить удаляет сразу без проверки ссылок. Если документ проведён, установка пометки отменяет проведение; модифицированный объект перед пометкой вызывает ошибку.

  5. Статические проверки по справке и тексты контрольных условий не являются выполнением BSL в 1С.

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

Изменить заявку в памяти и повторным чтением отменить несохранённые правки

Повторное Прочитать разрешено только для существующего объекта. Оно возвращает собственные сохранённые данные, а Модифицированность не сообщает о работе других пользователей.

Где и как запускать

Полный серверный модуль новой собственной Учебная85, точная 8.5.1.1343. Непроводимая заявка; временные собственные записи только с отменой транзакции. Код здесь не запускался.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.

  6. Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.

  7. Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.

  8. У своего документа и товара модули пустые, подписок, расширений и внешних обработчиков нет. История данных выключена; проведение УчебнаяЗаявка запрещено, движения/регистры не создаются.

  9. Номер заявки здесь строковый длиной 9, с автонумерацией. Для иной числовой нумерации нельзя копировать проверки Строка. Дата задаётся собственным литералом, не читается из рабочего документа.

  10. Свойства ссылки readonly. Непустой UUID/ссылка не означает наличие записи, а ВерсияДанных — непрозрачная строка, не номер документа или версия конфигурации.

  11. Примеры здесь не запускались в 1С. Только код и установленная справка 8.5.1.1343; ваши документы не создавались, не проводились и не удалялись.

  12. Создайте серверный общий модуль УчебныеСсылкиДокументов и вставьте весь модуль одного урока. ВыполнитьПример() Экспорт вызывайте из своей процедуры формы с &НаСервереБезКонтекста; обновите конфигурацию БД.

  13. Для этого блока корень Учебная85, единственный справочник УчебныеТовары, единственный непроводимый документ УчебнаяЗаявка; регистров нет. Модули объекта/менеджера и подписки пустые, история выключена, расширений, обменов и фоновых заданий нет.

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

  15. Уроки с записью/пометкой/удалением сами создают новый товар и новую заявку внутри своей транзакции, отслеживают только их ссылки и отменяют всё при успехе/ошибке. Фиксации нет; не вызывайте их внутри чужой транзакции.

  16. Уроки черновика/времени/макета вообще не записывают документы. Все помощники и подготовленные данные предоставлены в полном модуле, внешняя библиотека не нужна.

  17. Прямое Удалить не проверяет ссылочную целостность; откат учебной транзакции не делает этот метод безопасным для рабочего документа. Допустима только своя новая пустая база без внешних обработчиков. Здесь 1С не запускалась.

Процедура ВыполнитьПример() Экспорт
    
    Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
        ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
    КонецЕсли;
    Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
        ВызватьИсключение "Сначала подготовьте собственную УчебнаяЗаявка";
    КонецЕсли;
    Если Метаданные.Справочники.Количество() <> 1
        Или Метаданные.Документы.Количество() <> 1
        Или Метаданные.РегистрыНакопления.Количество() <> 0
        Или Метаданные.РегистрыСведений.Количество() <> 0
        Или Метаданные.РегистрыБухгалтерии.Количество() <> 0 Тогда
        ВызватьИсключение "Нужны только собственные товар и непроводимая заявка, без регистров";
    КонецЕсли;
    Если ТранзакцияАктивна() Тогда
        ВызватьИсключение "Не запускайте урок внутри чужой транзакции";
    КонецЕсли;
    СозданныеСсылки = Новый Массив;
    НачатьТранзакцию();
    Попытка
        Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
        Товар.Наименование = "Собственная книга заявки";
        Товар.Артикул = "DOC-OWN-01";
        Товар.Цена = 250;
        Товар.УстановитьНовыйКод("У");
        Товар.Записать();
        СозданныеСсылки.Добавить(Товар.Ссылка);
        Заявка = Документы.УчебнаяЗаявка.СоздатьДокумент();
        Заявка.Дата = Дата(2026, 10, 6, 12, 0, 0);
        Заявка.Комментарий = "Собственный источник копии";
        Первая = Заявка.Товары.Добавить();
        Первая.Товар = Товар.Ссылка;
        Первая.Количество = 3;
        Первая.Цена = 250;
        Вторая = Заявка.Товары.Добавить();
        Вторая.Товар = Товар.Ссылка;
        Вторая.Количество = 1;
        Вторая.Цена = 50;
        Заявка.УстановитьНовыйНомер("У");
        Заявка.Записать(РежимЗаписиДокумента.Запись);
        СозданныеСсылки.Добавить(Заявка.Ссылка);
        Читаемая = Заявка.Ссылка;
        Объект = Читаемая.ПолучитьОбъект();
        Если Объект = Неопределено Или Объект.ЭтоНовый() Тогда
            ВызватьИсключение "Собственная запись не получена для повторного чтения";
        КонецЕсли;
        Сообщить(Не Объект.Модифицированность());
        ВерсияДо = Объект.ВерсияДанных;
        Сообщить(ТипЗнч(ВерсияДо) = Тип("Строка"));
        Объект.Комментарий = "Несохранённое изменение только в памяти";
        Объект.Товары.Получить(0).Количество = 9;
        Сообщить(Объект.Модифицированность());
        ИзБазы = Читаемая.ПолучитьОбъект();
        Если ИзБазы = Неопределено Тогда
            ВызватьИсключение "Нельзя проверить собственный сохранённый источник";
        КонецЕсли;
        Сообщить(ИзБазы.Комментарий = "Собственный источник копии");
        Сообщить(ИзБазы.Товары.Получить(0).Количество = 3);
        Объект.Прочитать();
        Сообщить(Объект.Комментарий = "Собственный источник копии");
        Сообщить(Объект.Товары.Количество() = 2);
        Сообщить(Объект.Товары.Получить(0).Количество = 3);
        Сообщить(Объект.Товары.Получить(1).Количество = 1);
        Сообщить(Не Объект.Модифицированность());
        Сообщить(ТипЗнч(Объект.ВерсияДанных) = Тип("Строка"));
        Сообщить("Локальные несохранённые изменения заменены собственными сохранёнными данными");
        ОтменитьТранзакцию();
    Исключение
        Если ТранзакцияАктивна() Тогда
            ОтменитьТранзакцию();
        КонецЕсли;
        ВызватьИсключение;
    КонецПопытки;
    Сообщить(Не ТранзакцияАктивна());
    Для Каждого СозданнаяСсылка Из СозданныеСсылки Цикл
        Сообщить(СозданнаяСсылка.ПолучитьОбъект() = Неопределено);
    КонецЦикла;
КонецПроцедуры

Разбор по шагам

  1. Создать и записать только собственный товар и заявку внутри отменяемой транзакции.

  2. Получить объект по своей ссылке, исключить новый/отсутствующий объект.

  3. Прочитать непрозрачную строку ВерсияДанных, не декодировать её и не присваивать.

  4. Изменить комментарий и количество первой строки только в памяти; Модифицированность становится Истина.

  5. Новый объект по той же ссылке содержит сохранённые комментарий и количество 3, не локальные 9.

  6. Прочитать заново заменяет локальные изменения: две строки снова имеют количества 3 и 1, модифицированность Ложь.

  7. Отменить создание обоих собственных исходников; никаких реальных чужих изменений этим опытом не проверялось.

Как проверить результат

  1. Проверки локального изменения и сохранённого источника Истина.

  2. После повторного чтения исходный комментарий, две строки, количества 3/1 и немодифицированность подтверждены.

  3. ВерсияДанных проверена только на Строка, не на заданный номер или изменение значения.

  4. После отката обе собственные ссылки не имеют записей.

Ожидаемый результат

Разобрано различие локального состояния, сохранённых данных и повторного чтения без сохранения исправленного черновика.

На что обратить внимание

  1. Непустая ссылка не доказывает существование записи; плановую ссылку не читать как сохранённый документ.

  2. Модифицированность относится к локальным изменениям объекта после чтения, не к изменениям другими пользователями. ВерсияДанных — непрозрачная readonly-строка.

  3. Заблокирован относится к блокировке именно этим объектом языка; это не общий индикатор всех блокировок записи. Собственную явную блокировку освобождайте отдельно, не рассчитывайте только на откат.

  4. Пометка не удаляет запись, а прямое Удалить удаляет сразу без проверки ссылок. Если документ проведён, установка пометки отменяет проведение; модифицированный объект перед пометкой вызывает ошибку.

  5. Статические проверки по справке и тексты контрольных условий не являются выполнением BSL в 1С.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.