|
|
|
|
#1 |
|
Участник
|
Недавно допиливал этот функционал!
стандартный достаточно сырой, есть кое-где недоработки. в нашем случае стояла задача создания РБП по данным регистра! В связи с чем были настроены счетчики на определенные регистры... Несмотря на адекватность настроек пришлось лезть в код и кое-чего править, по объему кода конечно немного получилось, но все равно доработка ![]() А вот касательно сбора данных по бух. счетам, насколько помню все было более менее нормально настроено! Очень странно, что у вас проблемма именно с кодом РБП, так как код генерируется по номерной серии!!! либо у Вас нет настроенной номерной серии в параметрах, либо она настроена не так, либо уже производилась кастомизация данного функционала!!! Непосредственно создание нового РБП ч/з переодическую операцию происходит в классе 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); .... } |
|
|
|
|
#2 |
|
Участник
|
Кастомизации у нас нету. Номерная серия вроде нормально настроена, какие там могут быт особенности в настройке?
Строка, которую Вы приводите действительно генерит номер. Только есть один нюанс. После того, как сгенерировано хотя бы раз объект РБП этим способом, программа больше не заходит в этот код. Вот это место: deferralsTable = RdeferralsTable::findFromSource(transMap.lookup(#TableIdOffset).int(), > transMap.lookup(#RecIdOffset).int(), > > transMap.lookup(#ProfitIdOffset).bStr()); Здесь как раз и производится поиск ранее созданных РБП таким автоматическим способом. Просто не выполнятется условие if (! deferralsTable.RecId)
|
|
|
|
|
#3 |
|
Участник
|
Цитата:
Сообщение от MNG
Кастомизации у нас нету. Номерная серия вроде нормально настроена, какие там могут быт особенности в настройке?
Строка, которую Вы приводите действительно генерит номер. Только есть один нюанс. После того, как сгенерировано хотя бы раз объект РБП этим способом, программа больше не заходит в этот код. Вот это место: deferralsTable = RdeferralsTable::findFromSource(transMap.lookup(#TableIdOffset).int(), > transMap.lookup(#RecIdOffset).int(), > > transMap.lookup(#ProfitIdOffset).bStr()); Здесь как раз и производится поиск ранее созданных РБП таким автоматическим способом. Просто не выполнятется условие if (! deferralsTable.RecId) ![]() В нашем случае это был журнал налоговых регистров, точнее даже строка журнала! В итоге ежемесячно мы имеем новый источник для РБП и код выполнялся с завидной периодичностью ![]() Если у вас нет источника, т.е. группа полей "Источник создания расхода" у нового РБП у вас не проинициализированы, то тут конечно получается затык... Возможно если нельзя в качестве таблицы источника(поле Название таблицы) и RecId записи в этой таблице(поле ссылка) что-то указать реальное (тот же журнал ГК какой нить или еще чего) то может просто попробовать генерировать поле "ссылка" каким либо значением... как вариант ьуже номерную серию пркрутить... |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|