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

5 Comments

  1. vcv
    Док.ВыбратьДокументы(НачалоНомера,КонецНомера);
    Пока Док.ПолучитьДокумент()=1 Цикл
    ПредНомер=Число(Док.НомерДок);
    Прервать;
    КонецЦикла;
    НовыйНомер=ПредНомер+1;
    НомерДок=Формат(НовыйНомер,»Ч(0)»+ДлинаНомера+».0″);
    

    Показать

    А как же стандартная нумерация 1С вида <Префикс><Номер>? Получается вместо одной типовой нумерации <Префикс><Номер> получаем другую <Номер><?><Субномер>?

    И быстродействие определения номера документов с нумераторами под вопросом.

    В цикле «Метаданные.Документ(Док.Вид()).Нумератор», когда можно было один раз закешировать в списке значений. Обращение к метаданным не самая быстрая операция.

    Тридцатьтри обращения к «Метаданные.Документ(Конт.Вид())» и «Конт.ДатаДок» — однозначный незачет по стилю.

    Переделаешь по уму (это касается первого замечания, все остальные просто небольшие придирки) — минус заберу обратно 🙂

    Reply
  2. aleksandr_leiman

    (1)

    Благодарю за оперативный комментарий.

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

    Например, кадровик вводит приказы по предприятию.

    № 000001 прием на работу от 01.11.2010

    № 000002 кадровые изменеия от 05.11.2010

    № 000003 увольнение от 10.11.2010

    и тут выясняется, что от 01.11.2010 нужен еще один приказ о приеме на работу

    вводится приказ № 00002а от 01.11.2010 (нумерация же должна идти по-порядку!)

    в итоге при вводе следующего приказа встроенная нумерация присваевает ему

    и всем последующим № 00002а (нумератор сбивается)

    при использовании указанной функции нумерация продолжается

    (новому приказу присваивается № 000004 и т.д.)

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

    Для РИБ и ТиС где префиксы будут, следует немного изменить функцию глоб модуля.

    (см. скорректированный текст)

    и следует иметь ввиду, что ссылка на функцию

    НомерДок=ДатьНовыйНомер(Контекст);

    в процедуре «Ввод нового» в форме документа должна располагаться после

    «глЗаполнитьШапку» (для конф. ТиС)

    в итоге данная функция работает вместо стандартной присвоения номера

    с правильным заполнением префиксов (можно проверить)

    Конечно, не думаю что следует во всех документах заменять стандартную функцию

    присвоения номера на описанную.

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

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

    здесь очень короткий и сразу прерывается.

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

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

    Например, кадровик вводит приказы по предприятию.

    № 000001 прием на работу от 01.11.2010

    № 000002 кадровые изменеия от 05.11.2010

    № 000003 увольнение от 10.11.2010

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

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

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

    Для РИБ и ТиС где префиксы будут, следует немного изменить функцию глоб модуля

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

    и следует иметь ввиду, что ссылка на функцию ….

    Это все должно быть в описании, а не в комментариях, и не приложенном файле.

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

    «Очень короткий» возможно в вашем конкретном случае. А при приличном документообороте (у меня вот порядка 1000 документов в день и мне еще далеко до чемпионов в этой номинации) цикл может оказаться совсем не маленький.

    Reply
  4. Yashazz

    Без префиксов это не стоит ничего и мало кому нужно.

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

    Reply
  5. Grigorj
    Yashazz пишет:

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

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *