====== TMexelR Клас======
Реалізує форми звітності. Дивіться також [[smartfox:class:section-160|Section]]
^ Член ^ Тип ^ Параметри ^ Опис ^
^ AddTotal(cSection) | L | // cSection //- назва секції; | Створює автоматичні підсумки для цифрових колонок указанної секції **cSection**, які можно готовими використовувати в ітогах за допомогою **#=cSection**.\\ Наприклад будемо створювати автопідсумки секції **Body**:oRep=CreateReport('DOC._Vko._BlankReeVko')
oRep.AddTotal('Body') && Створюємо автоматичні підсумки
Scan
oRep.PrintSection('Body') && Накопичуємо підсумки
EndScan
oRep.PrintSection('Total') && Виводимо підсумки використовуя #=Body
oRep.ShowReport(0)
|
^ AddOutLineStart([nRowOrCol],[nDirect],[lCollapse]) | L | // nRowCol //- тип групування;\\ //nDirect//-напрямок;\\ //lCollapse//- стан; | Створює початок об"єкту группування **OutLine**. \\ // nRowCol //- визначае вертикальній (групування рядків) або горизонтальний (групування колонок) тип групування (по зам. вертикальний = 1).\\ // nDirect //- задае напрямок знаходження вузла **[+]**: 1-спочатку(по зам) або 2-наприкінці. Іншими словами - як що спочатку розташован групуючий ітог то 1, а як що в кінці то 2.\\ // lCollapse //- .F. -розгорнутий вузол(по зам) або .T. - згорнутий вузол.\\ Дивись також **AddOutLineEnd()** та **Report.ShowColHeading**.|
^ AddOutLineEnd([nRowOrCol],[nDirect]) | L | // nRowCol //- тип групування;\\ //nDirect//-напрямок;\\ //lCollapse//- стан; | Закінчує об"єкт группування **OutLine**. \\ // nRowCol //- визначае вертикальній (групування рядків) або горизонтальний (групування колонок) тип групування (по зам. вертикальний = 1).\\ // nDirect //- задае напрямок знаходження вузла **[+]**: 1-спочатку(по зам) або 2-наприкінці.|
^ ClearAll([lNoCloseTable]) | L | //lNoCloseTable//- прапор закриття таблиць | Зачищає вже сформований звіт, залишаючи один чистий лист (в випадку, якщо звіт був створений "на лету", то видаляється і сам лист). Якщо переданий параметр // lNoCloseTable // = ** True**, то курсори породжені в процесі створення звіту не будуть закриті (по замовчуванню ** False ** - закриваються в більшості випадків). Метод завжди повертає True. **Увага : ** при використанні кнопкі **Оновлення звіту** {{:confbudget:catalog:btn-refresh.png?20|}} цей метод викликається автоматично. |
^ CmdRefresh | C | //cCmd// - команда | Указує команду, яку потрібно виконати при натискані на кнопку **"Оновити"** в сформованому звіті. |
^ DelSheets([nSheet]) | L | //nSheet// - номер листа | Видаляє з вже сформованого звіту вказаний лист. Якщо лист не вказано - будуть видалені усі листи. Метод завжди повертає True |
^ FixRowCol([nRow],[nCol]) | L | //nRow// - кількість рядків;\\ //nCol// - кількість колонок; | Замрожує від прокрутки відповідну кількість рядків та колонок |
^ InitJson([cMode]) | L | //cMode// - тип виклику | Метод використовується в разі наявності в шаблоні звіту секціі **json**, яка є сценарієм додаткового діалогу для формування звіту . \\ **InitJson('INIT')** викликаєтья автоматично при створені звіту (іноді може використовуватись явно в разі необхідності ініціалізації полів діалогу до відображення). **InitJson('SHOW│SHOW1')** викликаєтья для відображення діалогу (**SHOW** показує окремо найменування та поле вводу; **SHOW1** показує найменування як частину поля вводу). \\ Метод повертає False в разі виявлення помилки, інакше True.oRep=CreateReport('DOC._Vko._BlankReeVko')
oRep.InitJson('Show1')
oRep.PrintSection('Title')
oRep.ShowReport(0)
ZatvPerson = {"caption":"ЗАТВЕРДЖУЮ" , "type":"Spr._Person.Gui"}
Hleh1 = {"caption":"1 член комісії" , "type":"Spr._Person.Gui"}
/Sign1 = {"caption":"Підпис " , "type":"C"}
Hleh2 = {"caption":"2 член комісії" , "type":"Spr._Person.Gui"}
/Sign2 = {"caption":"Підпис " , "type":"C"}
/Prim2 = {"caption":"Примітка " , "type":"C"}
PersonVid = {"caption":"Особа, яка відобразила" , "type":"Spr._Person.Gui"}
Зразок секціі **json** показує типічне використання. Зверніть увагу, що в раз використання відсутності префіксу **'/'** поле діалогу починається з нового рядка, інакше розміщається в поточному рядку. |
^ LastActiveSheet | N | | Повертає або встановлює указану сторінку, як що звіт має декілька сторінок для режиму відображення. Має сенс встановлювати перед методом **ShowReport()** |
^ LastRow | N | | Містить останній незаповнений рядок |
^ LastCol | N | | Містить останню незаповнену колонку (нажаль завжди дорівнює 1) |
^ OnFly | L | | Містить ** True ** якщо звіт був створений "на лету" (тобто без шаблону). Якщо звіт створений по шаблону містить ** False ** |
^ OpenAlias | C | | Через **;** прописуються відкриті аліаси, які повині бути закриті одночасно з звітом (oRep.OpenAlias='crsBody;crsTmp'). |
^ PrintSection(cSecG[,cSecV[,nFontColor]]) | L | // cSecG //- секція горізонтальна;\\ //cSecV//- секція вертикальна;\\ //nFontColor//- колір шрифту; | Друкує відповідну секцію з шаблону звіту використовуючі колір шрифту (** RGB() **) |
^ Report | O | | Посилання на обьект звіт, який відображаємо у формі (дивись ** TMexelR.Report **) |
^ RefreshReport() | L | | Імітує натискання кнопки **"Оновити"** на формі звіту (актуально за наявності заповненого свойства **CmdRefresh**) |
^ ShowJson | N | | Містить ** 0 ** якщо діалог на основі JSON налаштувань шаблону ще не відбулося (тобто під час формування, або після формування був викликаний метод шаблону //InitJson('Show')//). Якщо відбувся містить ** 1 ** |
===== TMexelR.Report =====
Реалізує Report.
^ Член ^ Тип ^ Параметри ^ Опис ^
^ ColHidden(nCol) | L | | Повертає .Т.-якщо колонка в звіті скрита. Також можно управляти цім станомloRep.Report.ColHidden(7)=.T. && Скриває 7 колонку
loRep.Report.ColHidden(8)=.F. && Відображає 8 колонку
|
^ CreateFilter(nRb,nCb, nRe, nCe) | L |//nRb,nRe//-рядки для фільтру,\\ //nCb,nCe//-колонки для фільтру | Встановлює фільтр для вказаного діапазону loRep.Report.ShowColHeading=.T. && Вмикае режим відображення як Excell (без цього фільтру не буде видно)
loRep.Report.CreateFilter(8, 2, loRep.LastRow-1, 14) && ВВстановлює фільтр для колонок з 2 до 14
|
^ LastRow | N | | Повертає останній змінений рядок. |
^ LastCol | N | | Повертає останню змінену колонку. |
^ SaveFile(cFileName) | | //lcFileName//- файл | Зберігає звіт в файл з указаною назвою. Зверніть увагу, щоб в назві файла обовязково було вказано **".XLSX"**. |
^ SetColWidthAuto(nCs,nCe,lB,nRs,nRe) | | //nCs,nCe//- початкова та кінцева колонка,\\ //nRs,nRe//- початковий та кінцевий рядок, \\ //lB//- .T.-збільшувати в більшу сторону| Автоматичне встановлення ширини ячеек, в залежності від контенту для указанного діапазону. |
^ ShowColHeading | L | | Відповідає чи буде відображатись рядок заголовків колонок: **.T.**-так, **.F.**-ні(по зам). Як правило потрібно включати для роботи об"екту **OutLine**. |
^ Sheet | N | | Повертає або встановлює указану сторінку, як що звіт має декілька сторінок для режиму формування. |
^ TextRC(nRow,nCol) | | //lnRow//- рядок,\\ //lnCol//-колонка | Повертає значення ячейки. |
===== Public =====
Додаткові можливості.
^ Variable ^ Тип ^ Параметри ^ Опис ^
^ _NCellRow | N | | Тримає рядок з **TMexelR.Report** на якому викликаємо розшифровку. Наприклад: // lcRow = AllTrim(The.Report.TextRC(_NCellRow,1)) // |
^ _NCellCol | N | | Тримає колонку з **TMexelR.Report** на якому викликаємо розшифровку|
^ _CurRow | N | | Тримає рядок з **TMexelR.Report** під час друку секції. Наприклад: // #Bproc.Mod._Nszu.GetVal(_CurRow_,_CurCol_) // |
^ _CurCol | N | | Тримає колонку з **TMexelR.Report** під час друку секції |
** Дивіться також ** [[smartfox:class:section-160|Section]]