Дробная нумерация счетов. Проблема

Новая тема
На нашем предприятии счета нумеруются так:
в январе: 01/01
          02/01
          03/01
в феврале:04/02
          05/02
          06/02
То есть, как видите, до дроби номера счетов идут по порядку, а после - по номеру месяца. Как автоматизировать этот процесс? Я лишь начинающий бухгалтер, автоматическая нумерация застряла у меня на номере 99/09. Изменять номер вручную часто забываю, начальство ругается. Подскажите, что сделать. Ваши ответы будут очень важны для меня.
Спасибо.
Оригинальная система. Но так и не понятно в чём собственно проблема.
А так же _где_ эта проблема.
В Типовой конфигурации 1С v 7.7. Проблема в том, что такая нумерация не осуществляется автоматически при создании нового счета.
И не будет, надо писать самому
1 вариант: позвать программиста.
2 вариант: сначала месяц, затем номер счета.
Издержки второго варианта - надо не забывать по первым числам производить ручную правку номера. А чтобы не застревало на 99, предусмотреть нужное число нулей.
в январе: 01/001
         01/002
         01/003
"Надо программно задать нумерацию. Например, написать код, так чтобы номер формировался при создании нового документа:
Номер месяца\Номер последнего документа в месяце + 1

Функция СформироватьНомер()

Док = СоздатьОбъект("Документ.Счет");
СпН = СоздатьОбъект("СписокЗначений");
Док.ВыбратьДокументы(НачМесяца(ДатаДок),КонМесяца(ДатаДок));
Пока Док.ПолучитьДокумент() = 1 Цикл
   ПозНомера = Найти(СокрЛП(Док.НомерДок),"/");
Номер = Прав(СокрЛП(Док.НомерДок),СтрДлина(Док.НомерДок)-ПозНомера);//определяем кол-во знаков после дроби
СпН.ДобавитьЗначение(Номер);
КонецЦикла;
СпН.Сортировать();
Если СпН.РазмерСписка() > 0 Тогда
ПозПоследнего = СпН.РазмерСписка();
НомерПоследнего = Число(СпН.ПолучитьЗначение(ПозПоследнего));
Иначе
НомерПоследнего = 0;
КонецЕсли;

НомерДок = """"+ДатаМесяц(ДатаДок) + "/" + (НомерПоследнего + 1);
Возврат НомерДок;

КонецФункции

Процедура ВводНового()
       ...

       НомерДок = СформироватьНомер();//Добавляем в процедуру документа ВводНового()

КонецПроцедуры

19/12 Уточнение к замечанию:
Зачем нам перебирать все документы за период, и создавать список значений, разве не проще воспользоваться
ОбратныйПорядок(<Режим>)
Назначение:
Установить порядок выборки документов во времени.
Возвращает значение порядка выборки до вызова:   1 - выборка документов в порядке убывания даты и времени;  0 - в порядке возрастания.
и получить сразу последний выписанный документ.

Перебираем затем, что последний выписанный документ не обязательно с последним номером!
Сортировка по Номеру тоже не годится т.к. возможны варианты: 01/999 и 01/1000. Что окажется в конце?"
Слово типовая 1С... мало о чём говорит. Хотя если свой план счетов, да
ещё такой - это уже не типовая. Не описано где и как должно использоваться.
Лично моё мнение - в том же глобальном модуле сделать функцию, которая будет
возвращать нужный номер счета исходя из даты, например получить_счет(номер, дата)
Т.е. имеем номер счёта и дату - вызываем функцию, а она возвращает тот номер,
который нужно.
IlyaM, ну что-то в этом роде нужно,да.

IlyaM, а никак нельзя вместо:

Номер месяца\Номер последнего документа в месяце + 1

сделать:

Номер последнего документа в месяце + 1\Номер месяца
"НомерДок = """"+(НомерПоследнего + 1) + "/" + ДатаМесяц(ДатаДок);

в чем проблема-то? Меняйте местами как хотите:))"
Читают тему
(гостей: 1)

Быстрый переход