Автонумерация документов

24.11.10

Разработка - Универсальные функции

Универсальная процедура автонумерации - решение, учитывающее ручные исправления номеров документов.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Автонумерация документов.txt
.txt 4,62Kb
151
151 Скачать (1 SM) Купить за 1 850 руб.

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

См. также

Универсальные функции Программист Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    1371    14    user706545_kseg1971    0    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    2339    zhenyat    7    

8

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

Данная обработка выполняет перенумерацию (присвоение новых номеров документам) в Бухгалтерии предприятия 7.7 за выбранный период.

1 стартмани

01.07.2021    4595    4    Ant10    0    

2

Универсальные функции Программист Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    5138    Zoltan_Black    11    

2

Универсальные функции Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13933    4    alsen    3    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vcv 89 24.11.10 08:33 Сейчас в теме
Док.ВыбратьДокументы(НачалоНомера,КонецНомера);                        
Пока Док.ПолучитьДокумент()=1 Цикл
	ПредНомер=Число(Док.НомерДок);
	Прервать;
КонецЦикла;   
НовыйНомер=ПредНомер+1;
НомерДок=Формат(НовыйНомер,"Ч(0)"+ДлинаНомера+".0");
Показать

А как же стандартная нумерация 1С вида <Префикс><Номер>? Получается вместо одной типовой нумерации <Префикс><Номер> получаем другую <Номер><?><Субномер>?
И быстродействие определения номера документов с нумераторами под вопросом.
В цикле "Метаданные.Документ(Док.Вид()).Нумератор", когда можно было один раз закешировать в списке значений. Обращение к метаданным не самая быстрая операция.
Тридцатьтри обращения к "Метаданные.Документ(Конт.Вид())" и "Конт.ДатаДок" - однозначный незачет по стилю.
Переделаешь по уму (это касается первого замечания, все остальные просто небольшие придирки) - минус заберу обратно :)
2. aleksandr_leiman 107 24.11.10 22:19 Сейчас в теме
(1)
Благодарю за оперативный комментарий.

попытаюсь ответить.

Например, кадровик вводит приказы по предприятию.
№ 000001 прием на работу от 01.11.2010
№ 000002 кадровые изменеия от 05.11.2010
№ 000003 увольнение от 10.11.2010
и тут выясняется, что от 01.11.2010 нужен еще один приказ о приеме на работу
вводится приказ № 00002а от 01.11.2010 (нумерация же должна идти по-порядку!)
в итоге при вводе следующего приказа встроенная нумерация присваевает ему
и всем последующим № 00002а (нумератор сбивается)
при использовании указанной функции нумерация продолжается
(новому приказу присваивается № 000004 и т.д.)

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

Для РИБ и ТиС где префиксы будут, следует немного изменить функцию глоб модуля.
(см. скорректированный текст)
и следует иметь ввиду, что ссылка на функцию
НомерДок=ДатьНовыйНомер(Контекст);
в процедуре "Ввод нового" в форме документа должна располагаться после
"глЗаполнитьШапку" (для конф. ТиС)
в итоге данная функция работает вместо стандартной присвоения номера
с правильным заполнением префиксов (можно проверить)

Конечно, не думаю что следует во всех документах заменять стандартную функцию
присвоения номера на описанную.
Чаще всего использую эту функцию в кассовых документах, счетах-фактурах, приказах.

Быстродействие обращения к объекту "Метаданные" здесь вполне приемлимое, поскольку цикл
здесь очень короткий и сразу прерывается.

Что касается стиля, согласен недочеты есть, буду работать



3. vcv 89 25.11.10 08:15 Сейчас в теме
попытаюсь ответить.
Например, кадровик вводит приказы по предприятию.
№ 000001 прием на работу от 01.11.2010
№ 000002 кадровые изменеия от 05.11.2010
№ 000003 увольнение от 10.11.2010

Особенности нумерации нужно было объяснить в описании. Или доработать, что бы можно было использовать типовую нумерацию с префиксами.
Поскольку в бух учете префиксы не используются, то на этом исправления закончены.

Ню-ню. А поскольку ты ни разу в жизни не видел вскрытого человека, сердца, печенки и прочей требухи не существует?
Для РИБ и ТиС где префиксы будут, следует немного изменить функцию глоб модуля

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

Это все должно быть в описании, а не в комментариях, и не приложенном файле.
Быстродействие обращения к объекту "Метаданные" здесь вполне приемлимое, поскольку цикл здесь очень короткий и сразу прерывается.

"Очень короткий" возможно в вашем конкретном случае. А при приличном документообороте (у меня вот порядка 1000 документов в день и мне еще далеко до чемпионов в этой номинации) цикл может оказаться совсем не маленький.
4. Yashazz 4790 26.11.10 14:59 Сейчас в теме
Без префиксов это не стоит ничего и мало кому нужно.

Э-эх, выложу я когда-нибудь свою подсистему нумерации...
5. Grigorj 16.09.11 14:41 Сейчас в теме
Yashazz пишет:

Э-эх, выложу я когда-нибудь свою подсистему нумерации...


Не стоит откладывать благие намеренья...
Оставьте свое сообщение