Добрый день! В данный момент есть задача во всех карточках в которых есть поле ответственный отображать не наименование контакта к которому он привязан а именно название логина. Оно различаются в связи с этим появилась такая задача. Нашел датасет ds_Owner и запрос sq_Owner. Изменил запрос во так
[tbl_Contact].[ID] AS [ID],
[tbl_Contact].[Name] AS [Name],
[tbl_Contact].[AccountID] AS [AccountID],
[tbl_Account].[Name] AS [AccountName],
[tbl_AdminUnit].[UserContactID] AS [UserContactID],
[tbl_AdminUnit].[SQLObjectName] AS [AdminName]
FROM
[dbo].[tbl_Contact] AS [tbl_Contact]
INNER JOIN
[dbo].[tbl_AdminUnit] AS [tbl_AdminUnit] ON [tbl_AdminUnit].[UserContactID] = [tbl_Contact].[ID]
LEFT OUTER JOIN
[dbo].[tbl_Account] AS [tbl_Account] ON [tbl_Account].[ID] = [tbl_Contact].[AccountID]
В датасете поставил первичное поле для отображения AdminName. По сути когда добавляешь новую запись то отображается контакт. А если редактируешь то уже имя логина. Хотелось бы при добавлении так же видить имя логина.
Нравится
Это вполне логично, ведь в таблице хранится значение ID из tbl_Contact, соответственно при добавлении Вы должны выбрать именно контакта. Для того, чтобы отображать логин нужно везде с ним оперировать. Хранить ID из tbl_AdminUnit и отображать имя логина по имени. Или же везде, где есть ответственный связывать не ID и имя ответственного, а ID ответственного и имя логина. Здесь требуется больше изменнений, чем в одном датасете ds_Owner.
----В датасете поставил первичное поле для отображения AdminName.
я так и сделал.
я просто плохо понимаю сам механизм. После сохранения карточки при ее редактировании отображается уже имя логина. почему при создании имя контакта?
Заполнение имени контакта при отображении карточки сразу при ее создании - особенность передачи этого значения через значения по умолчанию и через базовое окно редактирования в создаваемую карточку. Если просто сохранить запись, то последующее отображение в реестре или при последующем открытии будет отрабатывать согласно ожиданиям - там будет логин, поскольку отработала логика, которая учитывает, что поле справочника завязано на ID контакта, на имя логина и на датасет, в котором первичным полем является логин.