GetDocumentsV4Request

Запрос на получение документов методом GetDocuments (V4).

message GetDocumentsV4Request {
    repeated string CounteragentBoxIds = 1;
    repeated string FromDepartmentIds = 2;
    repeated string ToDepartmentIds = 3;
    repeated DepartmentFilter Departments = 4;
    repeated string DocumentTypeNamedIds = 5;
    required string DocumentCategory = 6;
    repeated string DocumentStatuses = 7;
    repeated string FileNames = 8;
    repeated string DocumentNumbers = 9;
    optional string FromDocumentDate = 10;
    optional string ToDocumentDate = 11;
    optional Timestamp FromTimestamp = 12;
    optional Timestamp ToTimestamp = 13;
    repeated string TotalSums = 14;
    optional string ToTotalSum = 15;
    optional string FromTotalSum = 16;
    repeated CustomDataItem CustomData = 17;
    optional SortDirection SortDirection = 18 [default = Ascending];
    optional int32 Count = 19 [default = 100];
    optional string AfterIndexKey = 20;
}

message DepartmentFilter {
    required string DepartmentId = 1;
    optional bool ExcludeSubdepartments = 2 [default = false];
}
  • CounteragentBoxIds — список идентификаторов ящиков контрагента. Ограничивает результат поиска теми документами, у которых идентификатор ящика контрагента совпадает со значениями из списка.

  • FromDepartmentIds — список идентификаторов подразделений отправителя. Используется только для внутренних документов.

  • ToDepartmentIds — список идентификаторов подразделений получателя. Используется только для внутренних документов.

  • Departments — список данных подразделений, в которых производится поиск документов. Если не указан, поиск производится в головном подразделении. Каждый элемент списка представлен структурой DepartmentFilter с полями:

    • DepartmentId — идентификатор подразделения, в котором производится поиск документов.

    • ExcludeSubdepartments — признак того, что из поиска нужно исключить дочерние подразделения организации.

  • DocumentTypeNamedIds — список строковых идентификаторов типа документа. Доступные типы можно получить с помощью метода GetDocumentTypes (V3).

  • DocumentCategory — категория, по которой нужно отфильтровать список документов. Принимает значения:

    • Incoming — только входящие.

    • Outgoing — только исходящие.

    • Internal — только внутренние.

    • Proxy — только документы, переданные через промежуточного получателя.

    • Deleted — только документы, помеченные удаленными.

  • DocumentStatuses — список статусов документа. Если не указан, вернутся все документы указанной категории. Каждый элемент списка принимает значения:

    • NotRead — документ не прочитан.

    • NoRecipientSignatureRequest — документ без запроса ответной подписи.

    • WaitingForRecipientSignature — документ в ожидании ответной подписи.

    • WithRecipientSignature — документ с ответной подписью.

    • WithRecipientPartiallySignature — документ с ответной подписью с разногласиями.

    • WithSenderSignature — документ с подписью отправителя.

    • RecipientSignatureRequestRejected — документ с отказом от формирования ответной подписи.

    • WaitingForSenderSignature — документ, требующий подписания и отправки.

    • InvalidSenderSignature — документ с невалидной подписью отправителя, требующий повторного подписания и отправки.

    • InvalidRecipientSignature — документ с невалидной подписью получателя, требующий повторного подписания и отправки.

    • Approved — согласованный документ.

    • Disapproved — документ с отказом согласования.

    • WaitingForResolution — документ, находящийся на согласовании или подписи.

    • SignatureRequestRejected — документ с отказом в запросе подписи сотруднику.

    • Finished — документ с завершенным документооборотом.

    • HaveToCreateReceipt — нужно подписать извещение о получении.

    • NotFinished — документ с незавершенным документооборотом.

    • InvoiceAmendmentRequested — документ, по которому было запрошено уточнение.

    • RevocationIsRequestedByMe — документ, по которому было запрошено аннулирование.

    • RequestsMyRevocation — документ, по которому контрагент запросил аннулирование.

    • RevocationAccepted — аннулированный документ.

    • RevocationRejected — документ, запрос на аннулирование которого был отклонен.

    • RevocationApproved — документ, запрос на аннулирование которого был согласован.

    • RevocationDisapproved — документ с отказом согласования запроса на аннулирование.

    • WaitingForRevocationApprovement — документ, находящийся на согласовании запроса аннулирования.

    • NotRevoked — неаннулированный документ.

    • WaitingForProxySignature — документ в ожидании подписи промежуточного получателя.

    • WithProxySignature — документ с подписью промежуточного получателя.

    • InvalidProxySignature — документ с невалидной подписью промежуточного получателя, требующий повторного подписания и отправки.

    • ProxySignatureRejected — документ с отказом от формирования подписи промежуточным получателем.

    • WaitingForInvoiceReceipt — документ в ожидании получения извещения о получении счета-фактуры.

    • WaitingForReceipt — документ в ожидании получения извещения о получении.

    • RequestsMySignature — документ, по которому контрагент запросил подпись.

    • RoamingNotificationError — документ с ошибкой доставки в роуминге.

    • HaveToCancelTtGisFixation — документ, для которого требуется отмена сведений об отгрузке маркированных товаров.

  • FileNames — список имен файлов. Поиск по этому параметру полнотекстовый: в результаты поиска будут включены документы с полным или частичным совпадением имени файла и указанного фрагмента.

  • DocumentNumbers — список номеров первичных документов. Нельзя указывать одновременно со значениями FromTimestamp или ToTimestamp.

  • FromDocumentDate — дата документа в формате «ДД.ММ.ГГГГ», задающая начальную точку интервала времени, в котором должен находится реквизит «Дата документа». Если указан, то в ответ метода попадут только те документы, у которых заполнен реквизит «Дата документа».

  • ToDocumentDate — дата документа в формате «ДД.ММ.ГГГГ», задающая конечную точку интервала времени, в котором должен находится реквизит «Дата документа». Если указан, то в ответ метода попадут только те документы, у которых заполнен реквизит «Дата документа».

  • FromTimestamp — начальная метка времени интервала, в котором должна находиться метка времени документа. Представлена структурой Timestamp.

  • ToTimestamp — конечная метка времени интервала, в котором должна находиться метка времени документа. Представлена структурой Timestamp.

  • TotalSums — список итоговых сумм в первичных документах.

  • ToTotalSum — максимальное значение итоговой суммы в документе.

  • FromTotalSum — минимальное значение итоговой суммы в документе.

  • CustomData — список пользовательских данных (тегов), привязанных к документу. Каждый элемент списка представлен структурой CustomDataItem.

  • SortDirection — порядок сортировки документов в ответе, принимает значение из перечисления SortDirection.

  • Count — максимальное количество элементов, возвращаемых на одной странице в ответе. Не влияет на общее количество найденных документов DocumentList.TotalCount. Принимает значения от 0 до 100, по умолчанию равен 100.

  • AfterIndexKey — ключ для постраничного получения списка найденных документов, указывающий на начало очередной страницы.

Важно

Нельзя одновременно указывать параметры FromTimestamp/ToTimestamp и FromDocumentDate/ToDocumentDate: отфильтровать документы можно либо по дате документа, либо по метке времени.

Ключи Document.IndexKey, полученные при фильтрации по дате документа (с помощью параметров FromDocumentDate и ToDocumentDate) и при фильтрации по метке времени (с помощью параметров FromTimestamp и ToTimestamp), для одного и того же документа могут различаться.

Дата документа

Параметры FromDocumentDate и ToDocumentDate задают интервал, в котором должен находиться реквизит «Дата документа». Они представляют собой только даты, а не полноценные метки времени.

Фильтрация документов производится по дате формирования документа в учетной системе (реквизиту самого документа), а не по метке времени, связанной с загрузкой документа в ящик Диадока.

Если один или оба параметра заданы, то в ответ метода попадут только те документы, у которых заполнен реквизит «Дата документа». При этом дата документа (поле Document.DocumentDate), попавшего в результат, будет лежать в интервале [FromDocumentDate, ToDocumentDate], включая границы. Если какой-то параметр отсутствует в запросе, то его значение неявно принимается равным +/- бесконечности.

Метки времени документа

Параметры FromTimestamp и ToTimestamp задают интервал, в котором должна находиться метка времени документа.

В зависимости от типа документа для фильтрации используются следующие метки времени документа:

Если указаны один или оба этих параметра, то метка времени документа, попавшего в результат, будет лежать в интервале [timestampFromTicks, timestampToTicks], включая границы. Если какой-то параметр отсутствует в запросе, то его значение неявно принимается равным -/+ бесконечности соответственно.

Не используйте фильтрацию по метке времени для исходящих неотправленных документов: их можно отфильтровать по статусу.


См. также

Структура используется: