Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Both sides previous revision Попередня ревізія Наступна ревізія | Попередня ревізія | ||
|
smartfox:class:ispr-44 [2018/06/01 15:52] admin |
smartfox:class:ispr-44 [2025/11/18 05:20] (поточний) admin |
||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| ====== ISpr Клас====== | ====== ISpr Клас====== | ||
| - | Реалізуе інтерфейс списку довідника. | + | Реалізує інтерфейс списку довідника. |
| - | **Нагадування** При конфігурувані документу в відповдних подіях, умова **The.TypeForm=1** вказуе що код відноситься для роботи з списком, **The.TypeForm=2**-елементом довідника, **The.TypeForm=3**-групою. | + | **Нагадування** При конфігуруванні документу в відповідних подіях, умова **The.TypeForm=1** вказує, що код відноситься для роботи з списком, **The.TypeForm=2**-елементом довідника, **The.TypeForm=3**-групою. |
| ^ Член ^ Тип ^ Параметри ^ Опис ^ | ^ Член ^ Тип ^ Параметри ^ Опис ^ | ||
| Рядок 12: | Рядок 12: | ||
| EndIf | EndIf | ||
| </code> | | </code> | | ||
| - | ^ OnExit() | Дивись опис | | Викликае та повертае значення функції заданої в конфіураторі в події **OnExit**. Якщо в конфігураторі ця подія не перекривалась - метод повертае **True** | | + | ^ Fresh() | | | Примусово оновлює зміст окна довідника<code visualfoxpro>The.Fresh() |
| - | ^ OnDel() | Дивись опис | | Викликае та повертае значення функції заданої в конфіураторі в події **OnDel**. Якщо в конфігураторі ця подія не перекривалась - метод повертае **True**. Тобто для заборони видалення досить повернути **False** | | + | =Iif(Seek(loDoc.Header.ID.Value, The.MD.Alias , 'ID'), MessageBox('Успішно додано !',64,lcCaption), 0)</code> | |
| - | ^ OnLoad() | Дивись опис | | Викликае та повертае значення функції заданої в конфіураторі в події **OnLoad**, яка відбуваеться перед відображенням форми редагування. Якщо в конфігураторі ця подія не перекривалась - метод повертае **True**. Для заборони редагування досить повернути **False**. Зручно використовувати для настройки можливостей редагування, якщо стандартні можливості не влаштовуть.<code visualfoxpro> | + | ^ OnExit() | | | Викликає та повертає значення функції заданої в конфігураторі в події **OnExit**. Якщо в конфігураторі ця подія не перекривалась - метод повертає **True** | |
| + | ^ OnDel() | | | Викликає та повертає значення функції заданої в конфігураторі в події **OnDel**. Якщо в конфігураторі ця подія не перекривалась - метод повертає **True**. Тобто для заборони видалення досить повернути **False**. В відповідній події конфігуратора існує властивість **DelFlag**, яка дозволяє виконати код до видалення (**DelFlag=0**), або після (**DelFlag=1**).<code visualfoxpro> | ||
| + | Do Case | ||
| + | Case The.TypeForm = 4 | ||
| + | If The.DelFlag=0 && До видалення | ||
| + | Local lcDocID, lcCrsDoc, loUsed | ||
| + | lcDocID = The.MD.HF.ID | ||
| + | loUsed = CreateObject('TUsed') | ||
| + | lcCrsDoc = FindRef(lcDocID,.T.,.T.) | ||
| + | Select (lcCrsDoc) | ||
| + | Locate For ID # Spr._Zob.Gui | ||
| + | If Found() && Return .F. - Заборона подальших штатних дій | ||
| + | Return MessageBox('На документ існують посилання. Видалення не можливе.',16,'Видалення')<0 | ||
| + | EndIf | ||
| + | If The.MD.HF.IsDel=0 And MessageBox('Видалити документ ?',1+32,'Запит')=1 | ||
| + | *---Удаляем Зобов'язання | ||
| + | Select (lcCrsDoc) | ||
| + | Scan For Seek(ID,'_Zob','ID') | ||
| + | Delete In _Zob | ||
| + | EndScan | ||
| + | *---Видаляем документ самостійно | ||
| + | SysLog.Fix('Doc','Del',lcDocID, DocShort(lcDocID),,The.MD.HF.Date) | ||
| + | The.MD.Delete(lcDocID,1) | ||
| + | EndIf | ||
| + | Return .F. && Заборона подальших штатних дій | ||
| + | EndCase | ||
| + | </code> | | ||
| + | ^ OnLoad() | | | Викликає та повертає значення функції заданої в конфігураторі в події **OnLoad**, яка відбувається перед відображенням форми редагування. Якщо в конфігураторі ця подія не перекривалась - метод повертає **True**. Для заборони редагування досить повернути **False**. Зручно використовувати для налаштування можливостей редагування, якщо стандартні можливості не влаштовують.<code visualfoxpro> | ||
| Do Case | Do Case | ||
| Case The.TypeForm= 2 | Case The.TypeForm= 2 | ||
| Рядок 22: | Рядок 49: | ||
| EndCase | EndCase | ||
| </code> | | </code> | | ||
| - | ^ isSelectMode | L | | Ознчає що довідник буде працювати в режимі вибору, і якщо вибір відбувся, то результат буде збережено в **ISpr.MD.Choice**.<code visualfoxpro> | + | ^ isSelectMode | L | | Означає що довідник буде працювати в режимі вибору, і якщо вибір відбувся, то результат буде збережено в **ISpr.MD.Choice**.<code visualfoxpro> |
| loSpr = CreateObject('iSpr','_KSPROF') | loSpr = CreateObject('iSpr','_KSPROF') | ||
| loSpr.isSelectMode = .T. | loSpr.isSelectMode = .T. | ||
| Рядок 30: | Рядок 57: | ||
| EndIf | EndIf | ||
| </code> | | </code> | | ||
| - | ^ MD | [[smartfox:class:tspr-51|TSpr]] | | Посилання на об'ект метаданих якій відображуе інтерфейс | | + | ^ MD | [[smartfox:class:tspr-51|TSpr]] | | Посилання на об'єкт метаданих який відображає інтерфейс | |
| + | ^ ReadOnly | L | | **True** переключає довідник в режим **Тільки читання** (можливість додавання та редагування буде відключена). Використовується, як правило в методі **OnLoad()**. | | ||