| 
 | 
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Добый вечер. Пожалуйста подскажите кто-нибудь, как сделать в 6-х формзах (ОЕБС R11) следующее: Есть таблица злодеев и таблица злых дел (вообще всех возможных). Нужно в форме злодеев сделать окно, выводящее все возможные злые дела для данного злодея на основе стандартной таблицы злых дел + поле чекбокс и, если чекбокс выбран, то данное злое дело совершено данным злодеем. Таким образом, форма отображает характеристики злодеев и их злые дела. Список злых дел должен соответствовать стандартной таблице злых дел. То-есть если вдруг в стандартную таблицу добавили строку, то в списке оно должно тоже появиться. Но при этом список должен сохранять прежние выборы, то-есть чекбоксы должны быть проставлены там, где надо. Я сначала думал конкатенировать в текстовое поле, теперь склоняюсь к parent-child таблице... Но в любом случае это не LOV, а отдельное окно/блок. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.08.2014, 23:23 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  nub_ora13Есть таблица злодеев и таблица злых делРаз это отношение "многое ко многим", то нужна еще и таблица злодеяний злодеев. nub_ora13склоняюсь к parent-child таблицеДа, мастер-деталь, где мастер - злодеи, а деталь это вьюшка из таблицы злых дел + таблица злодеяний злодеев. Вьюшку обвесить instead of тригерами. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 15:14 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  мастер-детальВьюшку обвесить instead of тригерами. Нафига? Показ делаем на View + вытаскиваем ID из таблицы связки Обновление (DML) делаем на таблицу связки, у поля ID говорим, что это ключевое поле (для update) Остальные поля делаем недоступными для редактирования ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 15:29 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Leonid KudryavtsevНафига?Когда меняем состояние чекбокса, то для блока это будет update, а нам нужен insert в таблицу связки (установили крыжик) или delete (убрали крыжик) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 15:53 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Сорри, был не прав. 1) Вместо View, можно было бы банально использовать post_query триггер. Тогда делаем блок на таблице-связки, данные из справочной таблице подтягиваем в post_query триггере. С точки зрения абсолютной правильности, это менее правильно, чем View. Т.к. будет больше обращений к серверу базы данных. В случае View, все данные передадутся одним select'ом, в случае post-query для каждой строки будет еще один или несколько одиночных запросов. Хотя, существуют ситуации, когда post-query более производительно. 2) На самом деле, задача не так уж и просто. Как я понимаю, автор хочет автоматом высветить ВЕСЬ СПРАВОЧНИК, вне зависимости от того, что есть в таблице-связки. Стандартный подход, обычно, позволит высветить ТОЛЬКО данные из таблице связки. Можно придумывать разные навороты. Но наверное наиболее просто такое сделать полностью ручками. См. транзакционные триггеры. ON-SELECT, ON-LOCK, ON-DELETE. ON-INSERT, ON-UPDATE и так далее. Ну, или, действительно View и instead-of триггер. (ни разу instead-of не делал) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 15:54 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  мастер-детальКогда меняем состояние чекбокса, то для блока это будет update, а нам нужен insert в таблицу связки (установили крыжик) или delete (убрали крыжик) Да, уже сам заметил. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 15:58 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Leonid Kudryavtsevнаверное наиболее просто такое сделать полностью ручками. См. транзакционные триггеры. ON-SELECT, ON-LOCK, ON-DELETE. ON-INSERT, ON-UPDATE и так далееСоглашусь только на ON-LOCK - действительно, очень полезно будет его сделать. В остальном, чем меньше подменяем стандартную функциональность, тем лучше. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 16:11 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Самый простой и не очень правильный вариант (view + instead of правильнее): Делаем отдельное модальное окошко с одним блоком (так сделал бы я). Делаем блок по таблице справочника, поле с Check-box не базовое, заполняется на post-query ЗАПРЕЩАЕМ блоку сохраняться в таблицу. Поле DML Target None Делаем две кнопки Ok, Cancel ))) По кнопке Ok - в цикле проходимся по блоу, анализируем поле с Check-Box, обрабатываем, как нам нужно На кнопкке Cancel - все понятно Может иметь смысл, если трогать(создавать) объекты в БД не желательно, все на чистом Forms, просто и понятно. Во всех прочих случаях, признаю за вариантом с view и instead of триггерами одни плюсы. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 16:11 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  мастер-деталь Мы с тобой параллельно пишем ))) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 16:13 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Нужно чтобы для каждого злодея выводился список всех злых дел( злодеи и злые дела - это стандартные таблицы) c чекбоксами, и чтобы при повторном выборе злодея этот список отображался также, со всеми злодействами с галочками напротив выбранных. Менять можно только состояние чекбоксов. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 17:10 | 
  
  
  
   | 
||
| 
 
Сохранить только выбранные записи, вернуть выбранные и не выбранные 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  То-есть я правильно понимаю, что нужно будет создать таблицу соответствия evil_deeds(criminal_id, evil_deed_id, ...), и заполнять блок формы через вьюшку с фулл аутер джоином данной таблицы со стандартными. Где evil_deed_id not null - там чекбокс выбран. Правильно? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 04.08.2014, 17:24 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=51&msg=38712291&tid=1878157]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    60ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    46ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 14ms | 
| total: | 168ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...