Автонумерация и форма обновление

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Добрый день!

C5508, ABC

Есть ключ, скажем (Year+AutoNumber) ключ уникальный с автонумерацией.
В форме инициализируется год, но автонумерации не происходит.
Что где "подкрутить"?

С уважением Мартюшев Леонид
mailto:leonid@opfr.komi.com

(Добавление)

открываешь тобой не любимый исходный текст и смотришь а в том ли месте инициализируешь год :(

--
Всего наилучшего, porutchik mailto:porutchik@mail.primorye.ru
http://personal.primorye.ru/porutchik/
---------------------------------------------------------
Советские боевые слоны - самые боевые слоны в мире!

Год инициализируется в стандартном шаблоне формы там где кнопка [Field Priming on Insert]

С уважением Мартюшев Леонид

(Добавление)

Сто лет не писал уже на ABC, но четко помню, что у меня тоже не работала автонумерация, если делать инициализацию в этом шаблоне.
Зато четко работало, если прописать нужное значение (например, переменную или функцию) в словаре в поле Initial Value на второй закладке. Не совсем, на мой взгляд, правильно, но работает.
В Legacy или ШВС таких проблем нет.

WBR, Igor Timofeev
Написал: ClaList(2)
Гость

Сообщение Гость »

Привет !

И не должна в форме производиться автонумерация ...

Автонумерация производиться при добавлении записи, а потом
вызывается форма для заполнения полей добавляемой записи.

Соответственно необходимо в Browse определить год, до
добавления записи и вызова формы:

BRW1.PrimeRecord PROCEDURE(BYTE SuppressClear = 0)
.......
Pla:Year = Year(Today()) ! Определить год, до добавления записи
! Parent Call
ReturnValue = PARENT.PrimeRecord(SuppressClear)
! Здесь можно проверить проверить номер AutoNumber -
! уже установлено новое значение

и тогда значение поля AutoNumber автоматически получит номер
внутри указанного года. Вот и все ...

С уважением, ТАТА
Гость

Сообщение Гость »

Hi.

Соответственно необходимо в Browse определить год, до
добавления записи и вызова формы:

BRW1.PrimeRecord PROCEDURE(BYTE SuppressClear = 0)
.......
Pla:Year = Year(Today()) ! Определить год, до добавления записи
! Parent Call
ReturnValue = PARENT.PrimeRecord(SuppressClear)
Только здесь нужно
ReturnValue = PARENT.PrimeRecord(True)
иначе Pla:Year = ... погибнет

WBR, Nick Tsigouro mailto:nick@arsis.ru
Написал: ClaList(2)
Гость

Сообщение Гость »

Уважаемые вот столкнулся с той же проблемой пробую ABC и что проще - имею ключ Предриятие-работник с автонумерацией уникальный. Пытаюсь делать добавление и получаю предприятие всегда 0. Где нужно подставлять код предприятия, чтобы автонуменрация шла по тому предприятию по которому требуется автонумеровать работников.
Гость

Сообщение Гость »

Привет !

Все полностью по выше описнному примеру, только год (Pla:Year)
нужно заменить на переменную с указанием кода предприятия и
присваивать ей код нужного предприятия.
Отсюда следует: предприятие (его код) должно быть известно
ДО добавления карточки сотрудника.
Можно обойти это неприятное ограничение, но это уже немного сложнее ... ;)

С уважением, ТАТА
Ответить