Страница 1 из 1
Автономер + контрагент
Добавлено: 09 Февраль 2012, 14:39
Smith
Есть таблица документов. Код контрагента + номер документа.Как сделать по прощее чтобы автоматом велась нумерация но раздельно по каждому контаргенту. С8 база TPS?
Может мировой разум что подскажет?... За ради Христа и Красного Полумесяца?

Re: Автономер + контрагент
Добавлено: 09 Февраль 2012, 16:08
Алексей- Софт-Центр
Добрый день!
Я бы сделал составной ключ - KL
Контрагент (K1) - по возрастанию
Договор (D1) - по убыванию
NewKey=0
clear(f:record)
f:k1= 5 !значение контрагента - например
set(f:KL,f:KL)
next(f)
if ~f:K1=5 or error() then
NewKey=1
else
NewKey=f:D1+1
end
Алексей
Re: Автономер + контрагент
Добавлено: 09 Февраль 2012, 17:52
kreator
Если используешь шаблоны ABC, посмотри метод PrimeAutoInc. Надо как-то к ООП приходить.
Re: Автономер + контрагент
Добавлено: 09 Февраль 2012, 18:47
Smith
2 Алексей : Блин, и на старуху быват проруха... Забыл Clear(Record)

))) Способ неплох, конечно. А если в базе скажем неск тыщ документов интересно, когда начнет торомозить?
2 Kreator : Ну если ты добрый человек может хоть намек?

)
Re: Автономер + контрагент
Добавлено: 09 Февраль 2012, 21:00
Ал
видимо
в словаре составн.ключ с автонум. типа
год
код контрагента
пор.ном.док.та
в Update_... вставка Local Objects - ABC Objects - Window Manager - PrimeFields PROCEDURE, Virtual
access:DISPANS.PrimeAutoInc()
access:DISPANS.CancelAutoInc()
DISPANS - как бы база)
Re: Автономер + контрагент
Добавлено: 10 Февраль 2012, 11:28
Алексей- Софт-Центр
Добрый день!
А если в базе скажем неск тыщ документов интересно, когда начнет торомозить?
Да, собственно, не тормозит)))).
Тормоза идут когда работаем с mysql и автонумерация идет по схеме:
clear(f:record)
previous(file)
Вот здесь оччччччень сильное торможение!
Алексей