Недавно допиливал этот функционал!
стандартный достаточно сырой, есть кое-где недоработки.
в нашем случае стояла задача создания РБП по данным регистра! В связи с чем были настроены счетчики на определенные регистры... Несмотря на адекватность настроек пришлось лезть в код и кое-чего править, по объему кода конечно немного получилось, но все равно доработка

А вот касательно сбора данных по бух. счетам, насколько помню все было более менее нормально настроено!
Очень странно, что у вас проблемма именно с кодом РБП, так как код генерируется по номерной серии!!! либо у Вас нет настроенной номерной серии в параметрах, либо она настроена не так, либо уже производилась кастомизация данного функционала!!!
Непосредственно создание нового РБП ч/з переодическую операцию происходит в классе RTax25StdChannel_Deferral, а еще точнее в методе этого класса send():
X++:
void send(RTax25StdExpression _expression)
{
RDeferralsGroup deferralsGroup;
boolean loop;
RDeferralsTable deferralsTable;
RDeferralsBook deferralsBook;
if (! transMap.exists(RTax25StdChannelOutputMode::Output))
throw error("@DIS9618");
deferralsTable = RdeferralsTable::findFromSource(transMap.lookup(#TableIdOffset).int(),
transMap.lookup(#RecIdOffset).int(),
transMap.lookup(#ProfitIdOffset).bStr());
if (! deferralsTable.RecId)
{
deferralsTable.initValue();
deferralsTable.DeferralsId = this.rDeferralsId();
....
}
this.insertTable(deferralsTable);
....
}
а строка this.rDeferralsId() как раз и генерит номер очередной!!!