Перенумерация документов в 1С 8.3 — как исправить нумерацию
Довольно часто в программе 1С встречаются ситуации, когда происходит нарушение нумерации документов. Изменить положение можно как штатными средствами, так и написав обработку. Стандартный функционал 1С 8.3 производить перенумерацию не всех документов (приходный/расходный кассовый ордер и счет-фактура).
Перед запуском перенумерации документов всегда делайте резервные копии ваших данных!
Исправление нумерации в 1С Бухгалтерия 3.0 штатной обработкой
Рассмотрим как исправить нумерацию в типовой конфигурации 1С 8.3 Бухгалтерия 3.0. В меню «Отчеты» выберите пункт «Экспресс–проверка».
В открывшейся форме выберите организацию и период. Далее нажмите «Выполнить проверку».
Программа выведет отчет с результатами проверки ведения учета. В данном примере мы перешли в группировку «Операции по кассе» и раскрыли пункт «Соблюдение нумерации ПКО». Надпись «Обнаружены ошибки» в колонке справа свидетельствует в 1С 8.3 о том, что в приходных кассовых документах нарушена последовательность нумерации документов.
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!
Программа рекомендует нам совершить автоматическую перенумерацию документов, что мы собственно и сделаем, нажав по одноименной гиперссылке в отчете. Данная операция доступна только с полными правами.
Некоторое время 1С 8.3 будет анализировать данные. Обычно это происходит не долго, но все зависит от количества документов.
Далее программа выведет окно с теми документами, перенумерацию которых необходимо произвести. Начальный номер подставляется по умолчанию, но его можно изменить. В левой колонке табличной части отображаются текущие номера документов, а в правой – те, которые будут присвоены после выполнения перенумерации.
Получите понятные самоучители по 1С бесплатно:
В принципе, нас все устраивает, и мы оставим настройки по умолчанию. Далее нажмем на кнопку «Продолжить».
В нашем случае обработка документов была произведена довольно быстро. В результате программа вывела окно с информацией об измененных данных.
Создание обработки для перенумерации (для программистов)
Данный способ используется в том случае, когда у вас сбилась нумерация в других документах и штатными средствами ее исправить нельзя. Вы можете написать обработку самостоятельно, либо заказать ее у специалиста. Скачать обработку можно по ссылке (только для ознакомления).
Рассмотрим самый простой пример алгоритма перенумерации документа. В качестве документа будем использовать требование – накладную.
Для начала расположим на форме те же элементы, что были в штатном механизме перенумерации.
Команда «Выполнить» будет вызывать серверную процедуру.
Сначала необходимо получить все требования накладные за указанный период по организации.
ЗапросТН = Новый Запрос; ЗапросТН.Текст = "ВЫБРАТЬ | ТребованиеНакладная.Ссылка, | ТребованиеНакладная.Организация.Префикс КАК Прф |ИЗ | Документ.ТребованиеНакладная КАК ТребованиеНакладная |ГДЕ | ТребованиеНакладная.Организация = &Орг | И ТребованиеНакладная.Дата МЕЖДУ &НачалоПериода И &КонецПериода"; ЗапросТН.УстановитьПараметр("НачалоПериода", НачалоДня(Объект.НачалоПериода)); ЗапросТН.УстановитьПараметр("КонецПериода", КонецДня(Объект.КонецПериода)); ЗапросТН.УстановитьПараметр("Орг", Объект.Организация); РезультатЗапроса = ЗапросТН.Выполнить(); ВыборкаТН = РезультатЗапроса.Выбрать();
Далее в цикле перебирается каждая накладная и у нее меняется номер. Он зависит от установленного префикса в организации и начального номера, указанного на форме обработки. Режим записи (запись или проведение) зависит от того, был ли изначально проведен документ.
ННомер = Объект.НачальныйНомер; Пока ВыборкаТН.Следующий() Цикл ПРФ = ВыборкаТН. ПРФ; ДокументОбъект = ВыборкаТН.Ссылка.ПолучитьОбъект(); ДокументОбъект.Номер = ПРФ + Прав("000000000000000000" + ННомер, 11 - СтрДлина(ПРФ)); ННомер = ННомер + 1; Попытка Если ДокументОбъект.Проведен Тогда ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); Иначе ДокументОбъект.Записать(РежимЗаписиДокумента.Запись); КонецЕсли; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки КонецЦикла;
Изначально у нас было два документа «Требование – накладная». Как мы видим на рисунке, номера указаны не правильно. Чем раньше создан документ, тем меньше у него должен быть номер.
В результате запуска описанного выше алгоритма номера восстановили правильную последовательность. Первый документ остался проведенным, а второй просто записанным.
В этой статье рассмотрен самый простой алгоритм написания обработки. При необходимости вы можете расширить его функционал.
Комментарии
По-моему, надо уже вводить новую специальность Бухгалтер-программист. О бухучете думать некогда, все рабочее время — на борьбу с1С! Не дай Бог что-нибудь сделаешь логически, даже изменение номера документа ведет к необратимым (если ты не программист) последствиям. Никогда не знаешь, что там программисты имеют ввиду и с чем это связано. Все пишут — бухгалтеру руки обломать за то, что посмел номер документа поменять вручную. Жуть.
«По-моему, надо уже вводить новую специальность Бухгалтер-программист.»
Да-да. И обязательно с правами администратора.
Я с вами на все 100 согласна.
Если вам не нравится автоматическая нумерация документов, флаг вам в руки, сидите и всё перенумеровывайте самостоятельно 🙂
Надо вводить специальность программист-оператор
Спасибо, отлично помогли.