Форум ДИЦ

Пользовательский и Дилерский форум ДИЦ
Текущее время: Вс окт 21, 2018 1:52 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: ? Внешняя база: ключ таблицы из 2х полей
СообщениеДобавлено: Сб июл 21, 2018 2:09 am 
Не в сети

Зарегистрирован: Вт мар 30, 2004 12:30 pm
Сообщения: 5040
Откуда: Москва, Кустарь-одиночка с мотором
В таблице внешней базы PrimaryKey состоит из 2х полей разного типа

Вопрос: как в Т9 это отразить в MTL-описании внешней базы?
Хотелось бы получить результат без View

В MTL в заголовке записи можно указать только одно уникальное поле.
А во внешней таблице ключевые поля по отдельности не уникальны.

Например, уникальна комбинация (Field1 : String; Field2 : Integer)
Если описываю так
Record T9_Table ="extTable" (Field1 : String);
А в таблице у Field1 есть несколько записей с одним значением, то и в Т9 вижу в картотеке и в Записи только одну запись!
Забавно, при этом какую из двух записей видно в картотеке - определяет сортировка.
То есть видна всегда одна, но при сортировке меняется прямо на лету - это либо первая, либо последняя

_________________
Андрей Булетов, Москва
PS Не стесняйтесь, поправьте меня, если я не прав!


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: ? Внешняя база: ключ таблицы из 2х полей
СообщениеДобавлено: Сб июл 21, 2018 2:34 am 
Не в сети

Зарегистрирован: Ср июн 18, 2008 3:03 pm
Сообщения: 993
Цитата:
Часто имеет место ситуация, когда значения некоторых полей документа (или сочетания значений нескольких полей) в силу своей специфики должны быть уникальными для таблицы. Достигается это с помощью механизма уникальных ключей.

Уникальный ключ - это непустое множество полей (то есть как минимум одно поле или более), значения которых в указанном сочетании не могут совпадать у двух или более записей одной картотеки (таблицы).

Так, служебное поле DocID, которое не требует явного описания (хотя и может быть описано принудительно), является уникальным ключом. Если разработчику необходимо обеспечить уникальность каких-либо других полей, он может воспользоваться директивой Unique (Уникальные или Уникальное):

Unique <ИмяПоля> [, <ИмяПоля>...];
Уникальное <ИмяПоля> [, <ИмяПоля>...];

Все, перечисленные после ключевого слова Unique поля образуют уникальный ключ, то есть система не даст пользователю сохранить два документа с одинаковыми значениями в данных полях. Вот пример для одного поля:

Unique НомерСтраховогоПолиса;

А теперь пример составного ключа:

Unique Контрагент, ИсходящийНомерПисьма;

В последнем примере задан уникальный ключ из двух полей: Контрагент и ИсходящийНомерПисьма. Тогда при вводе информации в картотеку будет проверяться, чтобы никакие две записи не имели одновременно одинаковых названий контрагента и номеров входящей корреспонденции от данного контрагента

_________________
С уважением, Владимир Миронычев.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: ? Внешняя база: ключ таблицы из 2х полей
СообщениеДобавлено: Сб июл 21, 2018 2:45 am 
Не в сети

Зарегистрирован: Вт мар 30, 2004 12:30 pm
Сообщения: 5040
Откуда: Москва, Кустарь-одиночка с мотором
Увы! Я говорю про описание внешней базы.
А там уникальный ключ прописывается именно в заголовке записи.
Добавление Unique никак на ситуацию не повлияло

_________________
Андрей Булетов, Москва
PS Не стесняйтесь, поправьте меня, если я не прав!


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: ? Внешняя база: ключ таблицы из 2х полей
СообщениеДобавлено: Сб июл 21, 2018 6:04 pm 
Не в сети

Зарегистрирован: Пн мар 29, 2004 10:25 am
Сообщения: 4940
Откуда: Таганрог
Вариант один - создаешь вью на базе этой таблицы и используешь это вью как внешнюю таблицу - с уникальным ключом - его делаешь индексом.
На эту тему Русов не раз высказывался. Нас самом деле ничего страшного - сам так работаю с внешними базами.

_________________
Александр Золотько, г.Таганрог


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: ? Внешняя база: ключ таблицы из 2х полей
СообщениеДобавлено: Вс июл 22, 2018 1:55 am 
Не в сети

Зарегистрирован: Вт мар 30, 2004 12:30 pm
Сообщения: 5040
Откуда: Москва, Кустарь-одиночка с мотором
Zolotko писал(а):
Вариант один - создаешь вью на базе этой таблицы

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

_________________
Андрей Булетов, Москва
PS Не стесняйтесь, поправьте меня, если я не прав!


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: ? Внешняя база: ключ таблицы из 2х полей
СообщениеДобавлено: Вс июл 22, 2018 5:21 pm 
Не в сети

Зарегистрирован: Пн мар 29, 2004 10:25 am
Сообщения: 4940
Откуда: Таганрог
Вообще-то вью должен сделать администратор БД. Ты ему просто говоришь - нужна такая реальная таблица с дополнительным уникальным ключом...

_________________
Александр Золотько, г.Таганрог


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB