powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Задание на контрольную
25 сообщений из 60, страница 2 из 3
Задание на контрольную
    #37946367
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsadoublefintkrvsa, было б пола три (он, она, оно) согласился бы
Некоторые и с двумя умудряются накосячить...

Ребята, я конечно понимаю, Вам смешно. Но мне, к сожалению, никто не объяснял как работать в Cache. Дали только небольшую книжечку и сказали пиши программу. Спросить совета не у кого. Так что буду благодарна за любую помощь, а не насмешки
...
Рейтинг: 0 / 0
Задание на контрольную
    #37946375
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintDolnikova,
Еще проблемный класс ПолЧитателя. Зачем ему два свойства, и нужно ли его выделять в отдельный класс?

Лучше сделать просто свойство "Пол" и прописывать в ручную? Ну тоже вариант, я чет сразу и не сообразила
...
Рейтинг: 0 / 0
Задание на контрольную
    #37946601
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikovaбуду благодарна за любую помощь, а не насмешки
Нужно уметь радоваться и малому!
...
Рейтинг: 0 / 0
Задание на контрольную
    #37946640
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikovadoublefint2. Не корректно описано отношения между классами Экземпляр и ВыдачаКниг
Я пыталась сделать связь через RelationShip. Вроде она многое-ко-многим. ... А как тогда это исправить?
В Cache есть только связи один ко многим, и родитель-потомки.
Отношение многие ко многим можно реализовать через дополнительный класс. Например, ВыдачаЭкземпляр. Такой класс будет хранить код выдачи и код экземпляра. У одной Выдачи будет много ВыдачаЭкземпляра, один Экземпляр будет во многих ВыдачаЭкземплярах. В приложении новый вид схемы
...
Рейтинг: 0 / 0
Задание на контрольную
    #37946704
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaDolnikovaбуду благодарна за любую помощь, а не насмешки
Нужно уметь радоваться и малому!
Ну я пока еще не научилась радоваться тому, что на до мной насмехаются
...
Рейтинг: 0 / 0
Задание на контрольную
    #37946737
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DolnikovaМне сейчас нужно сделать так, чтоб я могла показывать какие книги имеются в наличии на данный момент (на странице VidachaKnig.csp при нажатии на "Наличии книги"). Т.е. чтоб я могла выбрать именно ту книгу, которая не на руках.
Просто статус книги дается при выдаче. А если книга еще не разу не выдавалась - то у нее и статуса выходит нет. Как тут сделать не получается догадаться.

Т.е статус Книги зависит от того, есть ли в библиотеке хоть один Экземпляр этой книги. В библиотеке нет Экземпляров Книги - статус Книги "нет", все Экземпляры выданы - "на руках", есть хоть один свободный экземпляр - "есть". Т.е это вычислимое свойство. Не отношение с хранимым классом
...
Рейтинг: 0 / 0
Задание на контрольную
    #37947222
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintТ.е статус Книги зависит от того, есть ли в библиотеке хоть один Экземпляр этой книги. В библиотеке нет Экземпляров Книги - статус Книги "нет", все Экземпляры выданы - "на руках", есть хоть один свободный экземпляр - "есть". Т.е это вычислимое свойство. Не отношение с хранимым классом
Я как понимаю, отношение с классом. Пока мне нужно показать какой статус у всех экземпляров выбранной книги на сегодняшний день. Т.е. чтоб при выборе названия книги мне выводились экземпляры этой книжки, которые находятся в библиотеке, а это экземпляры, которые уже вернули (имеют статус - свободна, у экземпляра имеется "дата возврата") и получается экземпляры, которые вообще не выдавались на руки не разу.
...
Рейтинг: 0 / 0
Задание на контрольную
    #37947231
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintТ.е статус Книги зависит от того, есть ли в библиотеке хоть один Экземпляр этой книги.
Статус экземпляра зависит от того, выдавался экземпляр или нет. Если экземпляр выдается - ставим статус "Выдана", когда экземпляр возвращается (заполняется поле "Дата возврата") - ставим статус "Свободна". А у экземпляров, которые ни разу не выдавались, статуса выходит нет (по логике, статус "Свободна")
...
Рейтинг: 0 / 0
Задание на контрольную
    #37947419
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintВ Cache есть только связи один ко многим, и родитель-потомки.
Отношение многие ко многим можно реализовать через дополнительный класс. Например, ВыдачаЭкземпляр. Такой класс будет хранить код выдачи и код экземпляра. У одной Выдачи будет много ВыдачаЭкземпляра, один Экземпляр будет во многих ВыдачаЭкземплярах. В приложении новый вид схемы
VidEkz не нужен, так как связь между Ekzemplar и VidachaKnig 1:М. То есть, VidachaKnig - это, так сказать, не "шапка накладной", а "запись накладной", хотя бы потому, что срок, на который выдается экземпляр книги, разный для разных книг. Для акта обслуживания читателя, который складывается из фактов приема и выдачи экземпляров, можно, конечно, создать класс, свойствами которого будут Sotrudnik и DataObsluzhivaniya. Тогда это будет "шапка накладной", а DataVidachi (равная DataObsluzhivaniya - избыточная), DataZdachiPlan, DataZdachiFakt и некоторые другие свойства будут в оставляемом, в этом случае, классе VidEkz - "запись накладной". А можно и не создавать:)
PS Не понимаю, откуда все берут русские слова (содержательные метаданные)? Если не секрет:)
...
Рейтинг: 0 / 0
Задание на контрольную
    #37947454
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikova, как-то вы перескочили к обсуждения статуса Экземпляра (есть, выдан). Он отличается от статуса Книги (нет, есть, выдана).
Утверждаю, что статус Экземпляра - это свойство Экземпляра, так как никакой другой информации статус не несет, только значение этого статуса.
Код: vbnet
1.
2.
3.
/// при внесении Экземпляра в список выдачи, отмечаем, что его выдали
/// а при возврате читателем восстанавливаем значение
Property Vydan as %Boolean [InitialExpression=0];


Dolnikova А у экземпляров, которые ни разу не выдавались, статуса выходит нет (по логике, статус "Свободна")...
... и получается экземпляры, которые вообще не выдавались на руки не разу.

Ну, если такая информация важна ("ни разу не выдавался") , то усложним
Код: vbnet
1.
2.
/// Статус 
Property Status as %Integer(MINVAL=1,MAXVAL=3) [InitialExpression=1,VALUELIST=",1,2,3",DISPLAYLIST=",ни разу,есть,выдан"];


Или даже выделим в тип данных
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Class Библиотека.СтатусЭкземпляра Extends %Integer {

///Минимальное значение
Parameter MINVAL As INTEGER=1;

/// Максимальное значение
Parameter MAXVAL As INTEGER=3;

/// В хранение
ClassMethod DisplayToLogical(%val As %String) As %Integer {
	Q:"ни разу не выдавался" 1
	Q:"есть" 2
	Q:"выдан" 3
}

/// Из хранения
ClassMethod LogicalToDisplay(%val As %Integer) As %String {
	Q:1 "ни разу не выдавался" 
	Q:2 "есть" 
	Q:3 "выдан" 
}
}


И используем его
Код: vbnet
1.
Property Статус As Библиотека.СтатусЭкземпляра [ InitialExpression = 1 ];
...
Рейтинг: 0 / 0
Задание на контрольную
    #37947476
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаVidEkz не нужен. Согласен, есть путаница в терминах.
Под ВыдачейКниг понимаем (я надеюсь) ВыдачаЭкземпляров, так как, выдают и возвращают, и возможно в разное время, именно Экземпляры . Тогда Экземпляр 1-* Выдача
...
Рейтинг: 0 / 0
Задание на контрольную
    #37947687
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DolnikovaНу я пока еще не научилась радоваться тому, что на до мной насмехаются
Просто ты не на том концентрируеш своё внимание...
...
Рейтинг: 0 / 0
Задание на контрольную
    #37948280
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintDolnikova, как-то вы перескочили к обсуждения статуса Экземпляра (есть, выдан). Он отличается от статуса Книги (нет, есть, выдана).
Да я просто делала у себя статус экземпляра, статуса книги у меня даже не было ))) На счет того, что статус - это св-во я поняла, теперь хоть буду знать, как правильно описать такое св-во. Спасибо за подсказку
...
Рейтинг: 0 / 0
Задание на контрольную
    #37949181
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikova, что делаем дальше?
...
Рейтинг: 0 / 0
Задание на контрольную
    #37950004
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintDolnikova, что делаем дальше?
Может кто подскажет. По заданию (на примере базы с классами Продавцы, Клиенты,Товары и Продажи) нужно сделать форму со всеми продажами и там красным цветом выделить строчку, где продано товара более 10 шт.
А что такого можно сделать у себя? Я никак не соображу.
...
Рейтинг: 0 / 0
Задание на контрольную
    #37950117
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikova, список книг библиотеки, красным цветом выделить книгу у которой все экземпляры выданы
...
Рейтинг: 0 / 0
Задание на контрольную
    #37952348
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintDolnikova, список книг библиотеки, красным цветом выделить книгу у которой все экземпляры выданы
Чето у меня не получается пока это реализовать. Это лучше делать через запрос или через метод экземпляра?
...
Рейтинг: 0 / 0
Задание на контрольную
    #37952752
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dolnikova,
И еще кто-нибудь можете привести пример как складывать данные конкретного св-ва. Мне нужно подсчитать кол-во книг в библиотеке (KolEkz). Просто в моем учебном пособии нет ничего похожего ((
...
Рейтинг: 0 / 0
Задание на контрольную
    #37952791
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikova,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
ClassMethod ВыдатьЭкземпляр(КодЭкземпляра As %String ) As %Status {
 s sc="", Экземпляр=##class(Библиотека.Экземпляр).%OpenId(КодЭкземпляра,,.sc) Q:'sc sc
 if (Экземпляр.Выдан) { k Экземпляр Q $$$ERROR($$$GeneralError,"Экземпляр уже выдан") }
 s Книга= Экземпляр.Книга, Выдано=Книга.Выдано
 s Книга.Выдано=Выдано-1, Экземпляр.Выдан=1
 Q Экземпляр.%Save()
}
...
Рейтинг: 0 / 0
Задание на контрольную
    #37952815
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikova,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Class Библиотека.Экземпляр Extends %Persistent {

ClassMethod Количество (КодКниги As %String) as %Integer [SqlProc] {
 s Количество="" 
 &sql(Select Count(*) Into :Количество From Библиотека.Экземпляр Where Книга=:КодКниги) 
 Q +Количество 
}

...
}
...
Рейтинг: 0 / 0
Задание на контрольную
    #37952818
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintDolnikova,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
ClassMethod ВыдатьЭкземпляр(КодЭкземпляра As %String ) As %Status {
 s sc="", Экземпляр=##class(Библиотека.Экземпляр).%OpenId(КодЭкземпляра,,.sc) Q:'sc sc
 if (Экземпляр.Выдан) { k Экземпляр Q $$$ERROR($$$GeneralError,"Экземпляр уже выдан") }
 s Книга= Экземпляр.Книга, Выдано=Книга.Выдано
 s Книга.Выдано=Выдано+1, Экземпляр.Выдан=1
 Q Экземпляр.%Save()
}


Плюс один, конечно же
...
Рейтинг: 0 / 0
Задание на контрольную
    #37957377
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintСкажите а почему когда в методе (считаю кол-во книг конкретного автора) пишу
Код: vbnet
1.
2.
3.
4.
...
 &sql(Select Count(*) Into :Kolvo From Kniga Where FIO->FIO=:Avtor) 
 Q +Kolvo 
}


он не считает кол-во книг конкретного автора. Это из-за ссылки FIO->FIO??? А как тогда в таких случаях считать?
...
Рейтинг: 0 / 0
Задание на контрольную
    #37957789
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dolnikova, сделайте проверку - находит ли он автора по фамилии
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
 s ( aid, Kolvo )=""

 &sql( Select ID Into :aid From Avtor Where FIO=:FIO ) 

 w !,"Автор ", FIO, " = ", aid

 &sql( Select Count(*) Into :Kolvo From Kniga Where FIO=:aid ) 

 Q +Kolvo
...
Рейтинг: 0 / 0
Задание на контрольную
    #37958037
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintDolnikova, сделайте проверку - находит ли он автора по фамилии
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
 s ( aid, Kolvo )=""

 &sql( Select ID Into :aid From Avtor Where FIO=:FIO ) 

 w !,"Автор ", FIO, " = ", aid

 &sql( Select Count(*) Into :Kolvo From Kniga Where FIO=:aid ) 

 Q +Kolvo


так тоже не выходило, но немного поэкспериментировав все получилось. С помощью Вас узнаю много нового, чего в моей методичке совсем нет. Спасибо за помощь
...
Рейтинг: 0 / 0
Задание на контрольную
    #37958079
Dolnikova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
doublefintdoublefintDolnikova,
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
ClassMethod ВыдатьЭкземпляр(КодЭкземпляра As %String ) As %Status {
 s sc="", Экземпляр=##class(Библиотека.Экземпляр).%OpenId(КодЭкземпляра,,.sc) Q:'sc sc
 if (Экземпляр.Выдан) { k Экземпляр Q $$$ERROR($$$GeneralError,"Экземпляр уже выдан") }
 s Книга= Экземпляр.Книга, Выдано=Книга.Выдано
 s Книга.Выдано=Выдано+1, Экземпляр.Выдан=1
 Q Экземпляр.%Save()
}


Плюс один, конечно же

Мне если честно код у половины строк не понятен. А по заданию я должна описать что делаю на своей csp странице. Можете объяснить???
...
Рейтинг: 0 / 0
25 сообщений из 60, страница 2 из 3
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Задание на контрольную
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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