Точечный огонь Tibco;Обновить таблицы в условиях с использованием Ironpython - PullRequest
0 голосов
/ 10 ноября 2019

Я написал следующий скрипт для обновления таблиц при определенных условиях.

Я создал свойство документа под именем «lob».

Некоторые таблицы будут обновлены в соответствии с lob'sзначение, в то время как othes будет обновляться, несмотря на значение lob.

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

Более того, я создал свойство документа под именем «PIAreadyToDisplay». Это свойство равно «Нет» во время обновления таблиц. Когда обновление таблицы завершено, свойство документа равно «Да».

Кажется, что таблицы обновляются в соответствии с моими потребностями, но свойство документа «PIAreadyToDisplay» не работает должным образом.

Вы нашли ошибку в моем сценарии?

Заранее благодарим вас за ваш ответ.

**Script**

Document.Properties["PIAreadyToDisplay"] = "No"

import clr

from Spotfire.Dxp.Data import RowSelection, IndexSet

MyTable = Document.Data.Tables["In Force"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["ACP_IF"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["NAYO_IF"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["In Force"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["pol_start_dt"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["Policy_Info_Fire_append_non_fire"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["policy_info_covers_mani"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["Intermediaries"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["Policy_Info_HH _with_Descriptions"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["Policy_info_Companies_with_descriptions"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

MyTable = Document.Data.Tables["policy_multiple_Usages"]

MyTable.RemoveRows(RowSelection(IndexSet(MyTable.RowCount,True)))

import clr

from System.Collections.Generic import List, Dictionary

from Spotfire.Dxp.Data import DataTable

from Spotfire.Dxp.Framework.ApplicationModel import NotificationService



--- Empty list to hold DataTables

Tbls = List[DataTable]()

str1 = Document.Properties["lob"] ;

str2 = "5049242";

if (str2 in str1)==True:

Tbls.Add(ACP)

str3 = "5049234";

if (str3 in str1)==True:

Tbls.Add(NAYO_IF)

str4 = "Πυρός";

if (str4 in str1)==True:

Tbls.Add(house)

Tbls.Add(companies)

Tbls.Add(use)



Tbls.Add(polstart)

Tbls.Add(interm)

Tbls.Add(covers)


--- Notification service

notify = Application.GetService[NotificationService]();

--- Execute something after tables are loaded

def afterLoad(exception, Document=Document, notify=notify):

if not exception:

  Document.Properties["PIAreadyToDisplay"] = "Yes"



else:

  notify.AddErrorNotification("Error refreshing table(s)","Error details",str(exception))

--- Refresh table(s)

Document.Data.Tables.RefreshAsync(Tbls, afterLoad)

1 Ответ

0 голосов
/ 11 ноября 2019

Решено

Чтобы показать значение свойства документа "PIAreadyToDisplay":

  1. Я вставил текстовую область Я вставил метку - элемент управления свойства,
  2. Для этого я выбрал таблицу в поле «Данные» и выбрал свойство своего документа в поле «Значения». Когда таблица (на шаге 2) не была обновлена, значение свойства документа не изменилось.

На шаге 2 я выбрал таблицу, которая всегда будет обновляться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...