Синтаксис:
Procedure ImportReportFromBusinessStudio (
const FileName : WideString;
const ObjectID: WideString;
const TemplateID: WideString;
const DocumentName: WideString;
const SendToAgreement: WordBool;
const CreateNewVersion: WordBool);
Параметры:
• | FileName – имя файла, в который сохраняется отчет; |
• | ObjectID – ИД объекта системы Business Studio, по которому сформирован отчет; |
• | TemplateID – ИД шаблона отчета системы Business Studio; |
• | DocumentName – имя документа, который будет создан в системе DIRECTUM; |
• | SendToAgreement – признак отправки документа на согласование после создания. Возможные значения: True – документ будет отправлен на согласование, False – не будет отправлен. Значение по умолчанию False; |
• | CreateNewVersion – признак создания новой версии документа, если в системе DIRECTUM уже существует документ, соответствующий отчету системы Business Studio. Возможные значения: True – будет создана новая версия документа, False – новая версия не будет создана. |
Описание:
Функция выполняет поиск записи в системном справочнике Связи по значениям параметров ObjectID и TemplateID. Реквизит ExternalID записи справочника должен быть равен значению в формате «<ObjectID>_<TemplateID>».
Поиск по записям справочника Связи может иметь результаты:
• | если запись найдена, то на основании реквизита DestID формируется ИД документа. Если значение параметра CreateNewVersion равно True, содержимое файла, указанного в параметре FileName, импортируется в новую версию данного документа, если False – не импортируется; |
• | если запись не найдена, новый документ создается импортом из файла, указанного в параметре FileName. Новый документ будет иметь реквизиты: |
• | наименование документа равно значению параметра DocumentName. Если параметр DocumentName не указан, наименование совпадает с наименованием файла, указанного в параметре FileName; |
• | тип карточки документа равен значению константы BSReportEDocCardType; |
• | вид документа равен значению константы BSReportEDocKind; |
• | код приложения-редактора равен значению константы BSReportEditorCode. |
• | если одна из этих констант не заполнена, открывается диалоговое окно импорта документа из файла, в котором нужно заполнить необходимые параметры. Создается связь созданного документа с объектом системы Business Studio. Добавляется запись в справочнике Связи, у которой реквизиты заполняются в формате: |
• | DestID – ИД созданного документа; |
• | ExternalID – «<ObjectID>_<TemplateID>». |
Затем функция выполняет поиск типового маршрута, у которого в свойстве задачи Ссылка указано значение, равное значению параметра ObjectID.
Поиск по типовым маршрутам может иметь результаты:
• | если типовой маршрут найден, в его свойстве задачи Инструкция указывается ИД созданного документа; |
• | если значение параметра SendToAgreement равно True, создается задача по типовому маршруту. Код типового маршрута соответствует значению константы BSReportAgreementStandardRouteCode. В задачу вкладывается ссылка на документ, который был создан или найден в справочнике Связи. Откроется карточка задачи. Если значение параметра SendToAgreement равно False, появится сообщение с результатом импорта. |
Пример:
' Импортировать отчет по оргструктуре предприятия из системы Business Studio в
' систему DIRECTUM.
IntLib.ImportReportFromBusinessStudio("С:\User\Org.xl", "c8f01bf6-e808-4521-9b72-c011a781f773", "89c511dd-8044-4fa1-abe7-9c69e3058352");