Добавление записи в таблицу
URL: components/Services/APIService.asmx
Метод: InsertDirectoryRecord
Добавляет запись таблицы с переданными полями.
Начиная с версии 3.01 также возможно добавить и системную дату в запись таблицы <Date>dateTime</Date>.
Передаваемые параметры
| Параметр | Описание |
|---|---|
ASPNETSessionId | Идентификатор сессии |
directoryTemplateId* | Идентификатор таблицы |
projectId* | Идентификатор проекта |
lstParams | Массив передаваемых параметров таблицы |
FieldWrapper | Массив значений реквизитов |
FieldName | Название реквизита (можно пропустить) |
FieldId | Идентификатор реквизита |
FieldVal** | Значение реквизита Дата вставляется в формате yyyy-MM-dd HH:mm:ssZ |
FieldType***** | Тип реквизита |
DocumentFieldWrapper | Массив значений реквизитов с типом «документ» |
FieldId | Идентификатор реквизита |
DocumentName | Название документа |
DocumentBody | Документ в формате Base64 |
DocumentContentType | Тип загружаемого документа |
Date*** | Системная дата (с версии 3.01) формат даты: 2011-06-06 01:00:00Z |
ProjectId**** | Идентификатор объекта, дата начала или окончания которого будут датой записи таблицы |
DateType | Используемая в таблице дата (начала или окончания) объекта (ProjectId). Доступные значения: StartDate, EndDate |
Delay | Количество дней задержки (временной лаг) к дате объекта (DateType). Указывается в календарных днях |
* - параметры, обязательные для заполнения.
** - при изменении реквизита-классификатора, основанного на объекте, можно использовать как идентификатор записи классификатора, так и идентификатор объекта (проект, пользователь, документ, дискуссия). Например, в случае, если названия объектов дублируются, а нужно выбрать конкретный объект
*** - если параметр заполнен, то игнорируются значения параметров: ProjectId, DateType, Delay.
**** - параметр игнорируется, если в настройках таблицы, в опции «Использовать дату» не указано значение «Да, использовать расчетные даты проекта».
***** - список поддерживаемых типов реквизитов:
| Тип реквизита | Примечание |
|---|---|
| 1. String | Реквизит типа Строка |
| 2. Numeric | Реквизит типа Число |
| 3. Directory | Папка |
| 4. Date | Реквизит типа Дата |
| 5. Boolean | Логический реквизит |
| 6. Address | Ссылка |
| 7. Document | Идентификатор последней версии документа |
| 8. Html | Html-реквизит |
| 9. Formula | Реквизит с формулой |
| 10. Counter | Реквизит типа Счётчик |
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:Header/> <soapenv:Body> <tem:InsertDirectoryRecord> <tem:ASPNETSessionId>string</tem:ASPNETSessionId> <tem:directoryTemplateId>string</tem:directoryTemplateId> <tem:projectId>string</tem:projectId> <tem:lstParams> <tem:FieldWrapper> <tem:FieldName>string</tem:FieldName> <tem:FieldId>string</tem:FieldId> <tem:FieldVal>string</tem:FieldVal> <tem:FieldType>string</tem:FieldType> </tem:FieldWrapper> </tem:lstParams> <tem:record> <tem:RecordId>string</tem:RecordId> <tem:RecordName>string</tem:RecordName> <tem:RecordParentId>string</tem:RecordParentId> <tem:Fields> <tem:FieldWrapper> <tem:FieldName>string</tem:FieldName> <tem:FieldId>string</tem:FieldId> <tem:FieldVal>string</tem:FieldVal> <tem:FieldType>string</tem:FieldType> </tem:FieldWrapper> </tem:Fields> <tem:Date>dateTime</tem:Date> <tem:RecordProjectRelation> <tem:ProjectId>guid</tem:ProjectId> <tem:DateType>string</tem:DateType> <tem:Delay>int</tem:Delay> </tem:RecordProjectRelation> </tem:record> </tem:InsertDirectoryRecord> </soapenv:Body> </soapenv:Envelope>
Пример запроса при передаче файла
Когда необходимо в реквизит таблицы загрузить документ (файл), то надо явно указывать тип DocumentFieldWrapper у соответствующей «обертки» поля с передаваемым в формате Base64 документом - <FieldWrapper xsi:type=«DocumentFieldWrapper»>.
Пример содержимого запроса для сохранения файла в реквизит таблицы:
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:Header/> <soapenv:Body> <tem:InsertDirectoryRecord> <tem:ASPNETSessionId>string</tem:ASPNETSessionId> <tem:directoryTemplateId>string</tem:directoryTemplateId> <tem:projectId>string</tem:projectId> <tem:lstParams> <tem:FieldWrapper> <tem:FieldId>string</tem:FieldId> <tem:FieldVal>string</tem:FieldVal> </tem:FieldWrapper> <tem:FieldWrapper> <tem:FieldId>string</tem:FieldId> <tem:FieldVal>dateTime</tem:FieldVal> </tem:FieldWrapper> <tem:FieldWrapper> <tem:FieldWrapper xsi:type="DocumentFieldWrapper"> <tem:FieldId>string</tem:FieldId> <tem:FieldType>Document</tem:FieldType> <tem:DocumentName>Document</tem:DocumentName> <tem:DocumentBody>string (Base64)</tem:DocumentBody> <tem:DocumentContentType>string (MIME-type)</tem:DocumentContentType> </tem:FieldWrapper> </tem:lstParams> </tem:InsertDirectoryRecord> </soapenv:Body> </soapenv:Envelope>
Возвращаемый параметр
| Параметр | Описание |
|---|---|
InsertDirectoryRecordResult | Идентификатор созданной записи |
<?xml version="1.0" encoding="utf-8"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <InsertDirectoryRecordResponse xmlns="http://tempuri.org/"> <InsertDirectoryRecordResult>string</InsertDirectoryRecordResult> </InsertDirectoryRecordResponse> </s:Body> </s:Envelope>