Попробую подсказать. Можно, например, в bill_data сделать поле тип нумерации NumerationType, в котором можно выбрать участвует ли документ в нумерации (0 - нет, 1 - да (по умолчанию)). Тип нумерации можно выбрать для каждого документа в окне генерации документов или в BGBS через setNumerationType(). Если у него значение 0, то поля Number, NumberInMonth, NumberInYear заполняются нулями, и документу присваивается номер, указанный в окне генерации документов или через setFormatNumber(). Такой документ в дальнейшей нумерации не участвует. В дальнейшем можно использовать значения NumerationType>1, например, добавить в конфигурацию модуля строки bill.fullnumberformat.2, bill.number.length.2, bill.numberinmonth.length.2, bill.numberinyear.length.2 и таким образом, использовать несколько параллельных способов нумерации документов. Как вариант - привязывать NumerationType не к конкретному документу, а к типу документов.
И еще один способ реализации, возможно он будет даже проще: Строки конфигурации bill.fullnumberformat, bill.number.length, bill.numberinmonth.length, bill.numberinyear.length указывать не в конфигурации самого модуля, а в конфигурации типа документа. Причем, если bill.fullnumberformat=<пустое значение>, номер документа вводится вручную. В конфиге модуля эти строки можно оставить в целях обратной совместимости - они будут использоваться, если аналогичных строк не будет в конфигурации типа документа.
|