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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.01.2004, 11:18   #1  
YVAS is offline
YVAS
1C
Аватар для YVAS
1C
 
265 / 10 (1) +
Регистрация: 31.07.2003
? Измнение номерной серии программно..как?
Возникла необходимость при программной вставке записи в таблицу LedgerJournalTrans, соответственно нужно программно увеличивать значение номерной серии по полю Voucher. Такими делами ранее не занимался. Может подскажете путь решения проблемки?
Старый 09.01.2004, 12:06   #2  
bucken is offline
bucken
Участник
Аватар для bucken
 
259 / 12 (1) ++
Регистрация: 04.09.2003
Адрес: Москва
про
По поводу LedgerJournalTrans - не делал, но вот по Шапке SalesOrder
делал:

PHP код:
           salesTableType salesTable.type();
           
salesTable.SalesId salesTableType.getNewSalesId();
           
salesTableType.numAllocated(salesTable.salesId);
            
salesTableType.salesIdUsed(); 
Для LedgerJournalTrans - должно быть по аналогии наверняка.
P.S. Вообще на форуме где-то то было еще чего-то. )))
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5
Старый 09.01.2004, 12:14   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Неслабый вопросик
Надеюсь, что "программная вставка записи в таблицу LedgerJournalTrans" делается с помощью классов LedgerVoucher, LedgerVoucherObject, LedgerVoucherTransObject.
Для получения нового значения из какой-либо номерной серии используется класс NumberSeq.
НО Voucher может иметь много различных номерных серий для разных типов исходных документов. Для того чтобы определить какую же номерную серию вам надо, используется классы NumberSeqReference_...

Конкретные примеры использования лучше всего смотреть в коде.
Старый 09.01.2004, 12:42   #4  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
PHP код:
MyTable.Voucher NumberSeq::newGetNumFromCode("Моя_Серия"truefalse).num(); 
Имя серии нужно читать из соответствующих parameters. Либо прописать ручками.. Первый вариант лучше.
Старый 09.01.2004, 16:41   #5  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Смотрите классы LedgerInAccountStatement* Они как раз занимаются программной вставкой строк в таблицу LedgerJournalTrans. Правда с непрерывными номерными сериями они там напортачили немного.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 18.07.2005, 14:51   #6  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
Никак не могу догнать почему может не работать следующий код:
PHP код:
static void testNumSeq(Args _args)
{
    
NumberSeq numSeq;
    
Voucher voucher;
    ;
    
ttsbegin;
        
numSeq =  NumberSeq::newGetVoucherFromCode('КЛ_Платеж'truefalse);
        
voucher numSeq.num();
    
ttscommit;
    
Info(voucher);

Вылетает при первой же проверке в num():
PHP код:
    if (!numberSequenceCode || voucherSequenceCode)
        throw 
error("@SYS26051"); 
Причем по обеим частям:
numberSequenceCode=''
voucherSequenceCode='КЛ_Платеж'

PS: Причем отлично помню что когда-то программно создавал и разносил общий журнал и с сериями проблем не было.
Старый 18.07.2005, 14:56   #7  
axLog is offline
axLog
Участник
 
286 / 10 (1) +
Регистрация: 01.03.2004
А зачем Вам тут транзакционные скобки (tts) ? Что и куда Вы пишите в базу ? Нет же ни create, ни update.
Старый 18.07.2005, 15:00   #8  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
это я скопировал из кода, где они были нужны. Конечно для данного джоба они лишние
Старый 18.07.2005, 15:06   #9  
axLog is offline
axLog
Участник
 
286 / 10 (1) +
Регистрация: 01.03.2004
Напишите подробно, что, по Вашему мнению, делает первый (после ttsbegin) оператор, и что - второй. Тогда наверное поймете.
Старый 18.07.2005, 15:59   #10  
malex is offline
malex
Участник
 
164 / 19 (1) ++
Регистрация: 10.08.2004
Адрес: Тверь, Москва
Блин, совсем заработался. Вместо newGetNumFromCode newGetVoucherFromCode выбрал и не заметил.
 

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

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

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

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