Бухучет инфо. Сброс неверной нумерации объектов 1с сбилась нумерация обновить метаданные

КАК ВОССТАНОВИТЬ НУМЕРАЦИЮ В 1С

Очень часто перед бухгалтерами возникает вполне логичный вопрос как восстановить нумерацию документов в 1С 8.2, после того, как были внесены ручные исправления. В данном материале мы постараемся детально и доходчиво объяснить все необходимые действия.

Во всех продуктах 1С 8.2 документы, которые созданы в базе имеют четкую нумерацию. Не следует думать, что номера должны состоять исключительно из цифр. На самом деле, в программе для нумерации нередко используются и буквы. Ка бывает чаще всего, они стоят вначале и означают префикс некоторой организации.

В большинстве случаев каждому конкретному документу система сама в автоматическом режиме присваивает уникальный номер после того, как он был создан. Но есть один нюанс: программа не разрешает самостоятельно редактировать номера.

Цель такого запрета очень проста: система защищает номера для того, чтобы обезопасить последовательность нумерации от нарушения.

Но все же, часто возникает необходимость поменять какой-либо номер. Примером может стать налоговая накладная. При ее заполнении часто приходится сталкиваться с необходимостью корректировки номера.

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

Работники просто не учитывают того, что после подобного действия, убираются лидирующие нули, и, как следствие, автоматическая нумерация документов сбивается.

Как же быть в таком случае? В любом случае, рекомендуется применять автоматическую перенумерацию, которая описана в следующем абзаце. Никаких проблем с ее использованием не должно возникнуть, так как пошаговая инструкция дополняется скриншотами для большей ясности описываемых действий.

Итак, как восстановить нумерацию документов в 1С 8.2 автоматически. В том, чтобы произвести это иногда очень необходимое действие нет ничего сложного. Для чего может понадобиться перенумерация документов Для восстановления нумерации документов существует обработка «Обработка объектов и универсальный подбор», которая находится на диске ИТС.

Для этого нужно зайти в меню командой Файл, далее нажать на пиктограмму Открыть. Далее необходимо зайти на диск ИТС по такому пути: (E):\1CIts\EXE\EXTREPS\UNIREPS82\UniversalSelection. Примечание: буква диска может отличаться от указанной, исходя из настроек компьютера пользователя. Далее должна открыться обработка. Нам нужно выбрать необходимый вид документа в реквизите Объект.

Посмотрите Первый рисунок.

Рис. 1

После этого найти закладку отбор по значению реквизита. Используя кнопку «Добавить» нужно сформировать критерии для отбора. В конкретном примере – номер документа не равняется пустому значению.

Рис. 2

После нажатия кнопки «Найти объекты» мы должны получить список, состоящих из нужных документов. После этого, нужно перейти к закладке «Обработки».

Тут, нужно выбрать пункт «Перенумерация объектов», находящийся в таблице слева. В окне, которое открылось, нужно задать начальный номер, предположим 1.

После этого уже можно нажимать на пиктограмму «Выполнить». В завершении, мы должны получить требуемый результат.

Рис. 3

Вот мы и дали ответ на частый вопрос «как восстановить нумерацию документов в 1С 8.2». Нет ничего сложного в этой операции.

Номера входящих документов пользователи 1С 8.3 ставят вручную, поэтому при обработке большого количества документов велика вероятность ошибки.

В случае ошибки исправление нумерации входящих документов в базе 1С 8.3 делается очень просто. Для этого необходимо открыть необходимый документ и в поле номер документа поставить нужный. Например:

В документе Поступление товаров:

Либо в полученном счете-фактуре:

При вводе документа Поступление товаров и услуг в 1С 8.2 (8.3) необходимо указать номер и дату первичного документа поставщика. В случае некорректного ввода данных в аналитических расчетах неправильно отразятся реквизиты документа поставщика. Подробнее об этом смотрите в нашем видео:

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

Что касается исходящих документов, то программа 1С 8.3 при их создании сама присваивает им номер:

Автоматически проставленный номер пользователи видят после записи или проведения документа:

При попытке исправления номера документа программа 1С 8.3 выдаст информационное предупреждение об автоматической нумерации исходящих документов:

Необходимость исправлять номера исходящих документов возникает в случае нарушения хронологии занесения данных в базу 1С 8.3.

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

Как восстановить хронологическую нумерацию счетов-фактур и кассовых документов в 1С 8.3

В 1С 8.3 существует возможность автоматически восстановить хронологическую нумерацию входящих и исходящих документов в сервисе :

Данный сервис в 1С 8.3 позволяет в любое время производить проверку учета по некоторым положениям законодательства и встроенным алгоритмам работы программы. Экспресс-проверка в 1С Бухгалтерия 3.0 (8.3) выполняет анализ учета в следующих направлениях:

  • Положения учетной политики – проверка соблюдения общих положений учетной политики;
  • Анализ состояния бухгалтерского учета – контроль баланса бухгалтерских счетов и выявление технических ошибок учета с целью подготовки данных для формирования документов внешней отчетности;
  • Операции по кассе – проверка правильности ведения кассовых операций;
  • Ведение книги продаж по НДС – проверка правильности отражения операций, связанных с ведением книги продаж;
  • Ведение книги покупок по НДС – проверка правильности отражения операций, связанных с ведением книги покупок.

Для контроля нумерации документов в 1С 8.3 необходимо перейти в настройки Экспресс-проверки:

В открывшемся окне настроек снимаем галочки со всех разделов учета, так как программа 1С 8.3 может проверить правильность нумерации только кассовых документов и счетов-фактур выданных:

Открываем «плюсиками» раздел Операции по кассе и отмечаем галочками только соблюдение нумерации документов:

Открываем «плюсиками» раздел Ведение книги продаж по налогу на добавленную стоимость и отмечаем галочками только соблюдение нумерации документов:

После этого нажимаем кнопку Выполнить проверку. По окончании проверки программа 1С 8.3 покажет:

  • Предмет контроля;
  • Результат проверки;
  • В случае наличия ошибок – возможные причины их возникновения и рекомендации по устранению ошибок:

При проверке кассовых документов, а также книги покупок и книги продаж по НДС, программа 1С 8.3 проверяет хронологию проведения документов и может предложить исправить нумерацию документов.

В разделе Рекомендации можно увидеть предложение по устранению данной ошибки – Автоматическая перенумерация документов.

Помимо этого, в детальном отчете об ошибках видим список документов, в которых была нарушена хронология проведения документов.

Обратившись к сервису перенумерации, программа 1С 8.3 предупреждает о том, что возможно несовпадение номеров выданных документов и тех, что будут в учете. Также здесь можно выбрать – с какого номера начать перенумерацию и какие новые номера документов будут в учете:

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

После того, как получено согласие пользователя о перенумерации, программа 1С 8.3 выполнит ее. Далее появится информационное окно, в котором отразится список перенумерованных документов с указанием нового и старого номера, а также появится возможность распечатать документы с новыми номерами из Экспресс-проверки или их реестр:

Таким же образом можно восстановить нумерации выданных счетов-фактур:

Внимание! Соглашаясь с автоматической перенумерацией документов в 1С 8.3, пользователь рискует допустить разногласия между учетными данными и выданными оригиналами счетов-фактур. Это может осложнить сдачу налоговой декларации по НДС:

После завершения операции перенумерации счетов-фактур выданных, программа 1С 8.3 выдаст информационное сообщение, в котором укажет новые и старые номера выданных счетов-фактур, а также появится возможность распечатать счета-фактуры с новыми номерами или реестр:

Чтобы ошибка о корректности номеров документов ушла из окна Экспресс-проверки, необходимо закрыть окно перенумерации и повторно провести проверку учета:

Как-то на работе возникла проблема с нумерацией документов. Пользователь ввёл номер нового документа вручную, причём вместо “000000675” указал “00_000675”.

После этого все последующие документы стали нумероваться с префиксом “00_”.

При этом ни банальное пересохранение объекта с номером “правильного” формата, ни пометка на удаление, ни удаление его из базы не помогли исправить ситуацию. Пришлось разбираться с механизмом автонумерации 1С.

Прежде всего я, естественно, обратился к ресурсам ИТС (благо фирма предоставляет такую возможность). Максимум, что я смог найти по своей тематике, – это две статьи Автонумерация и автонумерации .

Данные в них, мягко говоря, не свежие и где-то даже противоречащие реальности (например, там утверждается, что для восстановления нумерации достаточно удалить объекты), но общие представления о механизме дают. Из них стало понятно, что одним из решений вставшей проблемы является установка настройки конфигурации “Режим автонумерации объектов” в значение “Освобождать автоматически”.

Но, во-первых, это неприменимо в случае использования типовой конфигурации “на поддержке”, а, во-вторых, противоречит продвигаемому 1С “новому” режиму нумерации. Поэтому я продолжил рыть дальше.

Как выяснилось, типовых механизмов работы с автонумерацией, как-то обработки, отчёты и прочее, нет. Но, слава Нуралиеву, нам предоставили методы встроенного языка: ОбновитьНумерациюОбъектов, УстановитьНовыйКод и УстановитьНовыйНомер.

ОбновитьНумерациюОбъектов, согласно СП, “выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность.

” Соотнеся это описание со статьями по этой тематике и тестовыми данными, становится понятно, что в базе хранится таблица выданныхномеров, которые независимо от того, существуют объекты, для которых они были записаны в таблицу или нет, повторно быть выданы уже не могут, если не осуществить “сброс”. Как раз процедура ОбновитьНумерациюОбъектови применяется для “выправления” нумерации объектов. Главное, перед запуском не забудьте удалить из базы объекты с “неправильными” номерами. Это может быть как реальное удаление, так и перезапись их с предварительным присвоением “правильных” номеров.

В принципе, умения использовать вышеуказанную процедуру достаточно, чтобы, в случае необходимости, выправить нумерацию, но хочется упомянуть ещё о “максимальном номере”. Под “максимальным номером” я подразумеваю номер, исходя из значения которого система выдаёт следующее значение. Как пример его знание необходимо, чтобы определить, выправлена ли нумерация или нет.

В 1С нет возможности напрямую получить текущий максимальный номер объекта метаданных. Решить эту проблему можно двумя способами:

  • использовать запрос;
  • получить следующий номер, используя методыУстановитьНовыйКод илиУстановитьНовыйНомер.

При формировании запроса система считывает данные базы данных. Можно отсортировать объекты по коду/номеру по убыванию, т.о. верхним в списке окажется обладатель максимального номера. Тут существуют следующие “загвоздки”:

  • результат не будет содержать данные озанятых номерах, а только озаписанных;
  • сортировка не всегда выводит наверх “максимальные” с точки зрения системы номера (например, объект с номером “0_01″ в результате запроса будет расположен ниже номера”0001”, но при вводе нового объекта ему будет присвоен номер с префиксом “0_”).

УстановитьНовыйКод иУстановитьНовыйНомер устанавливают код или номер соответственно и заносят это значение в таблицу номеров. При этом неважно, будет ли записан объект или нет, “максисальный номер” всё равно будет обновлён на выданный. Таким образом, если использовать эти методы для проверки, то после этого необходимо обновить нумерацию объектов.

К публикации прикреплена обработка обновления нумерации. В ней:

  • кнопка “Обновить” запускает выполнение метода Обновить нумерацию объектов;
  • список объектов содержит результат динамически формируемого запроса;
  • на результат запроса накладывается отбор согласно свойствам объектов метаданных: по владельцу, родителю или периоду;
  • поле “номер содержит” накладывает отбор на данные кода или номера;
  • флаг в колонке “Макс.” указывает на то, какой номер на момент обновления будет считаться максимальным, все вышерасположенные объекты получат номер согласно указанному максимальному;
  • при установке флага “Макс.” во всех вышерасположенных строках автоматически рассчитывается новый номер, но запись происходит только после нажатия кнопки “Обновить”;
  • добавление объектов в список недоступно, но возможно ручное перераспределение строк, т.о. для выправления нумерации необходимо переместить объекты с номерами, требующими коррекции в позицию над строкой с установленным флагом “Макс.”.

Источник: https://realtism.ru/buhuchet-info-sbros-nevernoi-numeracii-obektov-1s-sbilas-numeraciya-obnovit/

Сброс неверной нумерации объектов. Бухучет инфо Как восстановить нумерацию документов в 1с 8.3

Автоматически присваивается следующий номер. Что делать если сбилась нумерация документов в 1С, как восстановить хронологический порядок, каковы причины такого сбоя – рассматриваем по порядку.

Восстановление хронологического порядка нумерации документов.

Любой документ (document, англ.) системы в 1С полностью характеризуется тремя его составляющими – номером, датой и временем. Нумерация документов в 1С настроена так, что новый его номер предлагается автоматически, но может быть введён и вручную. При этом (и в том, и в другом случае) со стороны Нумератора контролируется его уникальность – с одним и тем же создание будет запрещено.

Документация определённого вида собирается в отдельные журналы (и каждому из них Нумератором присваивается свой уникальный номер):

Нумератор

Так же как документы и журналы, Нумератор относится к прикладным объектам. Его использование призвано для того, чтобы сквозным образом нумеровать документы в различных журналах в соответствии с их видами.

Исправление ошибок нумерации в 1С 7

Механизм Нумератора в семёрке настроен проще, чем в 1С 8. Исправиться в ней можно так.

Вручную

Для этого:

  • Открыть журнал соответствующего вида документации;
  • Отсортировать по нарастающей дате;
  • Исправить вручную все неправильные номера начиная от первого (по времени) до последнего.

Новая нумерация

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

Автоматически

Эта операция требует особой осторожности. Делается с помощью автообработки UCHOICE.ERT. Лежит она в папках ExtForms информационных баз. Можно подобную обработку попросить у друзей или у специалистов.

Исправления в восьмёрке

Документация в учёте разбивается на два вида:

  • Входная – полученная от контрагентов (в ней важны номера, присвоенные встречной стороной). Некорректный её ввод порождает неправильное отражение реквизитов в справках аналитических расчётов. Например, в актах сверки ;
  • Исходящая – она создаётся самим пользователем (в ней нумерование должно выполняться сквозным образом во временном промежутке). Это важно, например, для реестров налоговых накладных .

Рассмотрим варианты исправления проблемы в разных случаях.

Входящая нумерация

Номера входной документации вбиваются вручную. Постоянное внимание работнику сохранять тяжело и, при отработке большого объёма данных, оператор обречён на промах. Для исправления номеров во входящих документах – их открывают, а в назначенном поле вводят правильный атрибут. Например, в доке «Поступление товаров»:

В «Поступление на счёт»:

Во входной счёт/фактуре:

Аналогично исправляются реквизиты в журнале «Поступление товаров/услуг», в прочей входящей корреспонденции.

Исходящий документооборот

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

При ручном его присвоении (вводе) срабатывает один нюанс работы Нумератора. Введённый последним номер система 1С всегда запоминает как новый для последующего отсчёта. Например, крайний номер, присвоенный автоматически, – был КА-000175.

А пользователь при ручном вводе присвоил следующему – ПО-000123. Следовательно, очередной автономер будет – ПО-000124. То есть произойдёт сбой существующего правила.

Очевидно, что ошибки нумерации в журналах возникают только по невнимательности пользователей (при ручной корректировке).

ВАЖНО. Ручное исправление исходящей нумерации не рекомендуется во избежание расстройства целостности учёта.

Восстановление нумерации «Экспресс-проверкой»

В третьей версии восьмёрки осуществлена возможность автоматического восстановления хронологического порядка входящих/исходящих документов сервисом «Экспресс-проверка». Для начала все галочки окна настроек по всем разделам учёта нужно снять:

«Плюсиком» открыть «Операции по кассе», галочками отметить «соблюдение нумерации документов». После раскрытия «плюсика» напротив «Ведение книги продаж» отметить галочкой соблюдение нумерации.

Проверка выполняется по кнопке «Выполнить». В отчёте указывается:

  • Контролируемый предмет;
  • Полученный результат контроля;

При наличии ошибок – совет по устранению (перенумерация) и анализ появления будут доступны для обозрения в разделе Рекомендации. Также предоставляется детальный отчёт-список доков с ошибками:

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

После команды о перенумерации, система её выполняет. А по окончании выводится информационная табличка с отражённым списком исправленных документов, с перечнем новых и заменённых номеров. Появится доступ отправки на печать исправленной документации или её реестра. Так же восстанавливается нумерование выданных сч/фактур:

ВАЖНО. Принимая автоперенумерацию, существует риск отклонения между данными учёта с уже выданной первичкой. Такие случаи осложняют подачу деклараций налоговикам.

Чтобы избавиться в окне Экспресс-проверки от ошибки корректности нумерования, окошко перенумерации нужно закрыть и провести проверку учёта повторно.

Один из рассмотренных способов поможет вам в исправлении сбоя нумерации. Если же ни одним из способов вам не удалось настроить/изменить нумерование в нужном русле – обратитесь к специалистам в этой области.

Как-то на работе возникла проблема с нумерацией документов. Пользователь ввёл номер нового документа вручную, причём вместо “000000675” указал “00_000675”.

После этого все последующие документы стали нумероваться с префиксом “00_”.

При этом ни банальное пересохранение объекта с номером “правильного” формата, ни пометка на удаление, ни удаление его из базы не помогли исправить ситуацию. Пришлось разбираться с механизмом автонумерации 1С.

Прежде всего я, естественно, обратился к ресурсам ИТС (благо фирма предоставляет такую возможность). Максимум, что я смог найти по своей тематике, – это две статьи Автонумерация и автонумерации .

Данные в них, мягко говоря, не свежие и где-то даже противоречащие реальности (например, там утверждается, что для восстановления нумерации достаточно удалить объекты), но общие представления о механизме дают. Из них стало понятно, что одним из решений вставшей проблемы является установка настройки конфигурации “Режим автонумерации объектов” в значение “Освобождать автоматически”.

Но, во-первых, это неприменимо в случае использования типовой конфигурации “на поддержке”, а, во-вторых, противоречит продвигаемому 1С “новому” режиму нумерации. Поэтому я продолжил рыть дальше.

Как выяснилось, типовых механизмов работы с автонумерацией, как-то обработки, отчёты и прочее, нет. Но, слава Нуралиеву, нам предоставили методы встроенного языка: ОбновитьНумерациюОбъектов, УстановитьНовыйКод и УстановитьНовыйНомер.

ОбновитьНумерациюОбъектов, согласно СП, “выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность.

” Соотнеся это описание со статьями по этой тематике и тестовыми данными, становится понятно, что в базе хранится таблица выданныхномеров, которые независимо от того, существуют объекты, для которых они были записаны в таблицу или нет, повторно быть выданы уже не могут, если не осуществить “сброс”. Как раз процедура ОбновитьНумерациюОбъектови применяется для “выправления” нумерации объектов. Главное, перед запуском не забудьте удалить из базы объекты с “неправильными” номерами. Это может быть как реальное удаление, так и перезапись их с предварительным присвоением “правильных” номеров.

В принципе, умения использовать вышеуказанную процедуру достаточно, чтобы, в случае необходимости, выправить нумерацию, но хочется упомянуть ещё о “максимальном номере”. Под “максимальным номером” я подразумеваю номер, исходя из значения которого система выдаёт следующее значение. Как пример его знание необходимо, чтобы определить, выправлена ли нумерация или нет.

В 1С нет возможности напрямую получить текущий максимальный номер объекта метаданных. Решить эту проблему можно двумя способами:

  • использовать запрос;
  • получить следующий номер, используя методыУстановитьНовыйКод илиУстановитьНовыйНомер.

При формировании запроса система считывает данные базы данных. Можно отсортировать объекты по коду/номеру по убыванию, т.о. верхним в списке окажется обладатель максимального номера. Тут существуют следующие “загвоздки”:

  • результат не будет содержать данные озанятых номерах, а только озаписанных;
  • сортировка не всегда выводит наверх “максимальные” с точки зрения системы номера (например, объект с номером “0_01″ в результате запроса будет расположен ниже номера”0001”, но при вводе нового объекта ему будет присвоен номер с префиксом “0_”).

УстановитьНовыйКод иУстановитьНовыйНомер устанавливают код или номер соответственно и заносят это значение в таблицу номеров. При этом неважно, будет ли записан объект или нет, “максисальный номер” всё равно будет обновлён на выданный. Таким образом, если использовать эти методы для проверки, то после этого необходимо обновить нумерацию объектов.

К публикации прикреплена обработка обновления нумерации. В ней:

  • кнопка “Обновить” запускает выполнение метода Обновить нумерацию объектов;
  • список объектов содержит результат динамически формируемого запроса;
  • на результат запроса накладывается отбор согласно свойствам объектов метаданных: по владельцу, родителю или периоду;
  • поле “номер содержит” накладывает отбор на данные кода или номера;
  • флаг в колонке “Макс.” указывает на то, какой номер на момент обновления будет считаться максимальным, все вышерасположенные объекты получат номер согласно указанному максимальному;
  • при установке флага “Макс.” во всех вышерасположенных строках автоматически рассчитывается новый номер, но запись происходит только после нажатия кнопки “Обновить”;
  • добавление объектов в список недоступно, но возможно ручное перераспределение строк, т.о. для выправления нумерации необходимо переместить объекты с номерами, требующими коррекции в позицию над строкой с установленным флагом “Макс.”.

Источник: https://qipok.ru/sbros-nevernoi-numeracii-obektov-buhuchet-info-kak-vosstanovit-numeraciyu-dokumentov-v-1s-8-3/

Сброс неверной нумерации объектов. Бухучет инфо Восстановление автонумерации документов в 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

Как-то на работе возникла проблема с нумерацией документов. Пользователь ввёл номер нового документа вручную, причём вместо “000000675” указал “00_000675”.

После этого все последующие документы стали нумероваться с префиксом “00_”.

При этом ни банальное пересохранение объекта с номером “правильного” формата, ни пометка на удаление, ни удаление его из базы не помогли исправить ситуацию. Пришлось разбираться с механизмом автонумерации 1С.

Прежде всего я, естественно, обратился к ресурсам ИТС (благо фирма предоставляет такую возможность). Максимум, что я смог найти по своей тематике, – это две статьи Автонумерация и автонумерации .

Данные в них, мягко говоря, не свежие и где-то даже противоречащие реальности (например, там утверждается, что для восстановления нумерации достаточно удалить объекты), но общие представления о механизме дают. Из них стало понятно, что одним из решений вставшей проблемы является установка настройки конфигурации “Режим автонумерации объектов” в значение “Освобождать автоматически”.

Но, во-первых, это неприменимо в случае использования типовой конфигурации “на поддержке”, а, во-вторых, противоречит продвигаемому 1С “новому” режиму нумерации. Поэтому я продолжил рыть дальше.

Как выяснилось, типовых механизмов работы с автонумерацией, как-то обработки, отчёты и прочее, нет. Но, слава Нуралиеву, нам предоставили методы встроенного языка: ОбновитьНумерациюОбъектов, УстановитьНовыйКод и УстановитьНовыйНомер.

ОбновитьНумерациюОбъектов, согласно СП, “выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность.

” Соотнеся это описание со статьями по этой тематике и тестовыми данными, становится понятно, что в базе хранится таблица выданныхномеров, которые независимо от того, существуют объекты, для которых они были записаны в таблицу или нет, повторно быть выданы уже не могут, если не осуществить “сброс”. Как раз процедура ОбновитьНумерациюОбъектови применяется для “выправления” нумерации объектов. Главное, перед запуском не забудьте удалить из базы объекты с “неправильными” номерами. Это может быть как реальное удаление, так и перезапись их с предварительным присвоением “правильных” номеров.

В принципе, умения использовать вышеуказанную процедуру достаточно, чтобы, в случае необходимости, выправить нумерацию, но хочется упомянуть ещё о “максимальном номере”. Под “максимальным номером” я подразумеваю номер, исходя из значения которого система выдаёт следующее значение. Как пример его знание необходимо, чтобы определить, выправлена ли нумерация или нет.

В 1С нет возможности напрямую получить текущий максимальный номер объекта метаданных. Решить эту проблему можно двумя способами:

  • использовать запрос;
  • получить следующий номер, используя методыУстановитьНовыйКод илиУстановитьНовыйНомер.

При формировании запроса система считывает данные базы данных. Можно отсортировать объекты по коду/номеру по убыванию, т.о. верхним в списке окажется обладатель максимального номера. Тут существуют следующие “загвоздки”:

  • результат не будет содержать данные озанятых номерах, а только озаписанных;
  • сортировка не всегда выводит наверх “максимальные” с точки зрения системы номера (например, объект с номером “0_01″ в результате запроса будет расположен ниже номера”0001”, но при вводе нового объекта ему будет присвоен номер с префиксом “0_”).

УстановитьНовыйКод иУстановитьНовыйНомер устанавливают код или номер соответственно и заносят это значение в таблицу номеров. При этом неважно, будет ли записан объект или нет, “максисальный номер” всё равно будет обновлён на выданный. Таким образом, если использовать эти методы для проверки, то после этого необходимо обновить нумерацию объектов.

К публикации прикреплена обработка обновления нумерации. В ней:

  • кнопка “Обновить” запускает выполнение метода Обновить нумерацию объектов;
  • список объектов содержит результат динамически формируемого запроса;
  • на результат запроса накладывается отбор согласно свойствам объектов метаданных: по владельцу, родителю или периоду;
  • поле “номер содержит” накладывает отбор на данные кода или номера;
  • флаг в колонке “Макс.” указывает на то, какой номер на момент обновления будет считаться максимальным, все вышерасположенные объекты получат номер согласно указанному максимальному;
  • при установке флага “Макс.” во всех вышерасположенных строках автоматически рассчитывается новый номер, но запись происходит только после нажатия кнопки “Обновить”;
  • добавление объектов в список недоступно, но возможно ручное перераспределение строк, т.о. для выправления нумерации необходимо переместить объекты с номерами, требующими коррекции в позицию над строкой с установленным флагом “Макс.”.

Источник: https://traffgui.ru/sbros-nevernoi-numeracii-obektov-buhuchet-info-vosstanovlenie-avtonumeracii-dokumentov-v-1s-8-3.html

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

Автоматически присваивается следующий номер. Что делать если сбилась нумерация документов в 1С, как восстановить хронологический порядок, каковы причины такого сбоя – рассматриваем по порядку.

Восстановление хронологического порядка нумерации документов.

Любой документ (document, англ.) системы в 1С полностью характеризуется тремя его составляющими – номером, датой и временем. Нумерация документов в 1С настроена так, что новый его номер предлагается автоматически, но может быть введён и вручную. При этом (и в том, и в другом случае) со стороны Нумератора контролируется его уникальность – с одним и тем же создание будет запрещено.

Документация определённого вида собирается в отдельные журналы (и каждому из них Нумератором присваивается свой уникальный номер):