23.12.2010, 19:38 | #11 |
Роман Долгополов (RDOL)
|
Обещанный пример "самодельных" RecId для 3.0
В вложении проект с парой классов и джобом джоб также повторю здесь X++: static void recIdExtraTest(Args _args) { mSequence_RecIdExtra seq = new mSequence_RecIdExtra(); RecIdExtraTest recIdExtraTest; int i; ; // эта строка запрещает для таблицы раздачу стандартных RecId // должна быть выполнена до начала пользования новым нумератором // например можно поместить в appl.startupPost() new SystemSequence().suspendRecIds(tablenum(RecIdExtraTest)); for (i = 1; i <= 1000; i++) { // Раздача самодельных RecId recIdExtraTest.(fieldnum(Common, RecId)) = seq.value(); recIdExtraTest.insert(); } } Присвоение RecId только вручную. Возможности глобально сказать что для таких то таблиц брать RecId из нового нумератора нельзя (даже перекрыв insert() могут остаться вызовы doInsert() и вставка через RecordInsertList). Родной режим потабличного RecId в трешке хоть и есть, но неработоспособен (поищите на форуме) Если захочется еще нумераторов, то дублируете mSequence_RecIdExtra, называете как хочется и используете. Предупреждение - все эти извращения на свой страх и риск. Прежде чем использовать на промышленных инсталляциях тестировать и еще раз тестировать. Все это работает и проверено годами, но осторожность не помешает В вашем случает наверняка имеет смысл сделать это для SalesParm*/PurchParm* таблиц |
|
|
За это сообщение автора поблагодарили: DPO (1). |