protected override async Task OnParametersSetAsync() { var query = new Uri(uriHelper.Uri).Query; var qd = QueryHelpers.ParseQuery(query); if (qd.TryGetValue("id", out var value)) { string docName = value.ToString(); var docMetadata = await service1C77.GetMetadata(); documentMetadata = docMetadata.Документы[docName]; string queryString = $"api/v1c77/documents?documentName={documentMetadata.Идентификатор}"; var responce = await Http.GetAsync(queryString); if (responce.IsSuccessStatusCode) { items = await responce.Content.ReadFromJsonAsync <object[]>(); } else { error = true; } } else { error = true; } }
static DocummentMetadata1C77 GetDocumentMetadata(ICOMObject1C77 com) { var result = new DocummentMetadata1C77(); result.Идентификатор = com.GetProperty <string>("Идентификатор"); result.Комментарий = com.GetProperty <string>("Комментарий"); result.Синоним = com.GetProperty <string>("Синоним"); result.АвтоНумерация = com.GetProperty <double>("АвтоНумерация") == 2; result.АвтоНумерацияСтрок = com.GetProperty <double>("АвтоНумерацияСтрок") == 1; result.АвтоРегистрация = com.GetProperty <double>("АвтоРегистрация") == 1; result.АвтоудалениеДвижений = com.GetProperty <double>("АвтоудалениеДвижений") == 1; result.БухгалтерскийУчет = com.GetProperty <double>("БухгалтерскийУчет") == 1; //var ownerDocumemt = com.GetProperty<ICOMObject1C77>("ВводимыеНаОснованииДокументы"); //var sb = new List<string>(); //int count = (int)ownerDocumemt.Method<double>("Реквизит"); //for (int i = 0;i < count; i++) //{ // sb.Add(com.Method<ICOMObject1C77>("Реквизит", i + 1).Method<string>("Представление")); //} //result.ВводимыеНаОснованииДокументы = sb.ToArray(); result.ДлинаНомера = com.GetProperty <double>("ДлинаНомера"); result.ДополнительныеКодыИБ = com.GetProperty <string>("ДополнительныеКодыИБ"); //result.Журнал = com.GetProperty<string>("Журнал"); result.КонтрольУникальности = com.GetProperty <double>("КонтрольУникальности") == 1; //result.Нумератор = com.GetProperty<string>("Нумератор"); result.ОбластьРаспространения = com.GetProperty <string>("ОбластьРаспространения"); result.ОперативныйУчет = com.GetProperty <double>("ОперативныйУчет") == 1; result.ОснованиеДляЛюбогоДокумента = com.GetProperty <double>("ОснованиеДляЛюбогоДокумента") == 1; result.ПериодичностьНомера = com.GetProperty <string>("ПериодичностьНомера"); result.азрешитьПроведение = com.GetProperty <double>("РазрешитьПроведение") == 1; result.асчет = com.GetProperty <double>("Расчет") == 1; result.едактированиеОпераций = com.GetProperty <double>("РедактированиеОпераций") == 1; result.СоздаватьОперацию = com.GetProperty <string>("СоздаватьОперацию"); result.ТипНомера = com.GetProperty <string>("ТипНомера"); result.еквизитШапки = new Dictionary <string, AttributeMetadata1C77>(); int count = (int)com.Method <double>("РеквизитШапки"); for (int i = 0; i < count; i++) { var rCOM = com.Method <ICOMObject1C77>("РеквизитШапки", i + 1); var metadata = new AttributeMetadata1C77(); metadata.Идентификатор = com.GetProperty <string>("Идентификатор"); metadata.Комментарий = com.GetProperty <string>("Комментарий"); metadata.Синоним = com.GetProperty <string>("Синоним"); SetAttributeMetadata(rCOM, metadata); result.еквизитШапки.Add(metadata.Идентификатор.ToLower(), metadata); } result.еквизитТабличнойЧасти = new Dictionary <string, DocumentTableAttributeMetadata1C77>(); count = (int)com.Method <double>("РеквизитТабличнойЧасти"); for (int i = 0; i < count; i++) { var metadata = GetDocumentTableAttributeMetadata(com.Method <ICOMObject1C77>("РеквизитТабличнойЧасти", i + 1)); result.еквизитТабличнойЧасти.Add(metadata.Идентификатор.ToLower(), metadata); } return(result); }