Добрый день. У меня в таблице Account лежат два внешних ключа на таблицу Contact. Подскажите, как явно указать столбец для джойна. Это:

esq.addColumn("=Contact.Name", "ContactName");

возвращает не верные значения. К тому же, хотелось бы использовать inner join, но запрос летит в виде:

 

LEFT OUTER JOIN [dbo].[Contact] [PrimaryContact] WITH(NOLOCK) ON ([PrimaryContact].[Id] = [UsrAccount].[PrimaryContactId])

* Из примера выше, нужно джойнить по столбцу OwnerId вместо PrimaryContact

Нравится

5 комментариев
Лучший ответ

Вот статья https://academy.terrasoft.ru/docs/7-17/developer/front-end_development/…

Не надо писать равно.

Если у вас root таблица в esq...ЕщеСвернуть

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

Собственно, сабж. Картинкой будет более понятно, с пояснениями:

1) Добавляем активность используя выборку объектов, предположим неких кастомных "эмейлов" (отдельный объект, не активность) 

2) В наших кастомных звонках, выборку по которым мы делаем, нет поля "контакт", зато есть поле...ЕщеСвернуть

1 комментарий

Роман, зарегистрировали идею в элементе БП «Добавить данные» при выборе значения в поле добавляемого объекта из пункта меню 'Колонка и...ЕщеСвернуть

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

Приветствую. Проблема с созданием Join'а.

Имеется вот такой SelectQuery.

SELECT
    [tbl_OfferingInMovement].[ID] AS [ID],
    [tbl_OfferingInMovement].[OfferingMovementID] AS [OfferingMovementID],
    [tbl_OfferingInMovement].[OfferingID] AS [OfferingID],
    [Offering].[Name] AS [OfferingName],
 ...

ЕщеСвернуть

Нравится

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

В коробке в скрипте wnd_IWTGraphWizardScript есть функция:

function GetPathByColumn(Column) {
	var Result = Column.Field.ParentFields.ParentTable...

ЕщеСвернуть

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

Хочу DataSet, создаваемый SelectQuery, вывести в Excel через VBA. С этим проблем нет. SelectQuery является готовым сервисом, созданным администратором. К админке доступа нету. Всё прекрасно работает. Проблема в одном. Не могу Join по нормальному прикрепить.

Вот SQLText это SelectQuery:

SELECT
...

ЕщеСвернуть

Нравится

1 комментарий

Вопрос обсудили в соседней Вашей теме.

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

Обычно если мы в ESQ используем произвольные или обратные связи то обычно строиться LEFT OUTER JOIN с наименованием колонки по которой присоединил.

Например:

SELECT CC.SpecializationId
FROM TsMarketingApplication tsma
     LEFT OUTER JOIN Activity a ON a.Id=tsma.TsActivityId

Если корневая...ЕщеСвернуть

Нравится

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

Виталий, здравствуйте,

Ознакомтесь, пожалуйста, со статьей на академии по данному вопросу:

https://academy.terrasoft.ru/documents/technic-sdk/7-9/ispolzovanie-ent…

Хорошего...ЕщеСвернуть

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

Где-то видел информацию про использование знаков >: для формирования join'ов при работе с EntitySchema. Никак не могу найти. Подскажите :redface:

Нравится

3 комментария

В SDK есть небольшой раздел по этому поводу:

http://www.terrasoft.ru/bpmonlinesdk/UsingEntitySchemaQuery.html

"Особенности использования присоединенных таблиц"

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

При задании колонки или фильтра в EntitySchemaQuery можно указать тип соединения который будет использоваться. По умолчанию LEFT OUTER JOIN

Пример:

var esq = new EntitySchemaQuery(EntitySchemaManager, "City");
esq.AddColumn("Country.Name");
esq.AddColumn("=Country.Name");
esq.AddColumn(">Country...ЕщеСвернуть

Нравится

Поделиться

1 комментарий

подскажите с какой версии bpm это работает?

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

Доброго времени суток. Подскажите такой момент.
Не получается программно добавить в SelectQuery Join.
Делаю вот так:

var Select = Dataset.SelectQuery.Items(0);
var Joins = Select.Joins;
var cJoin = Joins.CreateItem();
cJoin.RightField = Select.FromTable.Fields.ItemsByName('ID');
cJoin.LeftField = JoinTable...ЕщеСвернуть

Нравится

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

Юрий, так делать не совсем правильно, поскольку свойство IsEnabled объекта IJoin - только для чтения (см. SDK). Изменять можно свойство CanDisable...ЕщеСвернуть

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