Поиск и нормализация нестандартных номеров в документах

26.12.20

Задачи пользователя - Перенумераторы

Обработка ищет нестандартные номера на основе как пользовательских предпочтений, так и метаданных. Пользователю предоставляется вариант нормализации номера. Также для оценки формируются два списка: с тем что МОЖНО исправить, и тем, что НЕЛЬЗЯ исправить. Рождение обработки обусловлено работами по приведением конфигурации к состоянию "на поддержке".

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Поиск и нормализация нестандартных номеров в документах:
.rar 32,63Kb ver:201225.016
6 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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


Проведённые работы:

  1. Оценка масштабов переделок с использованием стандартных механизмов(расширения, обработки, дополнительные реквизиты и пр.. Тут не привожу, т.к. для каждой базы разное);
  2. Оценка документов, которые связаны с отчётностью. Тут основной объём работ на данный момент обусловлен разнообразием пользовательского подхода к нумерации документов(поле номер документов конфигурации). Тут два основных момента:
    1. Увеличение длины номеров;
    2. Использование нестандартных номеров, к примеру, "АААА-0/1", которые приводят к уменьшению диапазона автонумерации.

По сути этих пунктов хватило, чтобы перевести более трёхсот баз с состояния "снят с поддержки", на состояние "на поддержке" и "без возможности изменения" той же версии.
Результатом проведения подобной работы стало обеспечение возможности обновления конфигураций в автоматическом режиме, а это ещё и существенно(!) ускорило процесс обновления вообще. 

Данная обработка не является панацеей от всех проблем. Не является окончательной версией. Не является супермегаобработкой, поэтому прошу сильно не "пинать". Хотя с благодарностью приму все замечания, т.к. они мне же помогут в дальнейшей работе. 
Буду рад, если кому-то поможет.

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

  • Управление торговлей, редакция 11, версии с 11.4.12.109 по 11.4.13.51;
  • Бухгалтерия предприятия, редакция 3.0, версии с 3.0.79.21 по 3.0.85.28;
  • Зарплата и управление персоналом, редакция 3.1, версии с 3.1.13.146 по 3.1.15.139;
  • 1С:Комплексная автоматизация 2, версии с 2.4.12.102 по 2.4.13.71;
  • Версия 1С:Предприятие 8.3 (8.3.15.1830);
  • БСП не использовалась.


Последовательность работы:

Открываем обработку, предварительно сделав архив

 

Открытие обработки

Рис.1

 

На рис.1 показано: 

  1. версия обработки 016 от 25.12.2020;
  2. версия конфигурации;
  3. Оценка будет осуществляться не по загруженным метаданным, а по введённому значению длинны;
  4. Кнопка загрузки метаданных с длинами номеров.

Для некоторых конфигураций для анализа было достаточно оценить на стандартную длину номера равную 11. Если надо оценить все номера, то их можно загрузить с предварительно сохранённого файла, нажав кнопку [Загрузить метаданные с файла].

Если нет файла-шаблона метаданных

 

Чтение метаданных

Рис.2

 

На рис.2 показано:

  1. Прочитать метаданные текущей конфигурации;
  2. Если необходимо сохранить для дальнейших оценок;
  3. Можно загрузить с ранее сохранённого файла;
  4. Служебная информация о найденных длинах номеров;
  5. Собственно длина номера.

Для создания файла-шаблона с метаданными нужно открыть любую конфигурацию, которая имеет статус "на поддержке" и "без возможности изменения" той же версии, в режиме "1С.Предприятие", открыть обработку и нажать кнопку [Прочитать метаданные этой конфигурации]. После необходимо сохранить этот файл. Он будет использован как шаблон для оценки номеров других "вскрытых" конфигураций. К примеру, будет предложено имя файла "БухгалтерияПредприятия (3.0.77.78).txt" по имени и версии конфигурации.
В дальнейшем можно просто сразу загрузить этот файл-шаблон, как показано на рис.1 стрелка 4.
В данной форме списка (рис.2) выведены также тип поля номер, для оценки и дальнейшего расширения использования возможностей обработки, и информация о всех найденных длинах полей "Номер".  Для моей работы хватило использование типа="Строка".

 

Анализируем масштаб изменений

 

Рис.3

 

На скрине выведена информация о том, что можно преобразовать, а что нет. А также:

  1. Кнопка старта анализа номеров документов;
  2. Критерий оценки, либо по длине введённой вручную, либо по длинам метаданных;
  3. Служебная информация о найденных длинах;
  4. Реальная длина номера документа;
  5. Преобразованный и нормализованный номер на усмотрение программиста;
  6. Номер, который "сходу" не возможно преобразовать.

Если сделан архив базы и согласован список изменений с главным бухгалтером, то исправляем номера, нажав на кнопку [Преобразовать документы], предварительно установив галку <Разрешить изменения>. Рис.4

 

Преобразовать документы

Рис.4

 

 

Касаемо документов, которые обработка не смогла безболезненно преобразовать по разным причинам.

Внимание!

  1. Все нижеперечисленные методы могут ИСКАЗИТЬ номер. Особенно важно, если он участвовал в отчётах. Поэтому в моём случае делался архив, а номера с начала года уже вводились согласно правил конфигурации поставщика. Все необходимые уточнёнки будут делаться в архиве базы, если будет необходимость;
  2. Любые строки со ссылками на документы из таблиц могут быть удалены(исключены для обработки) при необходимости.

Описание последовательности действий

 

Нестандартные номера первичный анализ

Рис.5

 

На рис.5 видно, что поле "Преобразованные номер" не заполнен в следствии того, что обработка не смогла "безболезненно" преобразовать номер.

Есть стандартные шаблоны преобразования:

  • Пусто - ничего не делать;
  • Обрезать слева (до стандартной длины);
  • Обрезать справа;
  • Удалить незначащие пробелы;
  • Удалить весь префикс.

После выбора шаблона необходимо опять нажать кнопку [Анализ документов] на Рис.3 стрелка 1.

Если всё устроит, то нажать кнопку [Преобразовать по правилу], разрешив действие. Если не всё устроит, то можно внести изменения в номер документа также вручную стандартной обработкой "Групповое изменения реквизитов" с установленными дополнительными параметрами "Показывать служебные реквизиты" и "Режим разработчика".
Но можно вносить изменения тут частями. Там, где после анализа поле таблицы "Преобразованный номер" не заполнено, документы, указанные в этих строках, не будут участвовать в преобразовании. Поэтому, если мы нажмём кнопку [Преобразовать по правилу], то такие номера останутся неизменными в списке. Можно выбирать другой шаблон преобразования.

 

Нестандартные номера 2

Рис.6

 

Для части номеров шаблон "Удалить незначащие символы" помог, для части нет (Рис.6 стрелка 3).

 

Если стандартных шаблонов не хватает

Можно добавить свои простые шаблоны.

 

Свой шаблон

Рис.7

 

Пример. На рис.7 необходимо заменить "0000" на "000". Порядок действия:

  • В поле "свой шаблон"(стрелка 1) необходимо набрать символы, которые будут удалены из номера, в нашем случае "0000";
  • В поле (стрелка 2) необходимо внести "на что будет заменены удаляемые символы", тут "000";
  • Далее необходимо нажать кнопку [Добавить] (стрелка 3. Добавить символы "своего шаблона" в список выбора "шаблонов преобразования");
  • Теперь есть возможность выбрать свой шаблон (стрелка 4);
  • После выбора шаблона необходимо опять нажать кнопку [Анализ документов] на Рис.3 стрелка 1;
  • Если всё устроит, то нажать кнопку [Преобразовать по правилу], разрешив действие.

 

 

Дополнительная функция нормализации

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

 

Нормализация номеров

Рис.8

 

Последовательность работы:

  • Выбрать тип документа, в котором возникла ошибка (стрелка 1);
  • Проверить, а при необходимости загрузить метаданные (стрелка 2);
  • В отборе установить то, что необходимо на данный момент. Сузим круг поиска (стрелка 3);
  • Нажать кнопку [Отобрать документы] (стрелка 4). После первого отбора в списке выбора поля "Год с" можно установить год, с января которого будет осуществляться отбор. Старые документы отбираться уже не будут. После этого опять нажать кнопку [Отобрать документы];
  • Если отбор устроит и нормализация тоже, то можно нажать кнопку [Нормализовать номера], предварительно разрешив это действие.

К примеру, бухгалтеру удобно нумеровать свои документы в виде "АБАБ-10/1". Понятно, что следующий номер будет "АБАБ-10/2". Не трудно догадаться после какого номера будет ошибка, что "номер уже существует", если документ будет создан в этом же году. Нижеописанный механизм может это исправить, а именно документы вида "АБАБ-10/1" и далее будут изменены на "АБАБ-10/001". Это не панацея, но расширит диапазон до 999 документов в год.

 

Для чего были проделаны все эти действия

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

Последовательность действий:

  1. Предварительно открыть любую базу, которая "на поддержке" и "без возможности изменения" той же версии, что и исследуемая база. И сохранить конфигурацию поставщика в файл, выполнив действия Конфигурация/Поддержка/Настройка поддержки и нажать кнопку [Сохранить в файл]. Закрыть конфигуратор;
  2. Открыть анализируемую базу в режиме конфигуратора;
  3. Выполнить действие Конфигурация/Загрузить конфигурацию из файла. Выбрать вышеописанную конфигурацию (файл *.CF). После загрузки отвечать согласием на все вопросы, с просмотром что было сделано и сколько дублей возможно будет "организовано". Избежать дублей совсем нет возможностей. Из моего опыта из более чем 300 баз после преобразования с дублями за прошлые периоды оказались только три;
  4. После необходимо обновить конфигурацию самой базы данных.

 

В принципе всё. Конфигурация на поддержке.

P.S. Функция нормализации номеров работает и для конфигураций, стоящих на поддержке без возможности изменения.


Благодарность Дмитрию Гурееву за предложенную идею версионирования обработок и расширений.

Вступайте в нашу телеграмм-группу Инфостарт

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

См. также

Перенумераторы Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

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

6000 руб.

11.02.2019    64334    474    198    

108

Перенумераторы Бухгалтер Пользователь 1С 8.5 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение присваивает новому счету-фактуре выданному номер реализации, на основании которой он введен. Если номер занят — очередной номер или запрет записи, на выбор. Настройка по организациям в форме. Для уже введенных счетов-фактур — проверка за период и присвоение номеров реализаций в один клик.

1 стартмани

06.11.2026    108    0    Drfreeman    0    

2

Перенумераторы Разработчик Пользователь 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

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

2 стартмани

06.11.2026    114    0    Drfreeman    0    

0

Перенумераторы Механизмы платформы 1С Разработчик Бухгалтер Пользователь 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

Счета-фактуры на аванс вдруг перестают записываться с ошибкой «Значение поля "Номер" не уникально», хотя дублей в базе никто не делал. Разбираю на опыте в демо-базе Бухгалтерии, как платформа подбирает следующий номер, почему один номер, введённый вручную без нулей, сначала незаметно уводит серию в сторону, а через несколько сотен документов блокирует её, и как всё исправить, не меняя ни одного номера на печати. К статье приложена готовая обработка для Бухгалтерии 3.0, которая находит и исправляет такие номера.

1 стартмани

05.10.2026    883    sashazae    2    

3

Перенумераторы Бухгалтер Пользователь 1С 8.3 1С 8.5 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

02.10.2026    481    2    uribur    0    

1

Перенумераторы Бухгалтер Пользователь 1С:Предприятие 8 Абонемент ($m)

Внешняя обработка для быстрой перенумерации всех документов выбранного вида. Укажите вид документа и новый префикс — номера будут назначены последовательно в порядке возрастания даты, без дополнительных отборов.

1 стартмани

28.09.2026    373    1    burgerkirg    0    

1

Перенумераторы Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

23.06.2026    1121    14    Юлия69    3    

1

Перенумераторы 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Книга продаж - это просто с этим расширением. Оно восстановливает нумерацию счетов-фактур документа "Отчет комиссионера" при автоматической загрузке файлов, содержащих название, номер и дату УПД. Нумерация комиссионера сохраняется.

8000 руб.

18.06.2026    496    1    0    

1
Для отправки сообщения требуется регистрация/авторизация