Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут! (в рабочие часы)

Как исправить нумерацию документов в 1С 8.3

Что делать, если в 1С 8.3 или 8.2 сбилась нумерация документов? В «1С Бухгалтерии предприятия 3.0» есть штатное средство для данной операции. Это функция «Экспресс-проверка ведения учета».

Но, к сожалению, она делает проверку на правильность нумерации только по кассовым документам (ПКО и РКО) и по счетам-фактурам.

В этой статье я хочу:

  • рассмотреть встроенные средства;
  • поэтапно создать простенькую обработку для перенумерации других документов.

Перед любыми действиями в базе данных обязательно сделайте резервную копию.

Перенумерация с помощью Экспресс-проверки ведения учета

Данная обработка для перенумерации документов 1С  находится в разделе «Отчеты». Далее ищем раздел «Анализ учета» и переходим в «Экспресс – проверка«. Появится следующее окно:

экспресс проверка 1

Устанавливаем нужный период и нажимаем кнопку «Выполнить проверку».

В случае, если в каком-то разделе учета будут обнаружены ошибки, это будет подсвечено красным.

В своей тестовой конфигурации я специально создал несколько ошибочных ситуаций для наглядности:

Получите понятные самоучители по 1С бесплатно:

автоматическая перенумерация документов

Как видим, у нас нарушена нумерация документов. И как написано, программа 1С 8.3 предлагает автоматически это исправить. Жмем на выделенную ссылку:

перенумерация счетов-фактур

И прекрасно видим, что нумерация действительно нарушена и программа предлагает у последней счет-фактуры заменить номер четыре на номер три.

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

Замечу! Перенумерация проведенных документов требует перепроведение этих документов. Поэтому процесс может занять длительное время. Кроме того, при перенумерации учитываются префиксы. Уточните, не менялись ли они.

Нажмем «Продолжить», и начнется процесс перенумерации.

Для программистов: создание обработки 1С для перенумерации других документов

Для наших опытов выберем мой любимый документ «Реализация (акты, накладные)«.

Создадим новую внешнюю обработку и добавим на форму следующие реквизиты:

  • ДатаНачала.
  • ДатаОкончания.
  • НачальныйНомер.
  • Организация.

Реквизит «Организация» следует добавлять только в случае, если учет ведется по нескольким организациям в одной информационной базе. В ином случае достаточно добавить реквизит «Префикс». Запрос в этом случае будет немного попроще. Вот, что у меня получилось:

Перенумерация документов в 1с 8.3

Итак, создаем команду на клиенте. Так как запросы выполняются на сервере, в этой команде будет только вызов серверной процедуры, например, «ВыполнитьНаСервере()».

Далее переходим к этой процедуре. Сразу же создадим запрос:

Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	РеализацияТоваровУслуг.Ссылка,
		|	РеализацияТоваровУслуг.Организация.Префикс
		|ИЗ
		|	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
		|ГДЕ
		|	РеализацияТоваровУслуг.Организация.Ссылка = &Организация
		|	И РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";
	Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ЭтаФорма.ДатаНачала));
	Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ЭтаФорма.ДатаОкончания));
	Запрос.УстановитьПараметр("Организация", ЭтаФорма.Организация);
	РезЗапроса = Запрос.Выполнить();
	ВыборкаДетЗаписи = РезЗапроса.Выбрать();

Теперь в цикле пробежимся по результату выборки и перенумеруем документы:

НачНомер = ЭтаФорма.НачальныйНомер;
	Пока ВыборкаДетЗаписи.Следующий() Цикл
		Префикс = ВыборкаДетЗаписи.ОрганизацияПрефикс;
		ДокОбъект = ВыборкаДетЗаписи.Ссылка.ПолучитьОбъект();
	ДокОбъект.Номер = Префикс + Прав("000000000000000000" + НачНомер, 11 - СтрДлина(Префикс));
		НачНомер = НачНомер + 1;
		Попытка
			Если ДокОбъект.Проведен Тогда
				ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
			Иначе
				ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
			КонецЕсли;
		Исключение
			Сообщить(ОписаниеОшибки());
		КонецПопытки
	КонецЦикла;

Естественно, это упрощенный пример того, как можно перенумеровать документы. При желании здесь можно добавить выбор других видов документов, а также организовать перенумерацию кодов справочников.

Вот какая ужасная нумерация у меня была до запуска  обработки:

до выполнения обработки

После запуска обработки нумерация выровнялась:

после выполнения обработки

Данную обработку для примера вы можете скачать по ссылке.

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 9 на “Как исправить нумерацию документов в 1С 8.3
  1. Добрый день!
    Наша компания не так давно работает, но нашими клиентами являются серьезные компании. Было уже несколько случаев, при выставлении счета на оплату, клиент задавал вопрос: «Почему счет, выставленный в августе имеет порядковый номер 000005».
    Подскажите, как можно настроить нумерацию документов следующим образом. Например,счет на оплату № ГВ-10003 от 15.10.2016г., где ГВ — префикс нашей компании, 10 — месяц выставления счета, 003 — порядковый номер счета в этом месяце. При таком виде номера счета у клиента будет меньше вопросов.

    Ответить

    • Добрый день!

      Такого типа нумерация в типовых конфигурациях настроить не получится. Вы можете обратится за доработках к специалистам. Это небольшая доработка, в среднем потребуется 2-3 часа специалиста.

      Ответить

  2. order by запросе еще добавить бы…

    Ответить

    • Посл сеции «ГДЕ» добавьте «УПОРЯДОЧИТЬ ПО Ссылка»
      Или открыть этот запрос конструкторе запросов и выбрать нужное поле для сортировки.

      Ответить

  3. Здравствуйте. «Замечу! Перенумерация проведенных документов требует перепроведение этих документов……» Как я поняла перепроведение документов потребует за собой еще раз сделать закрыие месяцев в котором были эти документы перепроведены? Возможно ли автоматическая перенумерация, перепроведение документов без закрытия предыдущих месяцев, которые уже были закрыты не хотелось, чтобы там что-то изменилось? Год еще не закрыт.

    Ответить

    • Достаточно установить признак ОбменДанными.Загрузка = Истина
      И типовые документы не перепроведутся.

      Ответить

  4. Еще нужно добавить
    Формат(НачНомер, «ЧГ=»)
    Чтобы нумерация после 1000 не пошла лесом

    Ответить

  5. В примере для реквизита НачальныйНомер лучше установить тип Строка, иначе когда номер будет 1000 и больше, то будет вставляться пробел при преобразовании к типу Строка и номер будет выглядеть как «00001 056» вместо «00001056»

    Ответить

  6. Спасибо большое, очень помогли, нужна была перенумерация реализаций

    Ответить

Добавить комментарий:

Ваш адрес email не будет опубликован.