AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.01.2004, 16:43   #1  
uk is offline
uk
Участник
 
14 / 10 (1) +
Регистрация: 06.05.2003
Адрес: Санкт-Петербург
? 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  
uk is offline
uk
Участник
 
14 / 10 (1) +
Регистрация: 06.05.2003
Адрес: Санкт-Петербург
Проблема была отложена, теперь настало время к ней вернуться, и решение найдено.
Возможно, кому-то эта информация окажется полезной.
При запуске 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 Alex_V NAV: Администрирование 2 15.12.2003 17:43
Переход на Navision Attain Makc_1 NAV: Прочие вопросы 3 30.07.2003 14:36
attain - Переход на attain Helen NAV: Прочие вопросы 8 04.06.2003 20:34
Attain 3.60, XML Dataport Import kolesnikov NAV: Администрирование 4 22.05.2003 18:35
1С и Attain SlavaShevtsov NAV: Прочие вопросы 2 25.02.2003 17:20

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:41.