Как исправить нумерацию документов в 1С 8.3 |
Как в программе 1С 8.3 поправить нумерацию документов? Что делать если в 1С 8.3 или 8.2 сбилась нумерация документов? В «1С Бухгалтерии предприятия 3.0» есть штатное средство для данной операции. Это функция «Экспресс-проверка ведения учета». Но, к сожалению, она делает проверку на правильность нумерации только по кассовым документам (ПКО и РКО) и по счетам-фактурам. Данная статья рассматривает:
Перед любыми действиями в базе данных обязательно сделайте резервную копию. Перенумерация с помощью Экспресс-проверки ведения учетаДанная обработка для перенумерации документов 1С находится в разделе «Отчеты». Далее ищем раздел «Анализ учета» и переходим в «Экспресс – проверка». Появится следующее окно: Устанавливаем нужный период и нажимаем кнопку «Выполнить проверку». В случае, если в каком то разделе учета будут обнаружены ошибки, как обычно, это будет подсвечено красным. В данной конфигурации мы специально создали несколько ошибочных ситуаций, для наглядности: Как видим, у нас нарушена нумерация документов. И как написано, программа 1С 8.3 предлагает автоматически это исправить. Жмем на выделенную ссылку: И прекрасно видим, что нумерация действительно нарушена, и программа предлагает у последней счет-фактуры заменить номер четыре на номер три. Обратите внимание, что есть возможность установить начальный номер для заданного периода. Это означает, что если нам нужно начать с номера 123, то именно так и произойдет. Это актуально, когда перенумерация происходит не с начала года. Заметим! Перенумерация проведенных документов требует перепроведение этих документов. Поэтому процесс может занять длительное время. Кроме того, при перенумерации учитываются префиксы. Уточните, не менялись ли они. Нажимаем «Продолжить», и начнется процесс перенумерации. Для программистов: создание обработки 1С для перенумерации других документовДля наших опытов выберем документ «Реализация (акты, накладные)». Создадим новую внешнюю обработку и добавим на форму следующие реквизиты:
Реквизит «Организация» следует добавлять только в случае, если учет ведется по нескольким организациям в одной информационной базе. В ином случае достаточно добавить реквизит «Префикс». Запрос в этом случае будет немного попроще. Вот что получилось: И так, создаем команду на клиенте. Так как запросы выполняются на сервере, то в этой команде будет только вызов серверной процедуры, например, «ВыполнитьНаСервере()». Далее переходим к этой процедуре. Сразу же создадим запрос: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ЭтаФорма.ДатаНачала)); Теперь в цикле пробежимся по результату выборки и перенумеруем документы: НачНомер = ЭтаФорма.НачальныйНомер; Пока ВыборкаДетЗаписи.Следующий() Цикл Префикс = ВыборкаДетЗаписи.ОрганизацияПрефикс; ДокОбъект.Номер = Префикс + Прав("000000000000000000" + НачНомер, 11 - СтрДлина(Префикс)); НачНомер = НачНомер + 1; Если ДокОбъект.Проведен Тогда ДокОбъект.Записать(РежимЗаписиДокумента.Проведение); Иначе ДокОбъект.Записать(РежимЗаписиДокумента.Запись); КонецЕсли; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки КонецЦикла; Естественно, это упрощенный пример того, как можно перенумеровать документы. При желании здесь можно добавить выбор других видов документов, а так же организовать перенумерацию кодов справочников. Вот какая ужасная нумерация была до запуска обработки: После запуска обработки нумерация выровнялась: По материалам: programmist1s.ru Комментарии:
|