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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.01.2002, 16:47   #1  
Anton Sk. is offline
Anton Sk.
Участник
 
35 / 11 (1) +
Регистрация: 14.11.2002
Номерные серии в объектах Заказ и Закупка
Добыты некоторые знания о номерных сериях в Axapta.

Была поставлена задача - создать объект закупки со строками для другой компании. При добавлении новой строки в таблицу Закупки, требуется присвоить соответствующему полю уникальный номер. Для Закупки – это будет «Зкп.######».

Для решения задачи присвоения уникального номера я использовал класс NumberSeq. Логика поиска класса ответственного за назначение номерных серий была следующая. В стандартной Axapta при добавлении новой строки в таблицу Закупок используется класс PurchTableType. В этом классе есть метод, запускающий метод класса NumberSeq:
X++:
PurchId  getNewPurchId()
{;
    purchNumberSeq = NumberSeq::newGetNum(purchParameters::numRefPurchId(), true);
    return purchNumberSeq.num();
}
Я использовал этот метод, переписав его в мой класс один в один.

ClassDeclaration:
X++:
class HB_SalesPurchGeneric
{
    NumberSeq       purchNumberSeq;
}
new:
X++:
void new()
{
    purchNumberSeq = new NumberSeq();
}
main:
X++:
static void  main(Args  args)
{
HB_SalesPurchGeneric    hb_SalesPurchGeneric;
PurchId		    numberSeqPurchId;

hb_SaleSPurchGeneric = new HB_SalesPurchGeneric();
. . . . .. . . . .. . . . . . . . . . . . . . . .

//Получаю новый номер серии для Закупки
numberSeqPurchId = hb_SaleSPurchGeneric.getNewPurchId();
. . . . .. . . . .. . . . . . . . . . . . . . . .
}
Для объектов Заказы существует класс SalesTableType, в котором есть аналогичный метод
X++:
SalesId  getNewSalesId()
{
    salesIdSeq = NumberSeq::newGetNum(SalesParameters::numRefSalesId(), true);
    return  salesIdSeq.num();
}
__________________
Антон Скоробогатов
Старый 19.06.2002, 13:53   #2  
SergS is offline
SergS
Участник
 
8 / 13 (1) ++
Регистрация: 19.06.2002
Адрес: Балашиха
Для того чтобы не было проблем с номерными сериями в заказах необходимо

salesTable.SalesId = salesTableType.getNewSalesId(); // выделение нового SalesId
salesTableType.numAllocated(salesTable.SalesId); // Подтверждение
salesTable.insert();

salesTableType.salesIdUsed(); // Подтверждение использования SalesId

PS
salesTableType.salesIdAbort(); // Для освобождения SalesId
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос про номерные серии Umi DAX: Функционал 16 10.03.2009 17:30
Номерные серии в новом учетном периоде sda_1978 DAX: Функционал 4 21.12.2006 10:55
Номерные серии Aslan DAX: Программирование 16 01.03.2006 16:12
Номерные серии для Контактных лиц в Axapta CRM Alex-bs DAX: Функционал 2 10.02.2006 11:29
Про номерные серии andreynikolai DAX: Программирование 1 13.03.2003 14:00

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

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

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