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

24.11.10

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

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

Скачать файлы

Наименование Файл Версия Размер
Автонумерация документов.txt
.txt 4,62Kb
151
.txt 4,62Kb 151 Скачать

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

См. также

Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"

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

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

1 стартмани

22.12.2023    661    9    user706545_kseg1971    0    

4

1С 7.7 и новый 1С:Контрагент

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

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

25.04.2022    1821    zhenyat    7    

6

Перенумерация документов для Бух 7.7

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

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

1 стартмани

01.07.2021    4396    4    Ant10    0    

2

Печать таблицы значений в 1С 7.7 при отладке

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

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

30.06.2021    4406    Zoltan_Black    11    

2

Установка принтера по умолчанию для 1С 7.7

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

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

1 стартмани

13.02.2019    13286    4    alsen    3    

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

А как же стандартная нумерация 1С вида <Префикс><Номер>? Получается вместо одной типовой нумерации <Префикс><Номер> получаем другую <Номер><?><Субномер>?
И быстродействие определения номера документов с нумераторами под вопросом.
В цикле "Метаданные.Документ(Док.Вид()).Нумератор", когда можно было один раз закешировать в списке значений. Обращение к метаданным не самая быстрая операция.
Тридцатьтри обращения к "Метаданные.Документ(Конт.Вид())" и "Конт.ДатаДок" - однозначный незачет по стилю.
Переделаешь по уму (это касается первого замечания, все остальные просто небольшие придирки) - минус заберу обратно :)
2. aleksandr_leiman 90 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 4709 26.11.10 14:59 Сейчас в теме
Без префиксов это не стоит ничего и мало кому нужно.

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

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


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