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

26.12.20

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Поиск и нормализация нестандартных номеров в документах:
.rar 32,63Kb ver:201225.016
5
5 Скачать (1 SM) Купить за 1 850 руб.

В последнее время усилиями программистов фирмы "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С v8.3 Бухгалтерский учет Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Предприятие 8. Транспортная логистика, экспедирование и управление автотранспортом КОРП 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

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

4000 руб.

11.02.2019    54825    424    194    

63

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

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

6000 руб.

18.05.2022    10719    25    0    

21

Перенумераторы Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

Полезная внешняя обработка "Перенумерация документов", подходит для любой конфигурации на управляемых формах с БСП.

2 стартмани

04.10.2024    368    13    steaom    0    

0

Перенумераторы Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка восстанавливает уникальную нумерацию кодов справочников.

2 стартмани

03.05.2024    751    8    napan    0    

2

Перенумераторы Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Абонемент ($m)

Иногда при записи документа выходит ошибка: "Значение поля "Номер" неуникально". Это происходит, если каким-то образом корректировался номер документа. Если для других документов можно просто перенумеровать документы за период, то для счетов-фактур выданных, которые уже "ушли" к контрагентам, номер мы менять не можем. Поэтому было разработано данное расширение, которое помогает решить проблему и запустить автонумерацию.

2 стартмани

13.03.2024    845    6    Klinov    1    

1

Перенумераторы Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Молдова Абонемент ($m)

Начальство захотело уникальный номера документов в рамках одного года вне зависимости от вида? Вызывайте психиатров.

1 стартмани

26.02.2024    860    2    Teut_Vlad    2    

1

Перенумераторы Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Простая внешняя обработка для перезаписи системного номера счета-фактуры выданного в БП 3.0.

16.01.2024    1789    38    RustIG    0    

6
Оставьте свое сообщение