Autor Téma: Master Detail  (Přečteno 272 krát)

Offline hairdresser

  • Nováček
  • *
  • Příspěvků: 6
  • Karma: 0
    • Verze Delphi: Delphi PRO 10.3.1
Master Detail
« kdy: 15-06-2019, 18:53:26 »
Zdravim

Prosím poraďte jak nejlépe uložit Db záznam master detail. Uživatel nejdříve vyplní master pak položky v detailu a stiskne uložit a uloží se všechno co zadal. Když stiskne storno tak se vše zruší. Jak nejlépe tuto akci naprogramovat. Dekuji za odpovědi.

Offline hairdresser

  • Nováček
  • *
  • Příspěvků: 6
  • Karma: 0
    • Verze Delphi: Delphi PRO 10.3.1
Re:Master Detail
« Odpověď #1 kdy: 15-06-2019, 19:00:23 »
Muzu poprosit o názorný stručný příklad. Jedna se o sqlite.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4438
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Master Detail
« Odpověď #2 kdy: 15-06-2019, 19:03:30 »
Good
Rated 2 times
Aká DB, komponenty na prácu s ňou (FireDAC?), používaš transakcie? To posledné je najzaujímavejšie.
Ja si myslím, že najlepšie je najprv kompletne obslúžiť Master. To jest dostať ho do DB a až potom riešiť Detail. Takto nebudeš mať zmätky a bude to zo všetkého najjednoduchšie. Tých detailov môžeš zadávať aj viac. Pri neukončenom Master budeš mať problémy.
Ja to vždy prísne oddeľujem. To neznamená, že to nemôže byť na jednom formulári.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline hairdresser

  • Nováček
  • *
  • Příspěvků: 6
  • Karma: 0
    • Verze Delphi: Delphi PRO 10.3.1
Re:Master Detail
« Odpověď #3 kdy: 15-06-2019, 19:05:06 »
Používám firedac a nebo unidac

Offline hairdresser

  • Nováček
  • *
  • Příspěvků: 6
  • Karma: 0
    • Verze Delphi: Delphi PRO 10.3.1
Re:Master Detail
« Odpověď #4 kdy: 15-06-2019, 19:06:51 »
Přesněji uživatel vyplní fakturu která má určitě položky a i hlavičku.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4438
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:Master Detail
« Odpověď #5 kdy: 15-06-2019, 19:59:19 »
Excellent
Rated 1 time
Inšpiruj sa účtovnými programami. Neviem či už máš nejakú predstavu a či máš definované tabuľky. Faktúra má toho viac:
  • údaje o dodávateľovi
  • údaje o odberateľovi
  • úvodný text faktúry - obyčajný, RTF
  • položky - detail
  • text na záver - obyčajný, RTF
  • prípadne podpis
Záleží na tom pre koho to robíš a ako veľmi univerzálna má byť šablóna faktúry.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 781
  • Karma: 43
    • Verze Delphi: 10.3
Re:Master Detail
« Odpověď #6 kdy: 15-06-2019, 20:33:50 »
Excellent
Rated 1 time
Zdravim

Prosím poraďte jak nejlépe uložit Db záznam master detail. Uživatel nejdříve vyplní master pak položky v detailu a stiskne uložit a uloží se všechno co zadal. Když stiskne storno tak se vše zruší. Jak nejlépe tuto akci naprogramovat. Dekuji za odpovědi.

Ahoj,

já jsem si zvykl to mít tak, že na formulář dám PageControl (nebo něco podobného). Na první záložce zobrazuji hlavičku, na druhé záložce detaily, případně jsou tam další záložky, pokud jsou potřeba (třeba fotky připojené k dokladu o likvidaci zboží). Jakmile uživatel přepne z první záložky na druhou, hlavička se hned uloží do databáze. Po přidání detailu ho do databáze ukládám také ihned - jednak nemusím řešit, že uživatel přišel o vše, když měl 2 hodiny rozpracovaný doklad a jaksi nekliknul Uložit, ale také se hodí, že třeba odečtení položky ze skladu proběhne ihned a ostatní uživatelé tak vidí správnější data, než kdyby zůstával doklad dlouho neuložený.

Offline hairdresser

  • Nováček
  • *
  • Příspěvků: 6
  • Karma: 0
    • Verze Delphi: Delphi PRO 10.3.1
Re:Master Detail
« Odpověď #7 kdy: 01-07-2019, 19:56:02 »
Moc Vam Vsem dekuji za postrehy....