13.01.2004, 16:43 | #1 |
Участник
|
Import Consolidation from File <Attain>
Настраиваю консолидацию. Внутренняя консолидация - для фирм из одной базы -отрабатывает нормально (Report 90 Import Consolidation from DB).
Затем пытаюсь сделать консолидацию через файл. Экспорт консолидированной информации в файл (Report 91) проходит нормально. Но когда запускаю импорт (Report 92 Import Consolidation from File) - выдается сообщение, что транзакция не будет выполнена, поскольку иначе нарушится целостность таблицы GL Entry. Просмотрел весь выполняемый код - в одном месте в кодеюните 12 есть функция CONSISTENT, но она для всех счетов TRUE. Поэтому непонятно, что там еще может быть с целостностью, тем более, что "внутрибазовая" консолидация отрабатывает нормально, следовательно, данные и настройки корректны. В чем здесь может быть дело? Спасибо. |
|
26.03.2004, 17:13 | #2 |
Участник
|
Проблема была отложена, теперь настало время к ней вернуться, и решение найдено.
Возможно, кому-то эта информация окажется полезной. При запуске Rep92 (Import Consolidation from File) некорректно считывается информация из текстовика, а именно: если значение больше 13 символов (включая оператор «-» и разделители разрядов), то последние символы обрезаются. Например, исходное значение -171 778 298,96 (15 символов), в базу заливается только -171 778 298 (13 символов). В результате нарушается целостность таблицы GLEntry и операция прерывается. Лечится это следующим образом: Rep92 OnPostDataItem …………………………… WHILE GLEntryFile.POS <> GLEntryFile.LEN DO BEGIN GLEntryFile.READ(TextLine); EntryNo := EntryNo + 1; CASE COPYSTR(TextLine,1,4) OF '<02>':BEGIN TempGLEntry.INIT; TempGLEntry."Entry No." := EntryNo; EVALUATE(TempGLEntry."G/L Account No.",COPYSTR(TextLine,5,20)); EVALUATE(TempGLEntry."Posting Date",COPYSTR(TextLine,26,9)); //Меняем 13 на 19, поскольку всего в строке может быть 36+19=55 символов //EVALUATE(TempGLEntry.Amount,COPYSTR(TextLine,36,13)); EVALUATE(TempGLEntry.Amount,COPYSTR(TextLine,36,19)); // TempGLEntry.INSERT; END; '<03>':BEGIN TempDimBuf."Table ID" := DATABASE::"G/L Entry"; TempDimBuf."Entry No." := TempGLEntry."Entry No."; TempDimBuf."Dimension Code" := COPYSTR(TextLine,5,20); TempDimBuf."Dimension Value Code" := COPYSTR(TextLine,26,20); TempDimBuf.INSERT; END; END; END; ……………………….. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Navision Attain через Citrix | 2 | |||
Переход на Navision Attain | 3 | |||
attain - Переход на attain | 8 | |||
Attain 3.60, XML Dataport Import | 4 | |||
1С и Attain | 2 |
|