Есть ли способ редактировать ссылки на таблицы с помощью API? - PullRequest
0 голосов
/ 03 июля 2019

Разработка рабочего процесса, в котором каждый день новая электронная таблица загружается в рабочую область.Второй лист отслеживания использует перекрестную ссылку для заполнения нескольких столбцов.Я пытаюсь автоматизировать процесс загрузки, и если я могу отредактировать существующую перекрестную ссылку, я могу просто указать ей новый лист, а не заполнять ячейки новой ссылкой.Учитывая, что редактор ссылок в приложении способен изменять, на какой лист и на какой диапазон ссылаются, для меня имеет смысл, что у API есть какой-то способ сделать это.Я прочитал документацию здесь: http://smartsheet -platform.github.io / api-docs / и не нашел ничего, что позволило бы мне отредактировать ссылку.Я надеюсь, что мне не хватает чего-то очевидного.

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

Вот код, который я использую для получения и добавления ссылки на перекрестный лист

Wrksps = get_workspace_list()

for space in Wrksps:
    if space.name == 'QC':
        qc_space = space

QC_sheets = get_sheet_list(qc_space.id,'w')

for sheet in QC_sheets:
    if sheet.name == 'QC Active Issues':
        active_sheet = sheet

active_sheet = get_object(active_sheet.id, 's')

issue_sheet = get_object(Referenced sheet ID, 's')

for col in issue_sheet.columns:
    if col.title == 'Work Order ID':
        WO_col = col
    if col.title == 'Unstartable':
        last_col = col

xref = smartsheet.models.CrossSheetReference({
    'name': 'Sample Time Log Sheet Range 1',
    'source_sheet_id': Referenced sheet ID,
    'start_row_id': ROW ID,
    'end_row_id': ROW ID
    'start_column_id': start_col.id,
    'end_column_id': last_col.id
})

result = smart_sheet_client.Sheets.create_cross_sheet_reference(active_sheet.id, xref)

print(result)

result = smart_sheet_client.Sheets.list_cross_sheet_references(active_sheet.id)

1 Ответ

1 голос
/ 03 июля 2019

Удивительно, что вы создаете эту автоматизацию для своей работы! У нас пока нет возможности редактировать перекрестные ссылки через API Smartsheet. В настоящее время их можно создать и получить текущие перекрестные ссылки только для данного листа.
Чтобы обойти это, вы можете создать новую перекрестную ссылку на листе в той же ячейке. Неиспользуемые перекрестные ссылки на листе автоматически удаляются с листа через два часа. Или вы можете обновить ячейки на листе, на который ссылаются, новыми данными.
Я могу передать ваш вариант использования и то, как вы собираетесь редактировать существующие ссылки.

...