Skip to content

Commit

Permalink
Исправлена загрузка записей регистра накопления из json (#639) (#640)
Browse files Browse the repository at this point in the history
  • Loading branch information
mralexjoin authored and artbear committed Jan 9, 2020
1 parent 4c7485e commit 1235b58
Show file tree
Hide file tree
Showing 5 changed files with 151 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,9 @@
БазовоеЗначение = Неопределено;
Если ОписаниеОбъекта.Свойство(КлючОбъекта.Ключ, БазовоеЗначение) Тогда
Если ТипЗнч(БазовоеЗначение) = Тип("Структура") Тогда
ЗаполнитьЗначенияСвойств(БазовоеЗначение, Значение);
Для каждого КлючЗначение Из Значение Цикл
БазовоеЗначение.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение);
КонецЦикла;
Значение = БазовоеЗначение;
КонецЕсли;
КонецЕсли;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
<Template>ПерезаполнениеПВХ</Template>
<Template>СозданиеПростогоСправочникаJSON</Template>
<Template>СозданиеСправочника3_с_РеквизитомСоставногоТипаТочкиМаршрута</Template>
<Template>СозданиеОднойЗаписиВРегистреНакопленияИзJson</Template>
</ChildObjects>
</ExternalDataProcessor>
</MetaDataObject>
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@

ВсеТесты.Добавить("ТестДолжен_СоздатьСправочник3_с_РеквизитомСоставногоТипаТочкиМаршрута");
ВсеТесты.Добавить("ТестДолжен_ПроверитьСозданиеМакетаСправочника3_с_РеквизитамиСоставногоТипаТочкиМаршрута");

ВсеТесты.Добавить("ТестДолжен_СоздатьОднуЗаписьРегистраНакопленияИзJson");

Возврат ВсеТесты;
КонецФункции
Expand Down Expand Up @@ -1450,3 +1452,30 @@
Утверждения.ПроверитьРавенство(МакетДанных.Область(НомерСтроки,8,НомерСтроки,8).Текст, "ТочкаМаршрутаБизнесПроцессаСсылка.БизнесПроцесс2");

КонецПроцедуры

Процедура ТестДолжен_СоздатьОднуЗаписьРегистраНакопленияИзJson() Экспорт

количествоДо = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопленияОстатки");

Макет = ПолучитьМакет("СозданиеОднойЗаписиВРегистреНакопленияИзJson");
ТестовыеДанные = СериализаторMXL.СоздатьДанныеПоТабличномуДокументу(Макет);

Утверждения.ПроверитьТип(ТестовыеДанные, "Структура");
Утверждения.ПроверитьРавенство(2, ТестовыеДанные.Количество());
Утверждения.ПроверитьТип(ТестовыеДанные.РегистрНакопленияОстатки, "РегистрНакопленияНаборЗаписей.РегистрНакопленияОстатки");

количествоПосле = СериализаторMXL.ПолучитьКоличествоЭлементовРегистраПоОтбору("РегистрНакопления", "РегистрНакопленияОстатки");
Утверждения.ПроверитьРавенство(количествоДо + 1, количествоПосле, "количество записей РН -> количествоДо + 1, количествоПосле");

наборЗаписей = РегистрыНакопления.РегистрНакопленияОстатки.СоздатьНаборЗаписей();
наборЗаписей.Отбор.Регистратор.Установить(ТестовыеДанные.Документ);
наборЗаписей.Прочитать();
Утверждения.ПроверитьРавенство(1, наборЗаписей.Количество(), "количество записей РН -> 1, наборЗаписей.Количество()");
запись = наборЗаписей[0];
Утверждения.ПроверитьРавенство(ВидДвиженияНакопления.Приход, запись.ВидДвижения, "ВидДвиженияНакопления.Приход, запись.ВидДвижения");
Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТестовыеДанные.Документ.Дата, запись.Период, "ТестовыеДанные.Документ.Дата, запись.Период");
Утверждения.ПроверитьРавенство("Тест", запись.Измерение1);
Утверждения.ПроверитьРавенство(200, запись.РесурсЧисло1);

КонецПроцедуры

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4">
<Template uuid="fa7247d2-5448-4435-8241-9bef903442df">
<Properties>
<Name>СозданиеОднойЗаписиВРегистреНакопленияИзJson</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Создание одной записи в регистре накопления из json</v8:content>
</v8:item>
</Synonym>
<Comment/>
<TemplateType>TextDocument</TemplateType>
</Properties>
</Template>
</MetaDataObject>
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
{
"Документ": {
"Тип": "Документ",
"Вид": "ДокументСДвижениями",
"ИмяПредопределенного": "",
"ИмяПеременной": "Документ",
"Режимы": {
"ОбменДанными": true
},
"ПоляОбъекта": [
{
"Имя": "Проведен",
"Значение": "Истина",
"Режим": "",
"ДополнительныйТип": ""
},
{
"Имя": "Ссылка",
"Значение": "6bb5a39d-2880-11ea-b254-001a7dda7113",
"Режим": "",
"ДополнительныйТип": ""
},
{
"Имя": "Дата",
"Значение": "20191227111120",
"Режим": "",
"ДополнительныйТип": ""
} ],
"ТабличныеЧасти": {
"ТЧ": [
[
{
"Имя": "Реквизит1",
"Значение": "Тест",
"Режим": "",
"ДополнительныйТип": ""
},
{
"Имя": "РесурсЧисло",
"Значение": "150",
"Режим": "",
"ДополнительныйТип": ""
},
{
"Имя": "РесурсЧисло1",
"Значение": "200",
"Режим": "",
"ДополнительныйТип": ""
}
]
]
}
},
"РегистрНакопленияОстатки": {
"Тип": "РегистрНакопления",
"Вид": "РегистрНакопленияОстатки",
"ИмяПредопределенного": "",
"ИмяПеременной": "РегистрНакопленияОстатки",
"ТабличныеЧасти": {
"Запись": [
[
{
"Имя": "ВидДвижения",
"Значение": "Приход",
"Режим": "Предопределенный",
"ДополнительныйТип": ""
},
{
"Имя": "Активность",
"Значение": "Истина",
"Режим": "",
"ДополнительныйТип": ""
},
{
"Имя": "Регистратор",
"Значение": "Документ",
"Режим": "Перем",
"ДополнительныйТип": ""
},
{
"Имя": "Период",
"Значение": "20191227111120",
"Режим": "",
"ДополнительныйТип": ""
},
{
"Имя": "Измерение1",
"Значение": "Тест",
"Режим": "",
"ДополнительныйТип": ""
},
{
"Имя": "РесурсЧисло1",
"Значение": "200",
"Режим": "",
"ДополнительныйТип": ""
}
]
]
}
}
}

0 comments on commit 1235b58

Please sign in to comment.