Obsah

Midregister.xml

Popisuje strukturu tabulek a jejich vztahu v rámci tzv. Middle. Middle je základní datový objekt se kterým lze pracovat pomocí OBIS API, lze jej zobrazit ve Formě atd.

Middle se skládá z tzv. DataSetItem, což jsou jednotlivé tabulky databáze.

Popis Middle se skládá ze dvou kompoment:

Ukázka:

<MidRegister>
 
  <Middle Name="VYROBKY">
 
    <DataModel>
      <Table Name="sklad_vc">
        <Caption>Pohyby</Caption>
      </Table>
      <Table Name="v_mp_mp">
        <Field Name="IDProt">
          <LookupKeyFields>MERPROT:IDProt</LookupKeyFields>
        </Field>
      </Table>
    </DataModel>
 
    <MiddleStructure>
      <TableItem Name="v_sklad_vyrobky">
        <CounterOption>Vyrobky.Pocit</CounterOption>
        <TableItem Name="sklad_vc">
          <Link>SN=SN;IDPrijemka</Link>
          <OnlyForView>1</OnlyForView>
        </TableItem>
        <TableItem Name="v_mp_mp">
          <Link>SN=SN</Link>
          <OnlyForView>1</OnlyForView>
        </TableItem>
      </TableItem>
    </MiddleStructure>
  </Middle>
 
</MidRegister>

Popis elementů MiddleStructure

MiddleStructure se může skládát z následujících elementů. Jejich zanoření popisu vzájemnou strukturu.

TableItem může obsahovat následující elementy:

Pro MasterChange a CascadeDelete platí:

  1. příznaky lze sčítat (např. IgnoreNull and IgnoreOnlyForView = 6)
  2. pokud je v detail tabulce nastaven příznak OnlyForView mazaní a změna ID se implicitně neprovádí
  3. IgnoreOnlyView ignoruje implicitní chování dle bodu 2
  4. IgnoreNull ignoruje nastavenou akci pokud je ID null nebo ''

Zamknutí změn k datu

Pomocí elementů <LockDateOptionName> a <LockDateFieldName> lze v tabulce zamezit editaci resp. přidání záznamu s datem menším než zadaná mez. Jde tedy o uzávěrku záznamů v tabulce k zadanému datu.

Příklad:

  <Middle Name="PROSTREDKY">
 
    <TableItem Name="prost_vykony">
      <LockDateOptionName>FakturyDM.LockRecords</LockDateOptionName>
      <LockDateFieldName>Datum</LockDateFieldName>
    </TableItem>
    <TableItem Name="prost_naklady">
      <LockDateOptionName>FakturyDM.LockRecords</LockDateOptionName>
      <LockDateFieldName>Datum</LockDateFieldName>
    </TableItem>
 
  </Middle>

Uvedený příklad zamezí změnu v tabulce výkonů resp. nákladů pro datum starší než je zadaný datum v uživatelském optionu FakturyDM.LockRecords.