powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Последовательность сохранения классов
25 сообщений из 25, страница 1 из 1
Последовательность сохранения классов
    #36993041
armin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два класса со следующей структурой

Class DATA.A Extends %Persistent
{
Property Name As %String();
Relationship BID As DATA.B [ Cardinality = children, Inverse = AID ];
}

Class DATA.B Extends %Persistent
{
Property Name As %String();
Relationship AID As DATA.A [ Cardinality = parent, Inverse = BID ];
}

Из этого следует что форма frmB в свою очередь может быть создана на основании frmA.
Можно ли как то созданный но еще не сохраненный объект класса А на форме frmA передать на форму frmB и сохранить его только тогда когда я сохраняю объект класса B на форме frmB ???
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993180
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
armin , что в твоём понимании "форма"?
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993264
armin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

это класс унаследованный от %ZEN.Component.page [ Abstract ] ))
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993375
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arminэто класс унаследованный от %ZEN.Component.page [ Abstract ] ))
Зеновская страничка чтоли?
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993392
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arminИз этого следует что форма frmB в свою очередь может быть создана на основании frmA.
И этот вывод сам по себе дюже странный...
Поскольку страницу с полями можно "клонировать" саму по себе. Все равно её нужно переделывать по привязке к классам...

Иначе получается что-то вроде такого:
Некто А - человек...
И его дети Б1, Б2, ... Б* - тоже человеки...
Стало быть если А живёт в домеА, то и его дети могут жить в домеА после "некоего ремонта"...
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993466
armin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

я не имею в ввиду наследование одной страницы от другой это чуть не то ... як тому что как мне сохранить класс B прикрученый к страничке frmB тогда когда я еще не знаю ID (тоесть класс А еще не сохранен) класса A прикрученый к странички frmA ?
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993509
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
armin , если у тебя нет ИД экземпляра А - ты никак не "привяжешь" экземпляры из Б к экземпляру из А?

Связку parent-children я никогда не использую... Но возможно что при такой связи ты в Б вообще ничего не запишешь.
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993516
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa armin , если у тебя нет ИД экземпляра А - ты никак не "привяжешь" экземпляры из Б к экземпляру из А?
Знак вопроса тут лишний... Просто забыл его удалить... Т.е. это мое утверждение, а не вопрос.
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993583
armin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

понятно ... пасибо ... пипец я разочарован ... получается что полюбому я должен сохранить объект класса А ... а что же тогда делать в ситуации если я в последний момент передумал сохранять объект класса В ... что мне делать с объектом А если он уже в базе ... )) ... может подскажите идею или отлично было бы уже отработаный механиз ... как это можно решить !??
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993613
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arminможет подскажите идею или отлично было бы уже отработаный механиз ... как это можно решить !??
Как вариант...
- Запросить все данные по предполагаемому экземпляру класса А
- Перейти к вводу данных для класса Б
- Если ввод результативен (т.е. пользователь не передумал ) зоздать экземпляр класса А
- Записать экземплар(ы) класса Б с привязкой их к экземпляру класса А

Вот что-то типа такого...
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993615
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arminОткуда: м. Харків
Как там "поживает" Холодная гора? Я там полгода пытался танкистом стать!
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993685
armin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

на холодке все ок ... каждый день проезжаю возле танкового ... говорят там сейчас недобор ))
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993699
armin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaarminможет подскажите идею или отлично было бы уже отработаный механиз ... как это можно решить !??
Как вариант...
- Запросить все данные по предполагаемому экземпляру класса А
- Перейти к вводу данных для класса Б
- Если ввод результативен (т.е. пользователь не передумал ) зоздать экземпляр класса А
- Записать экземплар(ы) класса Б с привязкой их к экземпляру класса А

Вот что-то типа такого...

походу это самое оптимальное решение !!!
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993701
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arminкаждый день проезжаю возле танкового ... говорят там сейчас недобор ))
Вот жешь... А когда я поступал было валом желающих!
Неплохо тогда я у вас оттянулся! Девчёнки там у вас - огонь!!!
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993707
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arminпоходу это самое оптимальное решение !!!
И кагбэ не единственное...
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993735
armin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaarminкаждый день проезжаю возле танкового ... говорят там сейчас недобор ))
Вот жешь... А когда я поступал было валом желающих!
Неплохо тогда я у вас оттянулся! Девчёнки там у вас - огонь!!!

Канешно валом было ... тогда же и танки были )) а ща 5 шт на всю страну ... все на чермет пошло )) ... скоро и т34 на входе в училище утилизируют ))) ... ну а насчет девчат это ты прав одна краше другой ) ...
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36993990
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaarminпоходу это самое оптимальное решение !!!
И кагбэ не единственное...
можно в транзакцию все закрыть. И откатить, если сохранять B передумали.
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36994007
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя в случае с формами Zen это трудно реализовать... я погорячился.
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36994086
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arminпоходу это самое оптимальное решение !!!
Оно почти что единственное.
Пока данные находятся в форме - это никакой еще не объект, а просто набор данных.
В момент сохранения они становятся объектами.

Как вариант - используйте специальные объекты для передачи временных данных, либо сохраняйте их во временные глобалы.
Если будете использовать специальные объекты для передечи временных данных, посмотрите на класс %Library.SerialObject, он позволяет паковать класс в строку, которую можно затолкать в сессию.

Код: plaintext
1.
2.
3.
4.
Class E.T Extends (%RegisteredObject,%SerialObject)
{ Property Value1 As %String;
  Property Value2 as %Integer;
}
Код: plaintext
1.
2.
3.
4.
5.
s xx=##class(E.T).%New()
s xx.Value1="Проверка",xx.Value2= 10 
d xx.%GetSwizzleObject( 1 ,.tmp) ///В tmp теперь хранятся данные, из которых можно восстановить объект.
s yy=##class(%SerialObject).%Open(tmp)  
w !,yy.Value1,!,yy.Value2
Геморно, но зато можно передавать целые комплексы объектов, не сохраняя их раньше времени.
Подсмотрено у Ptn
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36994646
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Геморно, но зато можно передавать целые комплексы объектов, не сохраняя их раньше времени.
Интересно... А чем листбилд хуже? Ну если строкой чего приспичит передавать...
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36994845
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Листбилд хуже тем, что нужно помнить порядок полей.
При доработках легче запутаться. Подходит если параметров мало, а если их мало, то можно и через сессию передавать. Но в принципе можно и листбилд, на любителя.
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36994869
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Листбилд хуже тем, что нужно помнить порядок полей.
Ясно...
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36997157
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Оно почти что единственное
Еще можно отнестись к этому как элементу бизнес-логики. То есть пользователь может создавать "временные" объекты, переводить их в состояние "настоящих" и т.д. Причем даже не догадываться об этом, так как это будет скрыто за интерфейсом ;)
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36997224
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, но здесь надо осторожно.
Ид с дырками - хрен с ним, а вот серийные номера - это уже серьезней.
Ну еще, чтобы нигде не вылазил этот мусор, т.е. всегда его держать в уме - во всех элементах интерфейса, отчетах, расчетах.
...
Рейтинг: 0 / 0
Последовательность сохранения классов
    #36997380
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н., не надо в уме, надо в отдельную сущность а-ля "пользовательский кэш", а для отчетов и сводов "постоянные" объекты. Как-то так... А осторожно надо всегда, это да :)
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Последовательность сохранения классов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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