====== 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]]