powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Мастер деталь
12 сообщений из 12, страница 1 из 1
Мастер деталь
    #39683513
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Чисто концептуальный вопрос. Хотелось поинтересоваться кто как делает.
На extjs есть окно. В нем форма. И детальная таблица.

Если документ создается, то при открытии окна дергается с сервера генератор ид документа.
Тогда форма уже знает свой ид в базе.
И выставляется у окна флаг, что запись мастера еще не отправлена на сервер.

Далее добавляется в детальную таблицу строка.
Перед добавлением в деталь проверяется у окна флаг коммита. Если false, то отправляется на сервер форма и если успешно все— ставится флаг коммита в true. Ну или можно при создании окна не дергать генератор с сайта, а просто текущий ид документа ставить в —1. И при коммите с сервера возвращать ид мастера.

Теперь можно добавлять в деталь. Мастер запись уже в базе уже существует.
При добавлении в деталь запись отправляется на сервер сразу. Благо мастер уже существует и ошибок возникнуть не должно.

Есть «подводные камни»? Или взлетит ?
Смущает, что открыл окно, ломанулся в деталь добавлять, а оно сразу ругаться)
...
Рейтинг: 0 / 0
Мастер деталь
    #39683546
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,
Если по бизнесу нужно сохранять черновики, то сразу сохраняешь даже незаконченный документ в таблу черновики.
Если не нужно, то с сервера не надо запрашивать новый ld. Поставь абстрактное -1.
При сохранении, уже сервер сам должен все разобрать и зоа 0,1сек. записать мастера и пото детали.
Поиск на слово ОРМ.
...
Рейтинг: 0 / 0
Мастер деталь
    #39683876
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Можно и через —1. Только вырисовывается одна проблемка.
Если в форме редактирования детали одни textbox, то добавить из средствами extjs в store детали не проблема. Все делается практически автоматом.
А вот если в окне редактировани детали есть combobox, то в store детали попадает только ид выбранного в сомбо значения, а само значение нет. Собственно и логично, но непрактично
...
Рейтинг: 0 / 0
Мастер деталь
    #39683908
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwvА вот если в окне редактировани детали есть combobox, то в store детали попадает только ид выбранного в сомбо значения, а само значение нет. Собственно и логично, но непрактичнотут я не врубился в проблему.
Если комбобокс, то это справочник напр.городов. Через FK субд.
Справочник заполнен заранее.
Если сохранение то и нужен id города для insert или update. Но никак не название города.
...
Рейтинг: 0 / 0
Мастер деталь
    #39683916
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwvА вот если в окне редактировани детали есть combobox, то в store детали попадает только ид выбранного в сомбо значения, а само значение нет. Собственно и логично, но непрактичноне надо путать отображение с хранением.
для хранения и работы - достаточно только id. а для отображения - значение/имя/название.
но при этом всё равно присутствует id. хоть и не видимое пользователю
...
Рейтинг: 0 / 0
Мастер деталь
    #39684545
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123SwvА вот если в окне редактировани детали есть combobox, то в store детали попадает только ид выбранного в сомбо значения, а само значение нет. Собственно и логично, но непрактичнотут я не врубился в проблему.
Если комбобокс, то это справочник напр.городов. Через FK субд.
Справочник заполнен заранее.
Если сохранение то и нужен id города для insert или update. Но никак не название города.

тут разобрался ) оказалось просто все. смысл был в том, что название города выбирается из базы через join. а combo в extjs стандартно отправлял в запись только ид. ну и соответственно в таблице при ручном изменении записи без отправки на сервер и получения ответа просто наименование города не отображалось

но по пути возникло пара вопросов.
Если все изменения хранятся в store от extjs. и потом скопом отправляются на сервер.


1. что делать с пейджером? который разбивает все данные на страницы по х частей. допустим есть у меня в таблице на сервере 100 записей. пейджер показывает 5 по 20. постраничная навигация работает. те получается при смене страницы пейджера надо будет при наличии измененных записей ругаться пользователю на то, что надо бы прежде сохранить данные.
2. уникальность в пределах детали. да еще и с учетом того, что есть пейджер. тут просто в store не сохранишь. по любому перед добавлением в store надо на сервере проверять на уникальность. те получается без разницы сразу после изменения отправить данные на сервер или копить изменения в store, а потом отправлять скопом.
...
Рейтинг: 0 / 0
Мастер деталь
    #39684574
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,

а кто мешает сразу сохранять введённое/изменённое значение?

что проверять на уникальность?
...
Рейтинг: 0 / 0
Мастер деталь
    #39684580
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,
1. Прочти про MVC. Представление отдельно, правка отдельно.
В одном окне пагинация, в другом правка. Листай сколько угодно страницы.
В этом форуме на одной вкладке ты читаешь топик, на второй пишешь ответ.
...
Рейтинг: 0 / 0
Мастер деталь
    #39696908
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяSwv,

а кто мешает сразу сохранять введённое/изменённое значение?

что проверять на уникальность?

если сразу сохранять на сервер измененные значения например детали, то как быть, если пользователь передумал и закрыл документ не сохраняя
...
Рейтинг: 0 / 0
Мастер деталь
    #39696915
Swv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Swv,
1. Прочти про MVC. Представление отдельно, правка отдельно.
В одном окне пагинация, в другом правка. Листай сколько угодно страницы.
В этом форуме на одной вкладке ты читаешь топик, на второй пишешь ответ.

Понятно, что в одном окне пагинация, а в другом редактирование. Но.данные то хранятся в store. В случае использования extjs. А при смене страницы store очищается. И подгружаются данные второй страницы. Можно конечно перед сменой страницы ругнуться и предложить сохранить измененные данные. Но тогда не получится закрыть документ и не сохранять данные. тк при смене страницы часть данных уже ушла в базу
...
Рейтинг: 0 / 0
Мастер деталь
    #39696922
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SwvвадяSwv,

а кто мешает сразу сохранять введённое/изменённое значение?

что проверять на уникальность?

если сразу сохранять на сервер измененные значения например детали, то как быть, если пользователь передумал и закрыл документ не сохраняя
удалить к чертям все черновые записи, то есть состояние ввести: Черновик (Draft)
и удалять черновики со временем

зато можно будет восстановить работу пользователя, если инет вдруг упал, питание отрубилось, случайно был закрыт браузер
...
Рейтинг: 0 / 0
Мастер деталь
    #39696973
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swv,
По теории, если веб проект публичный веб сайт, то обычно короткие транзакции на сервере. А это собираем длинной цепочкой всю сущность. Без разницы, со сменой страницы или нет. Храните на клиенте.
Потом коротко выстреливаете в субд.
Если корпоратив, то можно длинные транзакции db.beginTransaction.
Тогда клиент проще.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Мастер деталь
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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