7.7 Автоматическое изменение номеров документов

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем twoeyes, 7 фев 2007.

  1. TopicStarter Overlay
    twoeyes
    Offline

    twoeyes

    Регистрация:
    7 фев 2007
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    В процессе работы возникают пропущенные номера документов, например кассовых. (Это не ошибка, а жизненная реальность). Бухгалтер просит, что бы по окончанию определенного периода нумерация документов была автоматически восстановлена (без пропущенных номеров). Помогите советом - как это сделать. Особенно прошу Tiger(а).
  2. 1010011010
    Offline

    1010011010 [1cworld]

    Регистрация:
    1 авг 2006
    Сообщения:
    582
    Симпатии:
    0
    Баллы:
    26
    документ сохраняется без номера??
  3. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29

    Диск ИТС. Устанавливаешь дополнительные обработки. Универсальная обработка подбора объектов. Делает несколько полезных операций, в том числе и ту которую ты хочешь.
    Без проблем восстановишь нумерацию в любых документах с любого номера с префиксом и без... Да сам разберешься.
  4. Неназываемый
    Offline

    Неназываемый Опытный в 1С Команда форума

    Регистрация:
    2 фев 2007
    Сообщения:
    507
    Симпатии:
    7
    Баллы:
    29
    А бухгалтер не задумывался что это не с проста? Как он потом к примеру кассовую книгу сделает. Ну и на худой конец бух не сможет найти документ прошлого периода.

    Ну если уж сильно приспичило:
    Код:
    //*******************************************
    Процедура Сформировать() 
    ДатаНач = Дата("01.01.2003");
    ДатаКон = Дата("31.12.2003");
    Док = СоздатьОбъект("Документ");
    Для К = 1 По 2 Цикл 
    Ном = 0;
    Док.ВыбратьДокументы();
    Пока Док.ПолучитьДокумент() = 1 Цикл
    Если (Док.Вид() = "РасходныйОрдер") или (Док.Вид() = "ПриходныйОрдер") Тогда
    Ном = Ном + 1;   
    Номер = Строка(Ном);
    Если К = 2 Тогда
    Пока СтрДлина(Номер) < 8 Цикл
    Номер = "0" + Номер;
    КонецЦикла;                    
    КонецЕсли;
    Проведен = Док.Проведен();            
    Пометка = Док.ПометкаУдаления();
    Если Пометка = 1 Тогда
    Док.СнятьПометкуУдаления();
    КонецЕсли;
    Док.НомерДок = Номер;                
    Если Проведен = 1  Тогда
    Док.Провести();
    КонецЕсли;
    Если Пометка = 1 Тогда
    Док.Удалить(0);
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    КонецПроцедуры
    //*******************************************
    
  5. TopicStarter Overlay
    twoeyes
    Offline

    twoeyes

    Регистрация:
    7 фев 2007
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Для 1010011010 Номера присваиваются, но жизнь богаче и разнообразней чем числовой ряд 1С.

    Для Vlad - Спасибо за подсказку о диске ИТС, но в нашей глубинке, те кто сопровождают 1С высказали мнение, что это вообще невозможно. Я получаю только диск с обновлениями.

    Для "Неназываемый" - большое спасибо за конкретный код. Прямо сегодня попробую. А что касается кассовых книг -бумага терпит все, и не однократно.

    Для организаторов форума - БОЛЬШОЕ СПАСИБО!!!
  6. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29

    Спасибо за "спасибо". Вот только я не понял, что невозможно в вашей глубинке: найти диск ИТС или сделать перенумерацию с помощью обработки?

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