Страница 1 из 1

Автономер + контрагент

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

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)
Вот здесь оччччччень сильное торможение!

Алексей