|  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 | |||
| 
 |