Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Сервер лицензирования
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Обмен данными между файлами

Всегда существует вероятность того, что вам понадобится обмениваться данными между документами. Например, вам может понадобиться открыть какой-либо документ, скопировать из него стиль или некоторые значения данных, закрыть документ, создать новый и вставить в него скопированные данные или использовать их для формирования отчета.

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

Для обмена данными между файлами вводится GlobalVariable.

Что вам нужно, так это создать переменную в первом открытом или созданном файле, используя метод GlobalVariable, например:

GlobalVariable["CommentsReport"] = oDocument.GetCommentsReport();

Затем закройте документ и откройте или создайте новый, где эта переменная может быть использована без проблем, например:

var oCommentsReport = GlobalVariable["CommentsReport"];

В примере ниже показано, как используется GlobalVariable. Для получения дополнительной информации посетите разделы ApiDocument.GetCommentsReport ↗ и ApiDocument.GetReviewReport ↗.

Пример

builder.OpenFile("https://example.com/DocumentWithComments.docx");
var oDocument = Api.GetDocument();
GlobalVariable["CommentsReport"] = oDocument.GetCommentsReport();
builder.CloseFile();

builder.CreateFile("docx");
var oCommentsReport = GlobalVariable["CommentsReport"];
... // now you can use the 'CommentsReport' variable from the previous document in the current document;
builder.SaveFile("docx", "GetCommentsReport.docx");
builder.CloseFile();

Не нашли ответ на свой вопрос?

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