Здравствуйте! Подскажите, пожалуйста по какому алгоритму в системе создаются ключевые поля?
Дело в том, что я на Delphi пишу одну маленькую утилиту, которая будет получать доступ к физическим таблицам и вносить туда некоторые свои данные, возможно даже создавай своего "пустого контрагента" с присвоенным ему id, как рассчитать id?

Нравится

6 комментариев

Марат, алгоритм прост - генерация нового Guid.

procedure TForm1.Button1Click(Sender: TObject);
var
  g: TGuid;
begin
  CreateGUID(g);
  ShowMessage(GUIDToString(g));
end;

Спасибо!

Марат, возможно, Вам будет полезная информация о том что, в версиях 3.0.х, создавая записи напрямую в таблицах, необходимо:
1. раздать права по-умолчанию на новую запись
2. если включено логгирование, не забыть внести соответствующую информацию в журнал изменений
При создании и изменении данных с использованием объектов Terrasoft, например из конфигурации, за выполнение этих функций отвечает ядро системы и делает это автоматически. Если действовать в обход ядра, то эту информацию необходимо помнить.

"Ключник Алексей" написал:2. если включено логгирование, не забыть внести соответствующую информацию в журнал изменений
При создании и изменении данных с использованием объектов Terrasoft, например из конфигурации, за выполнение этих функций отвечает ядро системы и делает это автоматически. Если действовать в обход ядра, то эту информацию необходимо помнить.

Алексей, с прав доступа - согласен, но с журналом изменения должен не согласится! Поскольку за это отвечает не ядро системы, а СУБД или точнее триггеры, которые создаются ядром системы при включение логирования!

Создаю запись в системы (в разделе с включенным логированием):

Изменяю данные вне системы:

Смотрю в журнал:

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Вынужден и с первым пунктом не согласится! Права доступа "по-умолчанию" устанавливаются тоже на уровне СУБД...

--
www.it-sfera.com.ua
Terrasoft Solution Partner

Виталий, спасибо за замечание. Не указал в посте версии Terrasoft

Показать все комментарии