powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Пара вопросов по отношениям и вычисляемым полям
12 сообщений из 12, страница 1 из 1
Пара вопросов по отношениям и вычисляемым полям
    #37105693
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то не могу понять я эти отношения, может кто-нибудь поможет?

Дан класс накладных. В нём в данный момент существует список ссылок на вагоны:

Код: plaintext
1.
/// Вагоны
Property Wagons As list Of CoalWagon;

А в классе вагонов должна присутствовать ссылка на вагон, чтобы было понятно, к какой накладной относится конкретный вагон.

Код: plaintext
1.
///Ссылка на накладную
Property WayBill As CoalWayBill;

Насколько я понимаю, здесь лучше отказаться от списков и ссылок, а использовать отношения. Но как их описать в каше я не знаю, и как потом обращаться из накладных к вагонам и наоборот. Мозги кипят, в документацию что-то въехать не могу.

И ещё один вопросик.
У класса накладных присутствует поле "общий вес", оно должно быть вычисляемым и складываться из весов вагонов, описанных в накладной. В документации тоже как-то мутно это описано, напишите, если не трудно, примерчик, как это сделать.
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37105896
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VixlerЧто-то не могу понять я эти отношения, может кто-нибудь поможет?
У ИС есть файлик objectqs.pdf (квик старт по объектам), так там все довольно простенько описано...

Пример отношения "1 ко многим"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
/// Накладные
Class tmp.docs Extends %Persistent
{

/// Название
Property name As %String;

/// wagons
Relationship wagons As tmp.wagons [ Cardinality = many, Inverse = docs ];

}
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
/// Вагоны
Class tmp.wagons Extends %Persistent
{

/// Название
Property name As %String;

/// Название
Relationship docs As tmp.docs [ Cardinality = one, Inverse = wagons ];

Index docsIndex On docs;

}
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37105921
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VixlerУ класса накладных присутствует поле "общий вес", оно должно быть вычисляемым и складываться из весов вагонов, описанных в накладной. В документации тоже как-то мутно это описано, напишите, если не трудно, примерчик, как это сделать.
А это уже с вычисляемым полем...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
/// Накладные
Class tmp.docs Extends %Persistent
{

/// Название
Property name As %String;

/// wagons
Relationship wagons As tmp.wagons [ Cardinality = many, Inverse = docs ];

/// Всего вагонов
Property allwgn As %Integer [ Calculated ];

Method allwgnGet() As %Integer
{
	s sql="Select count(*) as allwgn From tmp.wagons Where docs=?"
	s ors=##class(%ResultSet).%New("%DynamicQuery:SQL")
	s ok=ors.Prepare(sql)
	s ok=ors.Execute(..%Id())
	s val= 0 
	s:ors.Next() val=ors.Get("allwgn")
	d ors.Close()
	k ors
	q val
}

}
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37105934
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaУ ИС есть файлик objectqs.pdf (квик старт по объектам), так там все довольно простенько описано...
Он тут , ищи по Caché Objects QuickStart .
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37106970
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VixlerДан класс накладных. В нём в данный момент существует список ссылок на вагоны
Если не секрет, какой порт?
В кач-ве затравки: в накладной не может быть ссылки на вагон (предметная область такая... если в курсе про рваные вагоны, досылки и проч.)...
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37107047
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2krvsa:
спасибо, немного понятней стало

2kolesov:
Да там не на вагон ссылка как оказалось, перепутали немного, но тема всё равно актуальная.
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37107307
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё вопрос по отношениям. А как в вышеописанной конструкции конкретной накладной задать определённые вагоны? И как к ним потом обращаться? В смысле, есть вагоны 1, 2, 3, 4, 5, 6, 7, к накладной Н1 нужно привязать вагоны 2, 5, 7, как это в коде описать? И как потом обратиться, например к вагону 5 из накладной Н1? В списке это делается ведь через квадратные скобки, а с отношениями как?
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37107320
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vixler,

а, ну вроде разобрался, тупо как с коллекциями, хорошо.
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37118551
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, кстати, а действительно ли лучше использовать отношения и забыть про списки ссылок на объекты? Или без разницы?
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37118585
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отношения лучше.
Особенно вы заметите разницу, когда будете работать через sql.
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37118587
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ссылка на объект, в отличии от коллекций, в которых объект не знает, где он находится.
Это ссылка индексируется.
Не таблицы с подчеркиванием и array, которых нужно поддерживать.
...
Рейтинг: 0 / 0
Пара вопросов по отношениям и вычисляемым полям
    #37118647
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из C# с ними работать сложнее :) Пока по крайней мере такое впечатление.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Пара вопросов по отношениям и вычисляемым полям
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]