![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно сделать ID документа с префиксом (ЖАС-3420)? [D7, IB6.x]
jiny © (2005-06-21 12:41:00)Сейчас проблема следующая :
раньше поле ID было Integer на триггере Before Insert(GEN_ID),
сейчас возникла необходимость сделать ID с префиксом, так как собираемся установить программу в филиалы (но об этом в следующем вопросе). ID должен быть следующего вида :
Префикс||"-"||Значение_генератора, например :
ЖАС-27345
Поле ID сейчас VARCHAR(30) CHARACTER SET WIN1251
Изменил код триггера на новый :
new.id=new.id||"-"||cast(gen_Id(newNumFr1_1,1) as Varchar(20) character set win1251);
потом пробовал так :
new.id=cast(new.id as varchar(5) character set win1251)||CAST("-" as varchar(1) character set win1251)||cast(gen_Id(newNumFr1_1,1) as Varchar(20) character set win1251);
При вводе данныхвыдает ошибку :
DataType conversion error, перед Commit записи устанавливаю ID="ЖАС"
Помогите, чем смогите ?)
jiny (2005-06-21 13:17:00) [21]ID символьного типа научил 1С :), насчет Johnmen © (21.06.05 12:50) [2] (2) - можно подумать,
а насчет :
<<А че филиалы на сделать отдельным полем?
И выборки по ним легче будет сделать>>
хочу что нить универсальное, тем более что пересчет остатков товаров у меня делается по заранее предопределенным критериям, полям, единственное, при смене текущего склада меняю аналитику по полю NUM_MAINFIRM, где оно означает номер текущего склада(филиала)
Не думаю что это как то повлияет на правильность работы,
т.к. я уже в ДЕМО базе переделал все поля на VARCHAR(30)
попробовал погонять справочник товаров, вроде не ругается, работает быстро, остатки пересчитывает "на лету"
P.S. просто возникла необходимость репликации баз данных офиса с филиалами, вот и хочу каждому префикс присвоить и экспортировать/импортировать записи без боязни нарушения уникальности, хотя если действительно добавить поле Prefix и сделать Primary index "ID,prefix" может че и получиться. Обложился статьями по репликации с ibase.ru и парюсь.
alexeis (2005-06-21 12:51:00) [22]А че филиалы на сделать отдельным полем?
И выборки по ним легче будет сделать
Sergey13 (2005-06-21 12:50:00) [23]А не лучше сделать второе поле, которое будет ссылаться на справочник филиалов или чего у вас там? Его соответственно добавить в ключ.
ЗЫ:Репликацией занимаетесь? Там все намного сложнее, ИМХО, чем просто сменить тип ключа.
Johnmen (2005-06-21 12:50:00) [24]1. Почему же ID символьного типа ??? Кто научил ?
2. Чётко разделяя принципы хранения и отображения, добавь поле, где будешь хранить ЖАС.