< Summary

Information
Class: Services.ApiServices._1CApi.Models.OneCDocumentLine
Assembly: Services
File(s): /home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ApiServices/1CApi/Models/OneCResponse.cs
Line coverage
100%
Covered lines: 2
Uncovered lines: 0
Coverable lines: 2
Total lines: 77
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Article()100%11100%
get_Quantity()100%11100%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/AppRepository/ApiServices/1CApi/Models/OneCResponse.cs

#LineLine coverage
 1using Newtonsoft.Json;
 2
 3namespace Services.ApiServices._1CApi.Models;
 4
 5public class OneCResponse
 6{
 7    [JsonProperty("success")]
 8    public bool Success { get; set; }
 9
 10    [JsonProperty("message")]
 11    public string? Message { get; set; }
 12
 13    [JsonProperty("transactionId")]
 14    public string? TransactionId { get; set; }
 15
 16    /// <summary>Читаемый номер документа в 1С, например "ПЗ-000057" или "УТ-001234".</summary>
 17    [JsonProperty("documentNumber")]
 18    public string? DocumentNumber { get; set; }
 19
 20    /// <summary>Документ успешно проведён в 1С.</summary>
 21    [JsonProperty("isPosted")]
 22    public bool IsPosted { get; set; }
 23
 24    /// <summary>Документ намеренно создан черновиком без попытки проведения.</summary>
 25    [JsonProperty("isDraft")]
 26    public bool IsDraft { get; set; }
 27
 28    /// <summary>
 29    /// Товары, не найденные в номенклатуре 1С. Документ создан как черновик без этих позиций.
 30    /// Формат: "Артикул1 (Наименование1), Артикул2 (Наименование2)"
 31    /// </summary>
 32    [JsonProperty("missingNomenclature")]
 33    public string? MissingNomenclature { get; set; }
 34
 35    /// <summary>Номенклатура, автоматически созданная в 1С перед формированием документа.</summary>
 36    [JsonProperty("createdNomenclature")]
 37    public string? CreatedNomenclature { get; set; }
 38
 39    /// <summary>
 40    /// Ошибка при попытке провести (PATCH Posted=true). Документ создан, но не проведён из-за ошибки API 1С.
 41    /// </summary>
 42    [JsonProperty("postingError")]
 43    public string? PostingError { get; set; }
 44
 45    /// <summary>
 46    /// Полный ответ 1С при сбое: статус, код и причина без усечения (см. <c>OneCResponseErrors.Describe</c>).
 47    /// В отличие от <see cref="PostingError"/>, сюда не подставляются догадки о причине (например, нулевой
 48    /// остаток новой номенклатуры). Попадает в <c>DetailsJson</c> журнала проведений без изменения схемы БД.
 49    /// </summary>
 50    [JsonProperty("errorDetail", NullValueHandling = NullValueHandling.Ignore)]
 51    public string? ErrorDetail { get; set; }
 52
 53    /// <summary>
 54    /// Пометки о номенклатуре, которые стоит увидеть человеку: «найдено по варианту артикула 250603006».
 55    /// Пусто — поле не сериализуется. На количество и статусы документа не влияет.
 56    /// </summary>
 57    [JsonProperty("nomenclatureNotes", NullValueHandling = NullValueHandling.Ignore)]
 58    public List<string>? NomenclatureNotes { get; set; }
 59
 60    /// <summary>
 61    /// Строки, реально записанные в документ 1С. Количество в них может отличаться от количества
 62    /// в заказе (например, при утере реализатором в транзит уходит весь остаток склада),
 63    /// поэтому сводки показывают именно эти значения, а не Quantity заказа.
 64    /// </summary>
 65    [JsonProperty("documentLines")]
 66    public List<OneCDocumentLine>? DocumentLines { get; set; }
 67}
 68
 69/// <summary>Позиция документа 1С в том виде, в котором она ушла в 1С.</summary>
 70public class OneCDocumentLine
 71{
 72    [JsonProperty("article")]
 873    public string Article { get; set; } = string.Empty;
 74
 75    [JsonProperty("quantity")]
 576    public decimal Quantity { get; set; }
 77}

Methods/Properties

get_Article()
get_Quantity()