diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl"
index 49dadc0c7..1620c414d 100644
--- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl"
+++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl"
@@ -211,31 +211,23 @@
// Контекст - см. НовыйКонтекстКонструктораДвижений
Процедура ЗаписатьДвиженияДокумента(Контекст) Экспорт
- Документ = Контекст.Документ;
-
- ЭтоСсылка = ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗнч(Документ));
-
- Если ЭтоСсылка Тогда
- НаборЗаписей = ЮТОбщий.Менеджер(Контекст.Метаданные).СоздатьНаборЗаписей();
- НаборЗаписей.Отбор.Регистратор.Установить(Документ);
+ Если ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗнч(Контекст.Документ)) Тогда
+ СсылкаНаДокумент = Контекст.Документ;
+ ИначеЕсли ЗначениеЗаполнено(Контекст.Документ.Ссылка) Тогда
+ СсылкаНаДокумент = Контекст.Документ.Ссылка;
Иначе
- НаборЗаписей = Документ.Движения[Контекст.Метаданные.Имя];
+ ВызватьИсключение "Документ не записан";
КонецЕсли;
- Для Каждого Строка Из Контекст.Данные Цикл
-
- Запись = НаборЗаписей.Добавить();
- ЗаполнитьЗначенияСвойств(Запись, Строка);
- Если НЕ ЗначениеЗаполнено(Запись.Период) Тогда
- Запись.Период = Документ.Дата;
- КонецЕсли;
-
- КонецЦикла;
-
- Если ЭтоСсылка Тогда
- НаборЗаписей.Записать();
+ Если НЕ ЗначениеЗаполнено(СсылкаНаДокумент) Тогда
+ ВызватьИсключение "Не установлена ссылка на документ, владелец движений";
КонецЕсли;
+ ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи();
+ ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
+
+ ЮТТестовыеДанныеСлужебный.ЗаписатьДвиженияРегистратора(СсылкаНаДокумент, Контекст.Данные, Контекст.Метаданные, ПараметрыЗаписи);
+
КонецПроцедуры
#КонецОбласти
diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl"
index 3628e0674..b3f6453b3 100644
--- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl"
+++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl"
@@ -174,6 +174,16 @@
КонецФункции
+Процедура ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи) Экспорт
+
+#Если Сервер Тогда
+ ЮТТестовыеДанныеСлужебныйСервер.ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи);
+#Иначе
+ ЮТТестовыеДанныеСлужебныйВызовСервера.ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи);
+#КонецЕсли
+
+КонецПроцедуры
+
// Создает новый объект и заполняет его данными
//
// Параметры:
diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl"
index 784a02a2c..d7b86dfc6 100644
--- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl"
+++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl"
@@ -24,6 +24,12 @@
КонецФункции
+Процедура ЗаписатьДвиженияРегистратора(Знач Регистратор, Знач Данные, Знач Менеджер, Знач ПараметрыЗаписи) Экспорт
+
+ ЮТТестовыеДанныеСлужебныйСервер.ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи);
+
+КонецПроцедуры
+
Функция НовыйОбъект(Знач Менеджер, Знач Данные, Знач ДополнительныеСвойства, Знач УникальныйИдентификаторСсылки) Экспорт
Возврат ЮТТестовыеДанныеСлужебныйСервер.НовыйОбъект(Менеджер, Данные, ДополнительныеСвойства, УникальныйИдентификаторСсылки);
diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl"
index 2011de772..cc1056730 100644
--- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl"
+++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl"
@@ -68,6 +68,28 @@
КонецФункции
+Процедура ЗаписатьДвиженияРегистратора(Регистратор, Данные, МетаданныеРегистра, ПараметрыЗаписи) Экспорт
+
+ Менеджер = ЮТОбщий.Менеджер(МетаданныеРегистра);
+ НаборЗаписей = Менеджер.СоздатьНаборЗаписей();
+
+ ДатаРегистратора = ЮТЗапросы.ЗначениеРеквизита(Регистратор, "Дата");
+ НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
+
+ Для Каждого Строка Из Данные Цикл
+
+ Запись = НаборЗаписей.Добавить();
+ ЗаполнитьЗначенияСвойств(Запись, Строка);
+ Если НЕ ЗначениеЗаполнено(Запись.Период) Тогда
+ Запись.Период = ДатаРегистратора;
+ КонецЕсли;
+
+ КонецЦикла;
+
+ НаборЗаписей.Записать();
+
+КонецПроцедуры
+
Функция НовыйОбъект(Знач Менеджер, Данные, ДополнительныеСвойства, УникальныйИдентификаторСсылки) Экспорт
ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(Менеджер);
diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form"
new file mode 100644
index 000000000..2a2b0006b
--- /dev/null
+++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form"
@@ -0,0 +1,42 @@
+
+
+ None
+
+ ФормаКоманднаяПанель
+ -1
+ true
+ true
+
+ true
+
+ Left
+ true
+
+ true
+ true
+ Vertical
+ true
+ false
+ true
+ true
+ true
+
+ Объект
+ 1
+
+ DataProcessorObject.ЮТКонструкторДвижений
+
+
+ true
+
+
+ true
+
+ true
+
+
+
+
+
+
+
diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl"
new file mode 100644
index 000000000..3e26d0d56
--- /dev/null
+++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl"
@@ -0,0 +1,215 @@
+//©///////////////////////////////////////////////////////////////////////////©//
+//
+// Copyright 2021-2024 BIA-Technologies Limited Liability Company
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//©///////////////////////////////////////////////////////////////////////////©//
+
+// BSLLS:NonStandardRegion-off
+#Область ОписаниеПеременных
+
+// см. ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктора
+&НаКлиенте
+Перем Контекст;
+
+#КонецОбласти
+
+//@skip-check module-structure-top-region
+#Область ПрограммныйИнтерфейс
+
+#Область УстановкаЗначение
+
+// Добавляет новую запись в набор движений.
+// При необходимости можно выполнить установку реквизитов новой записи.
+//
+// Параметры:
+// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов новой записи.
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
+&НаКлиенте
+Функция ДобавитьСтроку(ЗначенияРеквизитов = Неопределено) Экспорт
+
+ Контекст.Данные.Добавить(Новый Структура);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
+// Устанавливает значение реквизита текущей записи набора.
+//
+// Параметры:
+// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части
+// Значение - Произвольный - Значение реквизита объекта или табличной части
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
+&НаКлиенте
+Функция Установить(ИмяРеквизита, Значение) Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.Установить(Контекст, ИмяРеквизита, Значение);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
+// Устанавливает значения реквизитов текущей записи набора.
+//
+// Параметры:
+// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторДвижений - Установить реквизиты
+&НаКлиенте
+Функция УстановитьРеквизиты(ЗначенияРеквизитов) Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.УстановитьРеквизиты(Контекст, ЗначенияРеквизитов);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
+// Устанавливает фиктивное значение реквизита текущей записи набора.
+//
+// На основании менеджера и имени реквизита вычисляется его тип, а по типу генерируется фиктивное значение.
+//
+// * Для примитивных значение генерируется случайное значение
+// * Для ссылочных типов создается новый объект
+// * Для перечислений (в том числе системных) выбирается случайно значение перечисления
+//
+// Параметры:
+// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части
+// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
+// - Неопределено
+// ОграничениеТипа - Тип, ОписаниеТипов - Испольуется для ограничения типа составного реквизита, будет сгерерировано значение указанного типа
+// - Неопределено - Будет сгенерировано значение, на основании типа реквизита,
+// если реквизит составной, то будет использован случайный тип
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
+&НаКлиенте
+Функция Фикция(ИмяРеквизита, РеквизитыЗаполнения = Неопределено, ОграничениеТипа = Неопределено) Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения, ОграничениеТипа);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
+// Устанавливает фиктивные значения реквизитов текущей записи набора.
+//
+// На основании менеджера и имени реквизита вычисляется его тип, а по типу генерируется фиктивное значение.
+//
+// * Для примитивных значение генерируется случайное значение
+// * Для ссылочных типов создается новый объект
+// * Для перечислений (в том числе системных) выбирается случайно значение перечисления
+//
+// Параметры:
+// ИменаРеквизитов - Строка - Имена реквизитов объекта или табличной части разделенные запятыми
+// - Массив из Строка - Имена реквизитов объекта или табличной части
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
+&НаКлиенте
+Функция ФикцияРеквизитов(ИменаРеквизитов) Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.ФикцияРеквизитов(Контекст, ИменаРеквизитов);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
+// Заполняет обязательные поля записи набора фиктивными значениями
+//
+// На основании метаданных определяются обязательные поля (Проверка заполнения = Выдавать ошибку),
+// для них генерируются и устанавливаются фиктивные значение.
+//
+// * Для примитивных значение генерируется случайное значение
+// * Для ссылочных типов создается новый объект
+// * Для перечислений (в том числе системных) выбирается случайно значение перечисления
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
+&НаКлиенте
+Функция ФикцияОбязательныхПолей() Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.ФикцияОбязательныхПолей(Контекст);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
+// Устанавливает дополнительное свойство набора записей.
+//
+// Параметры:
+// ИмяСвойства - Строка - Имя дополнительного свойства
+// Значение - Произвольный - Значение дополнительного свойства
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
+&НаКлиенте
+Функция УстановитьДополнительноеСвойство(ИмяСвойства, Значение = Неопределено) Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
+#КонецОбласти
+
+#Область ПолучениеДанных
+
+// Возвращает данные текущей записи набора.
+//
+// Возвращаемое значение:
+// - Структура - Данные записи
+&НаКлиенте
+Функция ДанныеСтроки() Экспорт
+
+ Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтрокиКоллекции(Контекст);
+
+КонецФункции
+
+// Возвращает данные набора записей.
+//
+// Возвращаемое значение:
+// Массив из Структура - Данные набора записей.
+&НаКлиенте
+Функция Данные() Экспорт
+
+ Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеОбъекта(Контекст);
+
+КонецФункции
+
+#КонецОбласти
+
+// Записывает движения документа.
+//
+// Параметры:
+// ОбменДаннымиЗагрузка - Булево - Записать с признаком `ОбменДанными.Загрузка = Истина`
+&НаКлиенте
+Процедура Записать(ОбменДаннымиЗагрузка = Ложь) Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.ЗаписатьДвиженияДокумента(Контекст);
+
+КонецПроцедуры
+
+#КонецОбласти
+
+//@skip-check module-structure-top-region
+#Область СлужебныйПрограммныйИнтерфейс
+
+&НаКлиенте
+Процедура Инициализировать(Документ, ИмяРегистра) Экспорт
+
+ Контекст = ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктораДвижений(Документ, ИмяРегистра);
+
+КонецПроцедуры
+
+#КонецОбласти
+// BSLLS:NonStandardRegion-on
diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/ObjectModule.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/ObjectModule.bsl"
index 56d902ed5..0322ba56c 100644
--- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/ObjectModule.bsl"
+++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/ObjectModule.bsl"
@@ -29,11 +29,11 @@
#Область УстановкаЗначение
-// Добавляет новую строку в набор движений.
-// При необходимости можно выполнить установку реквизитов новой строки
+// Добавляет новую запись в набор движений.
+// При необходимости можно выполнить установку реквизитов новой записи.
//
// Параметры:
-// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов новой строки
+// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов новой записи.
//
// Возвращаемое значение:
// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
@@ -44,9 +44,7 @@
КонецФункции
-// Устанавливает значение реквизита создаваемого объекта.
-//
-// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливается значение реквизита строки табличной части
+// Устанавливает значение реквизита текущей записи набора.
//
// Параметры:
// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части
@@ -61,9 +59,7 @@
КонецФункции
-// Устанавливает значения реквизитов создаваемого объекта.
-//
-// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливаются значения реквизитов строки табличной части
+// Устанавливает значения реквизитов текущей записи набора.
//
// Параметры:
// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов
@@ -77,9 +73,7 @@
КонецФункции
-// Устанавливает фиктивное значение реквизита создаваемого объекта.
-//
-// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливается значение реквизита строки табличной части.
+// Устанавливает фиктивное значение реквизита текущей записи набора.
//
// На основании менеджера и имени реквизита вычисляется его тип, а по типу генерируется фиктивное значение.
//
@@ -104,9 +98,7 @@
КонецФункции
-// Устанавливает фиктивные значения реквизитов создаваемого объекта.
-//
-// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливается значения реквизитов строки табличной части.
+// Устанавливает фиктивные значения реквизитов текущей записи набора.
//
// На основании менеджера и имени реквизита вычисляется его тип, а по типу генерируется фиктивное значение.
//
@@ -127,9 +119,7 @@
КонецФункции
-// Заполняет обязательные поля объекта фиктивными значениями
-//
-// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливаются значения реквизитов строки табличной части.
+// Заполняет обязательные поля записи набора фиктивными значениями
//
// На основании метаданных определяются обязательные поля (Проверка заполнения = Выдавать ошибку),
// для них генерируются и устанавливаются фиктивные значение.
@@ -147,25 +137,39 @@
КонецФункции
+// Устанавливает дополнительное свойство набора записей.
+//
+// Параметры:
+// ИмяСвойства - Строка - Имя дополнительного свойства
+// Значение - Произвольный - Значение дополнительного свойства
+//
+// Возвращаемое значение:
+// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
+Функция УстановитьДополнительноеСвойство(ИмяСвойства, Значение = Неопределено) Экспорт
+
+ ЮТКонструкторТестовыхДанныхСлужебный.УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение);
+ Возврат ЭтотОбъект;
+
+КонецФункции
+
#КонецОбласти
#Область ПолучениеДанных
-// Возвращает данные текущей строки табличной части объекта.
+// Возвращает данные текущей записи набора.
//
// Возвращаемое значение:
-// - Структура - Данные строки
-// - Неопределено - Если заполняется объект
+// - Структура - Данные записи
Функция ДанныеСтроки() Экспорт
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтрокиКоллекции(Контекст);
КонецФункции
-// Возвращает данные создаваемого объекта.
+// Возвращает данные набора записей.
//
// Возвращаемое значение:
-// Структура - Данные объекта
+// Массив из Структура - Данные набора записей.
Функция Данные() Экспорт
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеОбъекта(Контекст);
@@ -174,23 +178,15 @@
#КонецОбласти
-// Создает новый объект и возвращает его или ссылку.
-//
-// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов.
-// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор.
+// Записывает движения документа.
//
// Параметры:
-// ВернутьОбъект - Булево - Вернуть объект вместо ссылки
-// ОбменДаннымиЗагрузка - Булево - Записать объект с признаком `ОбменДанными.Загрузка = Истина`
-//
-// Возвращаемое значение:
-// Произвольный - Созданный объект или ссылка на него
-Функция Записать(ОбменДаннымиЗагрузка = Ложь) Экспорт
+// ОбменДаннымиЗагрузка - Булево - Записать с признаком `ОбменДанными.Загрузка = Истина`
+Процедура Записать(ОбменДаннымиЗагрузка = Ложь) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.ЗаписатьДвиженияДокумента(Контекст);
- Возврат ЭтотОбъект;
-КонецФункции
+КонецПроцедуры
#КонецОбласти
diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271.mdo" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271.mdo"
index 57cebc20a..92f71b683 100644
--- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271.mdo"
+++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271.mdo"
@@ -10,4 +10,14 @@
Конструктор движений
true
+ DataProcessor.ЮТКонструкторДвижений.Form.КлиентскийКонструктор
+
+ КлиентскийКонструктор
+
+ ru
+ Клиентский конструктор
+
+ PersonalComputer
+ MobileDevice
+
diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form"
index db37bb044..09f02e2ac 100644
--- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form"
+++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form"
@@ -1,5 +1,6 @@
+ None
ФормаКоманднаяПанель
-1
diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form"
index 1b22af4eb..758b6b01a 100644
--- "a/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form"
+++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form"
@@ -10,7 +10,7 @@
ru
- User settings group
+ Настройки пользователя
false
@@ -530,7 +530,6 @@
true
Vertical
true
- false
true
true
true
diff --git "a/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/Module.bsl" "b/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/Module.bsl"
index 22e2ca4ba..bafff949e 100644
--- "a/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/Module.bsl"
+++ "b/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/Module.bsl"
@@ -21,18 +21,42 @@
Процедура ИсполняемыеСценарии() Экспорт
ЮТТесты.ВТранзакции()
+ .ДобавитьТест("Инициализировать")
.ДобавитьТест("ДобавитьСтроку")
.ДобавитьТест("Установить")
.ДобавитьТест("УстановитьРеквизиты")
.ДобавитьТест("Фикция")
.ДобавитьТест("ФикцияРеквизитов")
.ДобавитьТест("ФикцияОбязательныхПолей")
- .ДобавитьТест("Инициализировать")
.ДобавитьТест("Записать")
;
КонецПроцедуры
+Процедура Инициализировать() Экспорт
+
+ // Создаем документ
+ Документ = ЮТест.Данные().СоздатьДокумент("Документы.ПриходТовара");
+
+ // Инициализируем конструктор движений
+ Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ТоварныеЗапасы");
+
+ // Проверяем, что конструктор инициализирован
+ ЮТест.ОжидаетЧто(Конструктор, "Конструктор должен быть инициализирован")
+ .НеРавно(Неопределено);
+
+ // Проверяем, что данные конструктора пусты
+ Данные = Конструктор.Данные();
+ ЮТест.ОжидаетЧто(Данные, "Данные конструктора должны быть пустым массивом")
+ .ИмеетТип("Массив")
+ .Равно(Новый Массив);
+
+ ЮТест.ОжидаетЧто(ЮТест.Данные())
+ .Метод("КонструкторДвижений", ЮТКоллекции.ЗначениеВМассиве(Документ, "НесуществующийРегистр"))
+ .ВыбрасываетИсключение("Документ " + Документ + " не делает движений по регистру ""НесуществующийРегистр""");
+
+КонецПроцедуры
+
Процедура ДобавитьСтроку() Экспорт
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
@@ -179,32 +203,42 @@
КонецПроцедуры
-Процедура Инициализировать() Экспорт
+Процедура Записать() Экспорт
- // Создаем документ
- Документ = ЮТест.Данные().СоздатьДокумент("Документы.ПриходТовара");
+ // Создаем документ "УстановкаЦен"
+ Документ = ЮТест.Данные().СоздатьДокумент("Документы.УстановкаЦен");
- Конструктор = Обработки.ЮТКонструкторДвижений.Создать();
- // Инициализируем конструктор движений
- Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ТоварныеЗапасы");
+ // Инициализируем конструктор движений для регистра сведений "ЦеныТоваров"
+ Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ЦеныТоваров");
- // Проверяем, что конструктор инициализирован
- ЮТест.ОжидаетЧто(Конструктор, "Конструктор должен быть инициализирован")
- .НеРавно(Неопределено);
+ // Добавляем строку и заполняем необходимые реквизиты
+ Конструктор.ДобавитьСтроку().УстановитьРеквизиты(Новый Структура(
+ "Товар, ВидЦен, Цена",
+ ЮТест.Данные().СоздатьЭлемент("Справочники.Товары"),
+ ЮТест.Данные().СоздатьЭлемент("Справочники.ВидыЦен"),
+ 1000
+ ));
- // Проверяем, что данные конструктора пусты
- Данные = Конструктор.Данные();
- ЮТест.ОжидаетЧто(Данные, "Данные конструктора должны быть пустым массивом")
- .ИмеетТип("Массив")
- .Равно(Новый Массив);
+ // Записываем движения
+ Конструктор.Записать();
- ЮТест.ОжидаетЧто(ЮТест.Данные())
- .Метод("КонструкторДвижений", ЮТКоллекции.ЗначениеВМассиве(Документ, "НесуществующийРегистр"))
- .ВыбрасываетИсключение("Документ " + Документ + " не делает движений по регистру ""НесуществующийРегистр""");
+ // Проверяем, что движения были записаны в регистр сведений
+ ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.ЦеныТоваров")
+ .СодержитЗаписи(ЮТест.Предикат()
+ .Реквизит("Регистратор").Равно(Документ));
-КонецПроцедуры
-
-Процедура Записать() Экспорт
+ // Получаем записи регистра движений документа
+ ЗаписиРегистра = ЮТЗапросы.ДвиженияДокумента(Документ, "ЦеныТоваров");
+
+ // Проверяем, что движения были записаны в регистр сведений
+ ЮТест.ОжидаетЧто(ЗаписиРегистра)
+ .Заполнено()
+ .ИмеетДлину(1)
+ .Свойство("[0].Регистратор").Равно(Документ)
+ .Свойство("[0].Товар").Заполнено()
+ .Свойство("[0].ВидЦен").Заполнено()
+ .Свойство("[0].Цена").Равно(1000)
+ ;
// Создаем документ
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
diff --git "a/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236.mdo" "b/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236.mdo"
index 9e7e8bd5d..1459b4c1b 100644
--- "a/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236.mdo"
+++ "b/tests/src/CommonModules/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236/\320\236\320\261\321\200_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\224\320\262\320\270\320\266\320\265\320\275\320\270\320\271_\320\234\320\236.mdo"
@@ -1,5 +1,7 @@
Обр_ЮТКонструкторДвижений_МО
+ true
true
+ true
diff --git "a/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo"
index 140570f24..357389d31 100644
--- "a/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo"
+++ "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo"
@@ -12,10 +12,7 @@
ЦеныТоваров
Adopted
- Checked
- Checked
Extended
Extended
- Day