|
23.12.2010, 17:55 | #1 |
Участник
|
Цитата:
Цитата:
Сообщение от glibs
Я помню идею заталкивать отдельные таблицы в виртуальные компании. Я над ней не думал из-за того, что это путь в тупик. Но если вы скоро спрыгнете на САП, то стоит и ее рассмотреть (ломать — так ломать). Но это если ваш функционал может адекватно работать с виртуальными компаниями.
|
|
23.12.2010, 23:04 | #2 |
Member
|
Цитата:
Сообщение от DPO
...
чем плохо такое соотношение записей в этих таблицах. ...
__________________
С уважением, glibs® |
|
24.12.2010, 08:47 | #3 |
Модератор
|
DPO, простите, все же можете показать Ваши top 20 таблиц по количеству записей (из праздного любопытства пока спрашиваю)
Цитата:
Хотелось бы услышать ваше мнение о реализации потабличного RecId с помощью дефрагментации
__________________
-ТСЯ или -ТЬСЯ ? |
|
27.12.2010, 10:44 | #4 |
Модератор
|
Я на выходных еще немного подумал и вот что получается
- Вам придется реорганизовывать ("укладывать параллельно") все таблицы, потому что иначе нельзя (ну, небезопасно по крайней мере) сдвигать "назад" счетчик в SystemSequences, чтобы потом не нарваться на неуникальность сгенерированного RecId - Это означает что придется где-то прописать все связи по RecId - Алгоритм ацки усложнится по сравнению со стандартным, который заточен на то, что значения RecId в пределах компании все же уникальны Т.е. в общем случае решение довольно сложное и не очень живучее получается. С другой стороны, если у Вас только небольшая часть функционала используется, то можно попробовать
__________________
-ТСЯ или -ТЬСЯ ? |
|
23.12.2010, 19:38 | #5 |
Роман Долгополов (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). |
05.10.2017, 12:40 | #6 |
Участник
|
Лучше договориться с пользователями и залить только справочники и исходные остатки и стартовать в новой базе.
|
|
|
За это сообщение автора поблагодарили: Kasper (1). |
05.10.2017, 12:57 | #7 |
Участник
|
Еще вопрос
По моему, после проведения операций Проверка кодов записей, запрос к systemsequence уже не покажет реальной картины?
__________________
Axapta 3.0 SP6 |
|