====== TSpr Клас ====== Реалізує довідник. ^ Член ^ Тип ^ Параметри ^ Опис ^ ^ Choice | ID | | Повертає ID обраного запису з об'екту **ISpr**, якщо його создано для обирання запису (**MD** - класу **TSpr**): loSpr = CreateObject('iSpr','SDZPShem','ID='+lcShem) If VarType(loSpr) = 'O' loSpr.DlgBar.RemoveButton('Parent') loSpr.MD.UsedParent = loSpr.MD.Record.Mod loSpr.MD.ValueParent = 'LAZY' loSpr.Show() If VarType(loSpr)='O' And !Empty(loSpr.MD.Choice) MessageBox('Обрана схема '+ScatterToObj(loSpr.MD.Choice) EndIf EndIf | ^ GetHist(cFld,[dEnd],[cCrsRet],[dBeg],[lPer]) | С | //cFld//-реквізит; //dEnd//-кінцева дата; //сCrsRet//-бажана назва курсору ; //dBeg//-початкова дата; //lPer//-ознака періоду| Повертає назву курсору з історією періодичного реквізиту **cFld**. &&---Вар 1 : Повертае в курсор lcCrs (ID,_DATE,_VAL) && значення реквізиту Kol на дату ldDateEnd; && На дату _DATE значення _VAL lcCrs = loSprOsr.GetHist('Kol', ldDateEnd) &&---Вар 2 : Повертае в курсор lcCrs (ID,_DATE,_VAL) && історію значень реквізиту Kol за період {ldDateBeg,ldDateEnd}; && _DATE - з якої дати встановдено значення _VAL lcCrs = loSprOsr.GetHist('Kol', ldDateEnd,,ldDateBeg) &&---Вар 3 : Повертае в курсор lcCrs (ID,_VAL, DATEBEGIN, DATEEND, DAY) && історію значень реквізиту Kol за період {ldDateBeg,dDateEnd}; && В періоді з DATEBEGIN по DATEEND діяло DAY дней значення _VAL lcCrs = loSprOsr.GetHist('Kol', ldDateEnd,,ldDateBeg, .T.) | ^ GenGKod(cPar) | VAR | | Встановлює значення реквізитів **GKod** та **GLevel** на основі значення реквізиту **PID**. Зазвичай метод використовується з параметром **ALL** для перегенерації всіх значень довідника, в цьому випадку повертається значення **.T.**. Метод також неявно використовується при генерації нового елементу в методі **TSpr.GenGKod()** - тоді параметр приймає значення **CURRENT** та додатково повертається значення реквізиту **GKod**.| ^ Take() | .T. | | Завантажує значення з поточного рядка таблиці довідника в колекцію **RF**. Також дивись функцію [[smartfox:func:func-scattertoobj-53|ScatterToObj()]].| ^ _Filter | C | | Фільтр, який не не перетинається з фільтрами які працюють для реалізації інтерфейсу в класі [[smartfox:class:ispr-44|ISpr]]. Т.т. працює в доповнення до фільтрів інтерфейсів. | ^ IsSelect | L | | Повертає **.T.** - якщо поточний запис в довіднику спозиціоновано. (В наведеному прикладі The - об'єкт класу [[smartfox:class:ispr-44|ISpr]]) If !(The.MD.isSelect And Upper(The.MD.FPName)='_TARHR') Return EndIf The.MD.Take() lcNodeID = Iif(The.MD.RF.Isfolder='1', The.MD.RF.ID, The.MD.RF.Pid) | ^ is_NewPlus | L | | Дорівнює **.T.** - коли елемент довідника додається по шаблону. | ^ RF | Empty | | Колекція реквізитів отримана за допомогою метода **Take()** з поточного рядка таблиці. | ^ HistDate | D8 | | Якщо в довіднику існують періодичні значення, то ця властивість задає дату, на яку будуть повертатися значення по замовчуванню. Також клас [[smartfox:class:ispr-44|ISpr]] відображає значення на цю дату, та відображає саму дату в правому нижньому кутку форми (в кінці рядка статусу). По замовчуванню в довідниках встановлюється поточна календарна дата, якщо вона входить в діапазон {Sys.BeginDate...Sys.EndDate}, інакше дорівнює Sys.BeginDate.|