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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.08.2004, 12:14   #1  
demID is offline
demID
Участник
 
61 / 12 (1) ++
Регистрация: 16.08.2004
Адрес: Москва
? Резервирование 10000 номеров из номерной серии
Привет всем!
Передо мной стоит задача: интеграция Аксапты 3.0 с другой системой. Для этой другой системы нужно ежедневно запрашивать по несколько тысяч номеров счетов-фактур из Аксапты. Потом эта система создаст реальные счета-фактуры, которые будут снова вовращены в Аксапту и сохранены с заранее зарезервированными номерами.
Следующий написанный мною код выполняет эту задачу:

//09.07.2004 DDemidov - Резервирование номеров счетов-фактур аванса для САП
static void ReserveFacturaNumbers_Avans(int _howManyNumbers, TransDate _transDate)
{
NumberSeq factureNumberSeq;
str num;
int i;
SAPReservNumbers_Avans sAPReservedFacturaNumbers;
;

delete_from sAPReservedFacturaNumbers;

try
{
ttsbegin;
factureNumberSeq = NumberSeq::newGetNum
(CustParameters::numRefCustPrepaymentFactureId_RU());

for (i=0; i<_howManyNumbers; i++)
{
num = factureNumberSeq.num();
factureNumberSeq.used();
sAPReservedFacturaNumbers.clear();
sAPReservedFacturaNumbers.ReservedNum = num;
sAPReservedFacturaNumbers.TransDate = _transDate;
sAPReservedFacturaNumbers.insert();
}
ttscommit;
}
catch(Exception::Error)
{
return;
}
}

Данный код выбрасывает новые номера в специальную таблицу, из которой потом другая система берет эти номера. Каждый новый номер сохраняется в отдельной строке этой специальной таблицы

Проблема: это работает очень медленно. Причем убирал код, который кладет зарезервированные номера в специальную таблицу, быстродействие не повысилось. Медленно работает функция factureNumberSeq.num().

Есть ли способ получить нужное количество номеров за одну итерацию, а не в цикле? И при этом, чтобы номерная серия продолжала корректно работать, т.е. возвращать уникальные номера с инкрементным возрастанием?
Старый 16.08.2004, 12:29   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Попробуйте включить предварительное выделение для номерной серии (Серии документов, закладка "Производительность"). Если не устроит, возможны варианты. Например, работа напрямую с таблицей (без класса NumberSeq).
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Очистка номерной серии Anders DAX: Функционал 9 03.12.2010 08:57
Получение последнего номера из номерной серии longson DAX: Программирование 12 21.06.2007 13:30
привязка к новой номерной серии delicia DAX: База знаний и проекты 5 01.04.2007 22:40
Непрерывность номерной серии YaHooka DAX: Функционал 7 30.06.2005 18:04
Axapta 2.5 - Система не поддерживает настройку "непрерывности" номерной серии Базо_1 SDA DAX: Администрирование 8 02.10.2003 21:05

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

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

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