V7.7 Нумерация

Тема в разделе "1C и всё что с ней связано", создана пользователем Anatoly1987, 20 май 2009.

Статус темы:
Закрыта.
  1. Anatoly1987

    Anatoly1987 Гость

    Привет Форумчане!

    Ребята проблема такая: мне нужно выполнить сдвижку нумерации, т.е. скажем есть документы с таким то префиксом и с такой то числовой частью, к примеру представим "П00020", как мне сделать чтобы при создании следующего документа номер был не "П00021", а "П00022"?
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Доработать процедуру "ВводНового" - обрубить префикс превратить в число, добавить единицу, првратить обратно в строку и дописать нули в нужном количестве.
     
  3. Anatoly1987

    Anatoly1987 Гость

    Чей-то я не доразорался, расскажи по шагам
     
  4. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    <!--shcode--><pre><code class='1С'>Процедура ВВодНового()
    НомерБезПрефикса = Прав(НомерДок, СтрДлина(НомерДок)-1) // Может и не нужно "-1" - не уверен, что префикс входит в номер, тот который задан в параметрах.
    НомерЧислом = Число(НомерБезПрефикса);
    НУжныйНомерСтрокой = Строка(НомерЧислом+1)
    Нули = "";
    Для Ы = 1 По (ДлинаНомераУТебя - СтрДлина(НУжныйНомерСтрокой))Цикл
    Нули=Нули+"0";
    КонецЦикла;
    НомерДок = Префикс + Нули+НУжныйНомерСтрокой;[/CODE]
    Примерно так - дальше смотри в отладчике.
     
  5. Anatoly1987

    Anatoly1987 Гость

    Ты наверное не понял меня, скажем вот номер "П00021" будет следующим, но надо пропустить только его.
     
  6. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Т.е. нужно, чтобы пропускался конкретно один номер?? А руками нельзя? Т.е. после 34 будет идти как надо - 35, а после 20 - 22-й? Что мешает поставить условие перед моим кодом? Еще более не понятно стало.
     
  7. Anatoly1987

    Anatoly1987 Гость

    Проблема в том что мы скажем так резервируем эти коды, для будущего использования. А когда мы их резервируем неизвестно. Хочу сейчас, хочу потом. Вот так вот.
     
  8. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Ну создай, например справочник "Зарезервированные коды", и

    Если НомерНайденВВСправочнике Тогда
    <То , что я писал>

    В чем проблема-то?
     
  9. Anatoly1987

    Anatoly1987 Гость

    Да я об этом тоже подумал. Просто я спрашивал на случай, что может в 1с есть эти средства. Я ж 1с не знаю нифига.)
     
  10. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Но активность в изобретении новых идей проявляется постоянно
    К вопросу - при создании нового номера можно использовать флажок "резервировать номер" и по его значению действовать - либо пропускать один номер, либо нет

    по сути правильно, но придется еще анализировать номер, когда число нулей уменьшится ( с 00099 на 00100, например).
    Вообще я всем пользователям рекомендую исправить первый номер документа с 00000001 на 1 (если тип номера текстовый) - гораздо меньше проблем в будущем
     
  11. Anatoly1987

    Anatoly1987 Гость

    Ты имееш в виду с "00000001" на "1", просто без нулей без ничего?
     
  12. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    И что же на это ответить ? Мне показалось, я отчетливо сформулировал :)
     
  13. Anatoly1987

    Anatoly1987 Гость

    Если так тогда кранты автонумерации.
     
  14. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    тебе ж в эту автонумерацию необходимо вмешаться ? Вот тебе и сказали, как это сделать...
     
  15. Anatoly1987

    Anatoly1987 Гость

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

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
  17. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Да, но я ж написал код нумерации с учетом уменьшения колмчества нулей.
     
  18. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    несложная проблема, что тут долго обсуждать, просто я обратил внимание, что количество первых нулей меняется, не прими в обиду
     
  19. Anatoly1987

    Anatoly1987 Гость

    ребята я знаю что изменение количество символов номера, становиться в последствии стихей. Конечно никогда не произойдет энтакое событие, но вероятность есть. Причем учитываю всю мою добавленную автоматику, я это все подвергаю риску. Мало того, номер документа я закрою на редактирование вообще.
     
Загрузка...
Похожие Темы - Нумерация
  1. Zhuk
    Ответов:
    18
    Просмотров:
    1.959
  2. Xalet
    Ответов:
    5
    Просмотров:
    4.239
  3. makaset
    Ответов:
    40
    Просмотров:
    13.686
Статус темы:
Закрыта.

Поделиться этой страницей