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 задают интервал, в котором должна находиться метка времени документа.
В зависимости от типа документа для фильтрации используются следующие метки времени документа:
исходящие отправленные документы — Document.SendTimestampTicks;
входящие документы — Document.DeliveryTimestampTicks.
Если указаны один или оба этих параметра, то метка времени документа, попавшего в результат, будет лежать в интервале [timestampFromTicks, timestampToTicks], включая границы. Если какой-то параметр отсутствует в запросе, то его значение неявно принимается равным -/+ бесконечности соответственно.
Не используйте фильтрацию по метке времени для исходящих неотправленных документов: их можно отфильтровать по статусу.
См. также
- Структура используется:
в теле запроса метода GetDocuments (V4)