Сначала вкратце о моих действиях в системе:1. Импортирую из клиент-банка платежи. Они появляются на форме «Импортированная выписка» (табличка BankClientPayment_RU)
2. Распознаю выписку, проставляю нужные аналитические признаки (договор + фин аналитики)
3. Разношу выписку – формируется и разносится Общий журнал ГК
Теперь о «жизненном цикле» аналитик:1. Строки в таблице «BankClientPayment_RU» создаются при импорте файлов из клиент-банка - аналитики берутся из клиента/поставщика
2. При редактировании строк на форме «Импортированная выписка» (табличка BankClientPayment_RU):a. Заполнение поля «контрагент» - Аналитики в строке выписки не обновляются
b. Заполнения Группы договоров и Рег номера договора – Аналитики в строке выписки не обновляются
c. А очень хочется, чтобы обновлялись…. J
3. Далее идет обработка выписки – создание и разноска строк общего журнала. Тут аналитики один в один копируются из импортированной выписки в строки общего журнала.
ИТОГО: в договоре нет смысла вести аналитики – т.к. в импортированной выписке их все равно придется ставить руками?
Вообще говоря, к аналитикам в договоре у меня есть некие нарекания (не касается RU5):
1. Есть прекрасный метод по заполнению аналитик в строке общего журнала: LedgerJournalEngine.initDimension, который последовательно берет аналитики из разных мест, дополняя только пустые:
X++:
// If the main or the offset account type is Project,
// then transfer dimensions from ProjTable (the offset account should prevail over the main account)
// otherwise merge dimension codes in the following order:
// 1. Default dimensions from the account
// 2. Dimensions from the journal table
// 3. Default dimensions from the offset account
// 4. Fixed dimensions of the ledger accounts - filling out whatever dimensions might be missing.
// 5. Dimensions from the primary account
Однако если вдруг появляется договор – втупую переписываются все аналитики из строки общего журнала на аналитики договора (см. LedgerJournalEngine.initFromRContractTable_RU)
X++:
_ledgerJournalTrans.Dimension = rContractTable.Dimension;
Т.е. сначала потихонечку собирали аналитики кусочками из разных мест, а потом бац – и переписали все пустыми аналитиками из договора.