Table.ShowOnParent

From SunFlurry wiki
Revision as of 12:08, 26 January 2021 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  ShowOnParent (Вывод окна таблицы на экран)
Объект:Электронная таблица
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, строку
Визуальность:Да

Функция выводит таблицу на экран в виде самостоятельной формы, подчиненной верхней родительской форме. Окно имеет требуемый заголовок, при сохранении таблицы в виде файла, по умолчанию используется имя файла, которое можно задать в аргументе этой функции. Если таблица уже выведена на экран, функция не выполнит никаких действий. Функция также работает для консольного клиента, она выводит таблицу в отдельном окне и может использоваться для отладки.

Если таблица формируется из потока, модуля или функции, не отображаемых на экране в виде формы, либо текущая форма вызывает другую, с тем, чтобы последняя вывела таблицу на экран и закрылась после вывода, эта функция может закрепить выведенную таблицу за верхней родительской формой, вместо текущей, это позволит избежать ситуации запрета исполнения родительской формы до тех пор, пока не будут закрыты все печатные формы, созданные подчиненной. См. также Форма.

Если таблица формируется из потока не имеющего родительских форм либо вообще не имеющего форм, таблица будет подчинена корневому потоку (будет открыта, как если бы пользователь загрузил в клиенте файл таблицы с диска).

Синтаксис

Table.ShowOnParent(<Заголовок формы с таблицей (STRING)>,<Наименования файла по умолчанию при сохранении таблицы (STRING)>,<Выводить окно на передний план (INT)>=1)

Аргументы

  • <Заголовок формы с таблицей (STRING)> - (необязательный аргумент) Аргумент задает заголовок окна таблицы.
  • <Наименования файла по умолчанию при сохранении таблицы (STRING)> - (необязательный аргумент) Аргумент задает имя и путь файла таблицы. В диалоге сохранения таблицы на диск, это имя будет использовано по умолчанию, но может быть изменено пользователем.
  • <Выводить окно на передний план (INT)> - (необязательный аргумент) Аргумент задает режим, когда окно таблицы выводится на передний план в момент ее вывода (по умолчанию), либо остается в фоне (пользователь продолжает редактирование активного на момент вывода окна).

Примеры

//Модуль был вызван из другой формы с тем, чтобы он вывел отчет
//Если в функции OnOpen вывести таблицу с помощью обычной функции .Show(), модуль не закроется и будет оставаться в памяти
//  до тех пор, пока пользователь не закроет таблицу (программа предполагает, что в модуле могут находиться функции, вызываемые из таблицы)
//Использование ShowOnParent исключает эту неудобную ситуацию.
Function OnOpen()
  //Закрыть модуль после вывода таблицы
  Result:=0;
 
  ...

  Т:=Table.Create();
  Т.SetSourceName("Отчет");
  пЗагол:="Отчет по ценам номенклатуры";
  Т.CopyByX("v1",1);
  Т.Options.FixedLine:=Т.Height();

  While З.Next(1) Do
    пН:=З.зН;
    пКод:=пН.Code;
    пЦ:=глНайтиЦену(З.зН,спТипыЦен.Get(i),ДатаФормирования);
    Т.CopyByX("v2",1);
  EndDo;
  Т.CopyByX("v4",1);

  Т.Printing.Orientation:=1;
  Т.EditorMode:=1;
  Т.ShowOnParent(пЗагол,"Prices.xls");
EndFunction