mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2024-11-24 08:22:22 +02:00
Merge pull request #413 from bia-technologies/feature/120
120 / Конструктор движений
This commit is contained in:
commit
11b81104aa
@ -1,6 +1,7 @@
|
||||
---
|
||||
tags: [Начало, Тестовые данные]
|
||||
sidebar_position: 1
|
||||
toc_max_heading_level: 4
|
||||
---
|
||||
|
||||
# Программное создание тестовых данных
|
||||
@ -91,68 +92,118 @@ sidebar_position: 1
|
||||
|
||||
### Методы создания данных в информационной базе
|
||||
|
||||
* Создание пустышек - примитивных объектов с минимальным заполнения. Полезно использовать когда вам нужна ссылка определенного типа, но не важно ее заполнение
|
||||
* [`ЮТест.Данные().СоздатьЭлемент`](/api/ЮТТестовыеДанные#создатьэлемент) - Создает новый элемент справочника или плана видов характеристик
|
||||
#### Создание пустышек
|
||||
|
||||
```bsl
|
||||
Товар = ЮТест.Данные().СоздатьЭлемент(Справочники.Товары); // На основании менеджера
|
||||
Товар = ЮТест.Данные().СоздатьЭлемент("Справочники.Товары"); // На основании имени менеджера
|
||||
|
||||
ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи();
|
||||
ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина;
|
||||
Товар = ЮТест.Данные().СоздатьЭлемент("Справочники.Товары", , , ПараметрыЗаписи); // Запись в режиме ОбменДанными.Загрузка = Истина
|
||||
```
|
||||
Создание записей в базе с минимальным заполнения (наименование, код, номер, дата).
|
||||
Полезно использовать когда вам нужна ссылка определенного типа, но не важно ее заполнение.
|
||||
|
||||
* [`ЮТест.Данные().СоздатьДокумент`](/api/ЮТТестовыеДанные#создатьдокумент) - Создает новый документ
|
||||
* [`ЮТест.Данные().СоздатьЭлемент`](/api/ЮТТестовыеДанные#создатьэлемент) - Создает новый элемент справочника или плана видов характеристик
|
||||
|
||||
```bsl
|
||||
Товар = ЮТест.Данные().СоздатьДокумент(Документ.ПриходТовара); // На основании менеджера
|
||||
Товар = ЮТест.Данные().СоздатьДокумент("Документ.ПриходТовара"); // На основании имени менеджера
|
||||
```
|
||||
|
||||
* [`ЮТест.Данные().СоздатьГруппу`](/api/ЮТТестовыеДанные#создатьгруппу) - Создает новую группу справочника или плана видов характеристик
|
||||
|
||||
```bsl
|
||||
Товар = ЮТест.Данные().СоздатьГруппу(Документ.ПриходТовара); // На основании менеджера
|
||||
Товар = ЮТест.Данные().СоздатьГруппу("Документ.ПриходТовара"); // На основании имени менеджера
|
||||
```
|
||||
|
||||
* [`ЮТест.Данные().Фикция`](/api/ЮТТестовыеДанные#фикция) - Создает новый объект на основании его типа
|
||||
|
||||
```bsl
|
||||
Товар = ЮТест.Данные().Фикция(Тип("ДокументСсылка.ПриходТовара"));
|
||||
Товар = ЮТест.Данные().Фикция(Новый ОписаниеТипов("ДокументСсылка.ПриходТовара"));
|
||||
Товар = ЮТест.Данные().Фикция(Новый ОписаниеТипов("ДокументСсылка.ПриходТовара, ДокументСсылка.РасходТовара")); // Будет выбран случайный тип
|
||||
```
|
||||
|
||||
* [`ЮТест.Данные().КонструкторОбъекта`](/api/ЮТТестовыеДанные#конструкторобъекта), с помощью которого вы можете создать объект информационной базы с необходимыми реквизитами.
|
||||
Конструктор позволяет:
|
||||
* В более компактной форме заполнять объект
|
||||
* Имеет методы записи и проведения
|
||||
* При возникновении ошибки оборачивает их в более понятные человеку описания
|
||||
* Киллер фича - `Фикция`, `ФикцияРеквизитов` и `ФикцияОбязательныхПолей`. Устанавливает случайно сгенерированные значения реквизитов. Таким образом делается акцент на важных для теста реквизитах и экономит "строки" на генерацию ненужных значений
|
||||
* Умеет создавать данные с клиента и [удалять их по окончании теста](test-data-deletion.md)
|
||||
|
||||
```bsl
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара")
|
||||
.ФикцияРеквизитов("Поставщик, Склад")
|
||||
.ФикцияОбязательныхПолей()
|
||||
.ТабличнаяЧасть("Товары")
|
||||
|
||||
ОбщиеДанные = Новый Структура("ВидЦены, Поставщик", Закупочная, Конструктор.ДанныеОбъекта().Поставщик);
|
||||
|
||||
Для Инд = 1 По 3 Цикл
|
||||
Конструктор.ДобавитьСтроку()
|
||||
.Фикция("Товар")
|
||||
.УстановитьРеквизиты(ОбщиеДанные)
|
||||
.Установить("Цена", ЮТест.Данные().СлучайноеПоложительноеЧисло(9999, 2))
|
||||
.Установить("Количество", ЮТест.Данные().СлучайноеПоложительноеЧисло(20))
|
||||
.Установить("Сумма", Конструктор.ДанныеСтроки().Цена * Конструктор.ДанныеСтроки().Количество)
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Конструктор.Провести();
|
||||
Товар = ЮТест.Данные().СоздатьЭлемент(Справочники.Товары); // На основании менеджера
|
||||
Товар = ЮТест.Данные().СоздатьЭлемент("Справочники.Товары"); // На основании имени менеджера
|
||||
|
||||
ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи();
|
||||
ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина;
|
||||
Товар = ЮТест.Данные().СоздатьЭлемент("Справочники.Товары", , , ПараметрыЗаписи); // Запись в режиме ОбменДанными.Загрузка = Истина
|
||||
```
|
||||
|
||||
* [`ЮТест.Данные().СоздатьДокумент`](/api/ЮТТестовыеДанные#создатьдокумент) - Создает новый документ
|
||||
|
||||
```bsl
|
||||
Товар = ЮТест.Данные().СоздатьДокумент(Документ.ПриходТовара); // На основании менеджера
|
||||
Товар = ЮТест.Данные().СоздатьДокумент("Документ.ПриходТовара"); // На основании имени менеджера
|
||||
```
|
||||
|
||||
* [`ЮТест.Данные().СоздатьГруппу`](/api/ЮТТестовыеДанные#создатьгруппу) - Создает новую группу справочника или плана видов характеристик
|
||||
|
||||
```bsl
|
||||
Товар = ЮТест.Данные().СоздатьГруппу(Документ.ПриходТовара); // На основании менеджера
|
||||
Товар = ЮТест.Данные().СоздатьГруппу("Документ.ПриходТовара"); // На основании имени менеджера
|
||||
```
|
||||
|
||||
* [`ЮТест.Данные().Фикция`](/api/ЮТТестовыеДанные#фикция) - Создает новый объект на основании его типа
|
||||
|
||||
```bsl
|
||||
Товар = ЮТест.Данные().Фикция(Тип("ДокументСсылка.ПриходТовара"));
|
||||
Товар = ЮТест.Данные().Фикция(Новый ОписаниеТипов("ДокументСсылка.ПриходТовара"));
|
||||
Товар = ЮТест.Данные().Фикция(Новый ОписаниеТипов("ДокументСсылка.ПриходТовара, ДокументСсылка.РасходТовара")); // Будет выбран случайный тип
|
||||
```
|
||||
|
||||
#### Конструктор объекта
|
||||
|
||||
[`ЮТест.Данные().КонструкторОбъекта`](/api/ЮТТестовыеДанные#конструкторобъекта) - инструмент, с помощью которого вы можете создать объект информационной базы с необходимыми реквизитами.
|
||||
Конструктор позволяет:
|
||||
|
||||
* В более компактной форме заполнять объект
|
||||
* Имеет методы записи и проведения
|
||||
* При возникновении ошибки оборачивает их в более понятные человеку описания
|
||||
* Киллер фича - `Фикция`, `ФикцияРеквизитов` и `ФикцияОбязательныхПолей`. Устанавливает случайно сгенерированные значения реквизитов. Таким образом делается акцент на важных для теста реквизитах и экономит "строки" на генерацию ненужных значений
|
||||
* Умеет создавать данные с клиента и [удалять их по окончании теста](test-data-deletion.md)
|
||||
|
||||
```bsl
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара")
|
||||
.ФикцияРеквизитов("Поставщик, Склад")
|
||||
.ФикцияОбязательныхПолей()
|
||||
.ТабличнаяЧасть("Товары")
|
||||
|
||||
ОбщиеДанные = Новый Структура("ВидЦены, Поставщик", Закупочная, Конструктор.ДанныеОбъекта().Поставщик);
|
||||
|
||||
Для Инд = 1 По 3 Цикл
|
||||
Конструктор.ДобавитьСтроку()
|
||||
.Фикция("Товар")
|
||||
.УстановитьРеквизиты(ОбщиеДанные)
|
||||
.Установить("Цена", ЮТест.Данные().СлучайноеПоложительноеЧисло(9999, 2))
|
||||
.Установить("Количество", ЮТест.Данные().СлучайноеПоложительноеЧисло(20))
|
||||
.Установить("Сумма", Конструктор.ДанныеСтроки().Цена * Конструктор.ДанныеСтроки().Количество)
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Конструктор.Провести();
|
||||
```
|
||||
|
||||
#### Конструктор движения документа
|
||||
|
||||
[`ЮТест.Данные().КонструкторДвижений`](/api/ЮТТестовыеДанные#конструктордвижений) - инструмент, с помощью которого вы можете формировать необходимые для теста движения документа.
|
||||
С его помощью вы можете сократить время на подготовку данных и упростить логику их создания.
|
||||
|
||||
Конструктор позволяет:
|
||||
|
||||
* В более компактной форме формировать движения объекта.
|
||||
* При возникновении ошибки оборачивает их в более понятные человеку описания.
|
||||
* Киллер фича - `Фикция`, `ФикцияРеквизитов` и `ФикцияОбязательныхПолей`. Устанавливает случайно сгенерированные значения реквизитов.
|
||||
Таким образом делается акцент на важных для теста реквизитах и экономит "строки" на генерацию ненужных значений.
|
||||
* Умеет создавать данные с клиента и [удалять их по окончании теста](test-data-deletion.md).
|
||||
|
||||
```bsl title="Пример установки движений документа"
|
||||
// Создание пустышки документа, будет использоваться в качестве регистратора
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.УстановкаЦен");
|
||||
|
||||
// Формирование нужных проводок по регистру ЦеныТоваров
|
||||
ЮТест.Данные().КонструкторДвижений(Документ, "ЦеныТоваров") // Инициализация конструктора
|
||||
.ДобавитьСтроку() // Добавление записи в набор
|
||||
.ФикцияРеквизитов("Товар, ВидЦен") // Заполнение фиктивными данными
|
||||
.Установить("Цена", 0) // Установка цены
|
||||
.Записать(); // Сохранение
|
||||
|
||||
// Создание дополнительных данных
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
|
||||
Покупатель = ЮТест.Данные().СоздатьЭлемент("Справочники.Контрагенты");
|
||||
|
||||
// Инициализация конструктора
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "Продажи");
|
||||
|
||||
// Заполнение движений
|
||||
Для Инд = 1 По 10 Цикл
|
||||
Конструктор
|
||||
.ДобавитьСтроку()
|
||||
.Установить("Покупатель", Покупатель)
|
||||
.ФикцияРеквизитов("Товар, Сумма");
|
||||
КонецЦикла;
|
||||
|
||||
// Сохранение записей в базе
|
||||
Конструктор.Записать();
|
||||
```
|
||||
|
||||
### Загрузка данных из макетов
|
||||
|
||||
Работа с макетами описана в отдельной [статье](load-from-templates.md)
|
||||
|
@ -146,7 +146,7 @@
|
||||
Приемник = СкопироватьСтруктуру(Источник, Истина);
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьСоответствие(Источник, Истина);
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипИсточника) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассив(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьМассив(Источник, Истина);
|
||||
ИначеЕсли ТипИсточника = Тип("СписокЗначений") Тогда
|
||||
Приемник = СкопироватьСписокЗначений(Источник, Истина);
|
||||
|
@ -20,6 +20,8 @@
|
||||
|
||||
Процедура Установить(Контекст, ИмяРеквизита, Значение) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
ОписаниеРеквизита(Контекст, ИмяРеквизита); // Проверка наличия реквизита
|
||||
|
||||
ТекущаяЗапись = ТекущаяЗапись(Контекст);
|
||||
@ -29,6 +31,8 @@
|
||||
|
||||
Процедура УстановитьРеквизиты(Контекст, ЗначенияРеквизитов) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
ТекущаяЗапись = ТекущаяЗапись(Контекст);
|
||||
Для Каждого ЗначениеРеквизита Из ЗначенияРеквизитов Цикл
|
||||
|
||||
@ -41,6 +45,8 @@
|
||||
|
||||
Процедура Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения, Знач ОграничениеТипа) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
ЮТПроверкиСлужебный.ПроверитьТипПараметра(ОграничениеТипа, "Тип, ОписаниеТипов, Строка", "Фикция", "ЮТКонструкторТестовыхДанных", Истина);
|
||||
|
||||
ТекущаяЗапись = ТекущаяЗапись(Контекст);
|
||||
@ -60,6 +66,8 @@
|
||||
|
||||
Процедура ФикцияОбязательныхПолей(Контекст) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Реквизиты = Реквизиты(Контекст);
|
||||
ТекущаяЗапись = ТекущаяЗапись(Контекст);
|
||||
|
||||
@ -77,6 +85,8 @@
|
||||
|
||||
Процедура ФикцияРеквизитов(Контекст, ИменаРеквизитов) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
ТекущаяЗапись = ТекущаяЗапись(Контекст);
|
||||
ОписаниеРеквизитов = Новый Структура;
|
||||
|
||||
@ -97,6 +107,8 @@
|
||||
|
||||
Процедура ТабличнаяЧасть(Контекст, ИмяТабличнойЧасти) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Контекст.ТекущаяТабличнаяЧасть = ИмяТабличнойЧасти;
|
||||
|
||||
Если ИмяТабличнойЧасти <> Неопределено Тогда
|
||||
@ -107,6 +119,8 @@
|
||||
|
||||
Процедура ДобавитьСтроку(Контекст, ЗначенияРеквизитов) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Запись = Новый Структура();
|
||||
ДанныеТабличнойЧасти(Контекст).Добавить(Запись);
|
||||
|
||||
@ -118,12 +132,16 @@
|
||||
|
||||
Процедура УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение = Неопределено) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Контекст.ДополнительныеСвойства.Вставить(ИмяСвойства, Значение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьСсылкуНового(Контекст, Значение) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Если ТипЗнч(Значение) = Тип("УникальныйИдентификатор") Тогда
|
||||
УникальныйИдентификаторСсылки = Значение;
|
||||
ИначеЕсли ЮТСтроки.ЭтоУникальныйИдентификаторСтрокой(Значение) Тогда
|
||||
@ -136,8 +154,61 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НовыйОбъект(Контекст) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Возврат ЮТТестовыеДанныеСлужебный.НовыйОбъект(Контекст.Менеджер,
|
||||
Контекст.Данные,
|
||||
Контекст.ДополнительныеСвойства,
|
||||
Контекст.УникальныйИдентификаторСсылки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеСтрокиТабличнойЧасти(Контекст) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Если ПустаяСтрока(Контекст.ТекущаяТабличнаяЧасть) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеТабличнойЧасти = ДанныеТабличнойЧасти(Контекст);
|
||||
|
||||
Если ЗначениеЗаполнено(ДанныеТабличнойЧасти) Тогда
|
||||
Возврат ДанныеТабличнойЧасти[ДанныеТабличнойЧасти.ВГраница()];
|
||||
Иначе
|
||||
ВызватьИсключение "Сначала необходимо добавить строку табличной части";
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеСтрокиКоллекции(Контекст) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.Данные) Тогда
|
||||
Возврат Контекст.Данные[Контекст.Данные.ВГраница()];
|
||||
Иначе
|
||||
ВызватьИсключение "Сначала необходимо добавить строку";
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеОбъекта(Контекст) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
Возврат Контекст.Данные;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область Запись
|
||||
|
||||
Функция Записать(Контекст, ВернутьОбъект = Ложь, ОбменДаннымиЗагрузка = Ложь) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи();
|
||||
ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
|
||||
ПараметрыЗаписи.УникальныйИдентификаторСсылки = Контекст.УникальныйИдентификаторСсылки;
|
||||
@ -149,17 +220,10 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НовыйОбъект(Контекст) Экспорт
|
||||
|
||||
Возврат ЮТТестовыеДанныеСлужебный.НовыйОбъект(Контекст.Менеджер,
|
||||
Контекст.Данные,
|
||||
Контекст.ДополнительныеСвойства,
|
||||
Контекст.УникальныйИдентификаторСсылки);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция Провести(Контекст, ВернутьОбъект = Ложь) Экспорт
|
||||
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи();
|
||||
ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
|
||||
ПараметрыЗаписи.УникальныйИдентификаторСсылки = Контекст.УникальныйИдентификаторСсылки;
|
||||
@ -171,27 +235,33 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДанныеСтроки(Контекст) Экспорт
|
||||
Процедура ЗаписатьДвиженияДокумента(Контекст, ОбменДаннымиЗагрузка) Экспорт
|
||||
|
||||
Если ПустаяСтрока(Контекст.ТекущаяТабличнаяЧасть) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
ПроверитьИнициализациюКонтекста(Контекст);
|
||||
|
||||
ДанныеТабличнойЧасти = ДанныеТабличнойЧасти(Контекст);
|
||||
|
||||
Если ДанныеТабличнойЧасти.Количество() Тогда
|
||||
Возврат ДанныеТабличнойЧасти[ДанныеТабличнойЧасти.ВГраница()];
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗнч(Контекст.Документ)) Тогда
|
||||
СсылкаНаДокумент = Контекст.Документ;
|
||||
ИначеЕсли ЗначениеЗаполнено(Контекст.Документ.Ссылка) Тогда
|
||||
СсылкаНаДокумент = Контекст.Документ.Ссылка;
|
||||
Иначе
|
||||
ВызватьИсключение "Сначала необходимо добавить строку табличной части";
|
||||
ВызватьИсключение "Документ не записан";
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
Если НЕ ЗначениеЗаполнено(СсылкаНаДокумент) Тогда
|
||||
ВызватьИсключение "Не установлена ссылка на документ, владелец движений";
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи();
|
||||
ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
|
||||
ПараметрыЗаписи.ОбменДаннымиЗагрузка = ОбменДаннымиЗагрузка;
|
||||
|
||||
ЮТТестовыеДанныеСлужебный.ЗаписатьДвиженияРегистратора(СсылкаНаДокумент, Контекст.Данные, Контекст.Метаданные, ПараметрыЗаписи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДанныеОбъекта(Контекст) Экспорт
|
||||
|
||||
Возврат Контекст.Данные;
|
||||
|
||||
КонецФункции
|
||||
#КонецОбласти
|
||||
|
||||
#Область ИнициализацияКонструкторов
|
||||
|
||||
// Инициализирует конструктор тестовых данных
|
||||
//
|
||||
@ -216,10 +286,43 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИнициализироватьКонструкторДвижений(Документ, ИмяРегистра) Экспорт
|
||||
|
||||
ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяРегистра,
|
||||
"Строка",
|
||||
"ЮТест.Данные().КонструкторДвижений",
|
||||
"ИмяРегистра");
|
||||
|
||||
Если НЕ ЮТМетаданные.ЭтоДокумент(Документ) Или ЮТТипыДанныхСлужебный.ЭтоМенеджер(ТипЗнч(Документ)) Тогда
|
||||
ТекстОшибки = СтрШаблон("Некорректный тип параметра `Документ` метода `ЮТест.Данные().КонструкторДвижений`.
|
||||
|Это должен быть документ (ссылка или объект), а получили `%1` (%2)",
|
||||
ТипЗнч(Документ),
|
||||
Документ);
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецЕсли;
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
|
||||
Конструктор = Обработки.ЮТКонструкторДвижений.Создать();
|
||||
#Иначе
|
||||
//@skip-check use-non-recommended-method
|
||||
Конструктор = ПолучитьФорму("Обработка.ЮТКонструкторДвижений.Форма.КлиентскийКонструктор"); // BSLLS:GetFormMethod-off
|
||||
#КонецЕсли
|
||||
|
||||
//@skip-check unknown-method-property
|
||||
Конструктор.Инициализировать(Документ, ИмяРегистра);
|
||||
|
||||
Возврат Конструктор;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область КонструкторыКонтекстов
|
||||
|
||||
// Новый контекст конструктора.
|
||||
//
|
||||
// Параметры:
|
||||
@ -249,6 +352,27 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НовыйКонтекстКонструктораДвижений(Документ, ИмяРегистра) Экспорт
|
||||
|
||||
ОписаниеРегистра = ЮТМетаданные.ОписаниеРегистраДвиженийДокумента(Документ, ИмяРегистра);
|
||||
|
||||
Если ОписаниеРегистра = Неопределено Тогда
|
||||
ВызватьИсключение СтрШаблон("Документ %1 не делает движений по регистру ""%2""", Документ, ИмяРегистра);
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Новый Структура();
|
||||
Контекст.Вставить("Документ", Документ);
|
||||
Контекст.Вставить("Данные", Новый Массив());
|
||||
Контекст.Вставить("Метаданные", ОписаниеРегистра);
|
||||
Контекст.Вставить("ДополнительныеСвойства", Новый Структура());
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Контекст;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
Функция ДанныеТабличнойЧасти(Контекст)
|
||||
|
||||
Возврат Контекст.Данные[Контекст.ТекущаяТабличнаяЧасть];
|
||||
@ -292,7 +416,7 @@
|
||||
|
||||
Функция Реквизиты(Контекст)
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда
|
||||
Если ФокусНаТабличнойЧасти(Контекст) Тогда
|
||||
Возврат Контекст.Метаданные.ТабличныеЧасти[Контекст.ТекущаяТабличнаяЧасть];
|
||||
Иначе
|
||||
Возврат Контекст.Метаданные.Реквизиты;
|
||||
@ -306,7 +430,7 @@
|
||||
|
||||
Если НЕ Реквизиты.Свойство(ИмяРеквизита) Тогда
|
||||
ИмяОсновнойТаблицы = ЮТМетаданные.НормализованноеИмяТаблицы(Контекст.Метаданные);
|
||||
Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда
|
||||
Если ФокусНаТабличнойЧасти(Контекст) Тогда
|
||||
Пояснение = СтрШаблон("Табличная часть `%1.%2` не содержит реквизит `%3`", ИмяОсновнойТаблицы, Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита);
|
||||
Иначе
|
||||
Пояснение = СтрШаблон("`%1` не содержит реквизит `%2`", ИмяОсновнойТаблицы, ИмяРеквизита);
|
||||
@ -321,8 +445,10 @@
|
||||
|
||||
Функция ТекущаяЗапись(Контекст)
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда
|
||||
Возврат ДанныеСтроки(Контекст);
|
||||
Если ФокусНаТабличнойЧасти(Контекст) Тогда
|
||||
Возврат ДанныеСтрокиТабличнойЧасти(Контекст);
|
||||
ИначеЕсли ЭтоКонструкторКоллекции(Контекст) Тогда
|
||||
Возврат ДанныеСтрокиКоллекции(Контекст);
|
||||
Иначе
|
||||
Возврат Контекст.Данные;
|
||||
КонецЕсли;
|
||||
@ -336,4 +462,24 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ФокусНаТабличнойЧасти(Контекст)
|
||||
|
||||
Возврат Контекст.Свойство("ТекущаяТабличнаяЧасть") И ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоКонструкторКоллекции(Контекст)
|
||||
|
||||
Возврат ЮТТипыДанныхСлужебный.ЭтоМассив(ТипЗнч(Контекст.Данные));
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ПроверитьИнициализациюКонтекста(Контекст)
|
||||
|
||||
Если Контекст = Неопределено Тогда
|
||||
ВызватьИсключение "Контекст не инициализирован. Вызовите соответствующий метод конструктор из `ЮТест.Данные()` перед использованием.";
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -307,6 +307,30 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает описание регистра движений документа.
|
||||
//
|
||||
// Параметры:
|
||||
// Документ - ДокументСсылка, ДокументОбъект, ДокументМенеджер - Документ или менеджер
|
||||
// - ОбъектМетаданных, Тип - Метаданные или тип документа
|
||||
// - Строка - Полное имя объекта метаданных
|
||||
// ИмяРегистра - Строка - Имя регистра движений.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание регистра движений документа
|
||||
// Неопределено - Документ не делает движений по указанному регистру
|
||||
Функция ОписаниеРегистраДвиженийДокумента(Документ, ИмяРегистра) Экспорт
|
||||
|
||||
ПолноеИмяРегистра = Неопределено;
|
||||
|
||||
Если НЕ РегистрыДвиженийДокумента(Документ).Свойство(ИмяРегистра, ПолноеИмяРегистра) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ОписаниеОбъектаМетаданных(ПолноеИмяРегистра);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает текущую версию тестового движка (YAxUnit)
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
|
@ -120,8 +120,8 @@
|
||||
ЮТНастройкиВыполнения.КаталогПроекта(),
|
||||
Параметры.ПолныйПуть);
|
||||
|
||||
ПолноеИмяСервер = ЮТФайлы.ОбъединитьПути(Результат.СохраняемыйКонтекстСервер.РабочийКаталог, Параметры.ПутьКФайлуПроекта);
|
||||
Результат.СохраняемыйКонтекстСервер = РезультатПередачиФайлов;
|
||||
ПолноеИмяСервер = ЮТФайлы.ОбъединитьПути(Результат.СохраняемыйКонтекстСервер.РабочийКаталог, Параметры.ПутьКФайлуПроекта);
|
||||
Результат.СохраняемыйКонтекстСервер.Вставить("ПолноеИмя", ПолноеИмяСервер);
|
||||
КонецЕсли;
|
||||
|
||||
|
@ -59,7 +59,7 @@
|
||||
|
||||
Результат = СоответствияРавны(Данные1, Данные2);
|
||||
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипЗначения) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассив(ТипЗначения) Тогда
|
||||
|
||||
Результат = МассивыРавны(Данные1, Данные2);
|
||||
|
||||
@ -362,7 +362,7 @@
|
||||
|
||||
ИскомоеЗначениеНайдено = СтрНайти(ПроверяемоеЗначение, ОжидаемоеЗначение) > 0;
|
||||
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипПроверяемогоЗначения) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассив(ТипПроверяемогоЗначения) Тогда
|
||||
|
||||
Индекс = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение);
|
||||
ИскомоеЗначениеНайдено = Индекс <> Неопределено;
|
||||
@ -670,7 +670,7 @@
|
||||
|
||||
ТипСписка = ТипЗнч(ОжидаемоеЗначение);
|
||||
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоМассива(ТипСписка) Тогда
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоМассив(ТипСписка) Тогда
|
||||
Возврат ОжидаемоеЗначение.Найти(ПроверяемоеЗначение) <> Неопределено;
|
||||
Иначе
|
||||
Возврат ОжидаемоеЗначение.НайтиПоЗначению(ПроверяемоеЗначение) <> Неопределено;
|
||||
|
@ -838,12 +838,12 @@
|
||||
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор создания тестовых данных для указанного объекта метаданных.
|
||||
//
|
||||
// Пример:
|
||||
// Конструктор = КонструкторОбъекта("Справочники.Товары");
|
||||
// Конструктор.Установить("Наименование", "Товар 1");
|
||||
// Конструктор.Установить("Цена", 100);
|
||||
// Конструктор.Записать(); // Создает товар с наименованием "Товар 1" и ценой 100.
|
||||
// Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") // Используя формат текучих выражений
|
||||
// .Установить("Наименование", "Товар 1")
|
||||
// .Установить("Цена", 100)
|
||||
// .Записать(); // Создает товар с наименованием "Товар 1" и ценой 100.
|
||||
//
|
||||
// Конструктор = КонструкторОбъекта(Документы.ПриходТоваров);
|
||||
// Конструктор = ЮТест.Данные().(Документы.ПриходТоваров); // Без использования текучих выражений
|
||||
// Конструктор.Установить("Организация", Справочники.Организации.ПустаяСсылка());
|
||||
// Конструктор.Установить("Склад", Справочники.Склады.ПустаяСсылка());
|
||||
// Конструктор.Установить("Товар", Справочники.Товары.ПустаяСсылка());
|
||||
@ -855,6 +855,33 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает конструктор создания движений для указанного документа и регистра.
|
||||
//
|
||||
// Конструктор имеет ряд особенностей:
|
||||
//
|
||||
// * Создание движений происходит при вызове метода `Записать`, а заполнение реквизитов движений осуществляется через методы установки.
|
||||
// * При использовании на клиенте все значения должны быть сериализуемыми.
|
||||
//
|
||||
// Параметры:
|
||||
// Документ - ДокументОбъект, ДокументСсылка - Документ, для которого создаются движения.
|
||||
// ИмяРегистра - Строка - Имя регистра, движения которого необходимо создать.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор для создания движений по указанному документу и регистру.
|
||||
//
|
||||
// Пример:
|
||||
// Конструктор = КонструкторДвижений(Документы.РеализацияТоваров.СоздатьДокумент(), "Продажи")
|
||||
// .ДобавитьСтроку()
|
||||
// .Установить("Номенклатура", Справочники.Номенклатура.НайтиПоНаименованию("Товар 1"))
|
||||
// .Фикция("Склад")
|
||||
// .Установить("Количество", 10)
|
||||
// .Записать(); // Создает движение реализации товаров.
|
||||
Функция КонструкторДвижений(Документ, ИмяРегистра) Экспорт
|
||||
|
||||
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ИнициализироватьКонструкторДвижений(Документ, ИмяРегистра);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
|
||||
// Возвращает конструктор создания объекта XDTO.
|
||||
//
|
||||
|
@ -174,6 +174,16 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи) Экспорт
|
||||
|
||||
#Если Сервер Тогда
|
||||
ЮТТестовыеДанныеСлужебныйСервер.ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи);
|
||||
#Иначе
|
||||
ЮТТестовыеДанныеСлужебныйВызовСервера.ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи);
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Создает новый объект и заполняет его данными
|
||||
//
|
||||
// Параметры:
|
||||
|
@ -24,6 +24,12 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьДвиженияРегистратора(Знач Регистратор, Знач Данные, Знач Менеджер, Знач ПараметрыЗаписи) Экспорт
|
||||
|
||||
ЮТТестовыеДанныеСлужебныйСервер.ЗаписатьДвиженияРегистратора(Регистратор, Данные, Менеджер, ПараметрыЗаписи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НовыйОбъект(Знач Менеджер, Знач Данные, Знач ДополнительныеСвойства, Знач УникальныйИдентификаторСсылки) Экспорт
|
||||
|
||||
Возврат ЮТТестовыеДанныеСлужебныйСервер.НовыйОбъект(Менеджер, Данные, ДополнительныеСвойства, УникальныйИдентификаторСсылки);
|
||||
|
@ -68,6 +68,35 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьДвиженияРегистратора(Регистратор, Данные, МетаданныеРегистра, ПараметрыЗаписи) Экспорт
|
||||
|
||||
Менеджер = ЮТОбщий.Менеджер(МетаданныеРегистра);
|
||||
НаборЗаписей = Менеджер.СоздатьНаборЗаписей();
|
||||
ПредставлениеРегистратора = Строка(Регистратор);
|
||||
|
||||
ДатаРегистратора = ЮТЗапросы.ЗначениеРеквизита(Регистратор, "Дата");
|
||||
НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
|
||||
|
||||
Для Каждого Строка Из Данные Цикл
|
||||
|
||||
Запись = НаборЗаписей.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(Запись, Строка);
|
||||
Если НЕ ЗначениеЗаполнено(Запись.Период) Тогда
|
||||
Запись.Период = ДатаРегистратора;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Попытка
|
||||
НаборЗаписей.Записать();
|
||||
Исключение
|
||||
Сообщение = СтрШаблон("Не удалось записать движения `$1` для %2", МетаданныеРегистра.Имя, ПредставлениеРегистратора);
|
||||
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(Сообщение);
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НовыйОбъект(Знач Менеджер, Данные, ДополнительныеСвойства, УникальныйИдентификаторСсылки) Экспорт
|
||||
|
||||
ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(Менеджер);
|
||||
|
@ -78,6 +78,13 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоМенеджер(ТипЗначения) Экспорт
|
||||
|
||||
ПредставлениеТипа = ПредставлениеТипа(ТипЗначения);
|
||||
Возврат СтрНайти(ПредставлениеТипа, "Manager.") > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоМенеджерЗаписи(ТипЗначения) Экспорт
|
||||
|
||||
ПредставлениеТипа = ПредставлениеТипа(ТипЗначения);
|
||||
@ -232,7 +239,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоМассива(ТипЗначения) Экспорт
|
||||
Функция ЭтоМассив(ТипЗначения) Экспорт
|
||||
|
||||
Возврат ТипЗначения = Тип("Массив")
|
||||
Или ТипЗначения = Тип("ФиксированныйМассив");
|
||||
|
@ -159,6 +159,7 @@
|
||||
<dataProcessors>DataProcessor.ЮТHTTPServiceRequest</dataProcessors>
|
||||
<dataProcessors>DataProcessor.ЮТHTTPСервисЗапрос</dataProcessors>
|
||||
<dataProcessors>DataProcessor.ЮТRecordSet</dataProcessors>
|
||||
<dataProcessors>DataProcessor.ЮТКонструкторДвижений</dataProcessors>
|
||||
<dataProcessors>DataProcessor.ЮТКонструкторОбъектаXDTO</dataProcessors>
|
||||
<dataProcessors>DataProcessor.ЮТКонструкторТестовыхДанных</dataProcessors>
|
||||
<dataProcessors>DataProcessor.ЮТЮнитТесты</dataProcessors>
|
||||
|
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<autoTitle>true</autoTitle>
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
<allowFormCustomize>false</allowFormCustomize>
|
||||
<enabled>true</enabled>
|
||||
<showTitle>true</showTitle>
|
||||
<showCloseButton>true</showCloseButton>
|
||||
<attributes>
|
||||
<name>Объект</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>DataProcessorObject.ЮТКонструкторДвижений</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<main>true</main>
|
||||
</attributes>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:ObjectFormExtInfo"/>
|
||||
</form:Form>
|
@ -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
|
@ -0,0 +1,203 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
|
||||
|
||||
#Область ОписаниеПеременных
|
||||
|
||||
// см. ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктора
|
||||
Перем Контекст;
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
#Область УстановкаЗначение
|
||||
|
||||
// Добавляет новую запись в набор движений.
|
||||
// При необходимости можно выполнить установку реквизитов новой записи.
|
||||
//
|
||||
// Параметры:
|
||||
// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов новой записи.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
|
||||
Функция ДобавитьСтроку(ЗначенияРеквизитов = Неопределено) Экспорт
|
||||
|
||||
Контекст.Данные.Добавить(Новый Структура);
|
||||
Возврат ЭтотОбъект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает значение реквизита текущей записи набора.
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части
|
||||
// Значение - Произвольный - Значение реквизита объекта или табличной части
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
|
||||
Функция Установить(ИмяРеквизита, Значение) Экспорт
|
||||
|
||||
ЮТКонструкторТестовыхДанныхСлужебный.Установить(Контекст, ИмяРеквизита, Значение);
|
||||
Возврат ЭтотОбъект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает значения реквизитов текущей записи набора.
|
||||
//
|
||||
// Параметры:
|
||||
// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторДвижений - Установить реквизиты
|
||||
Функция УстановитьРеквизиты(ЗначенияРеквизитов) Экспорт
|
||||
|
||||
ЮТКонструкторТестовыхДанныхСлужебный.УстановитьРеквизиты(Контекст, ЗначенияРеквизитов);
|
||||
Возврат ЭтотОбъект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает фиктивное значение реквизита текущей записи набора.
|
||||
//
|
||||
// На основании менеджера и имени реквизита вычисляется его тип, а по типу генерируется фиктивное значение.
|
||||
//
|
||||
// * Для примитивных значение генерируется случайное значение
|
||||
// * Для ссылочных типов создается новый объект
|
||||
// * Для перечислений (в том числе системных) выбирается случайно значение перечисления
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части
|
||||
// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы
|
||||
// - Неопределено
|
||||
// ОграничениеТипа - Тип, ОписаниеТипов - Испольуется для ограничения типа составного реквизита, будет сгерерировано значение указанного типа
|
||||
// - Неопределено - Будет сгенерировано значение, на основании типа реквизита,
|
||||
// если реквизит составной, то будет использован случайный тип
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
|
||||
Функция Фикция(ИмяРеквизита, РеквизитыЗаполнения = Неопределено, ОграничениеТипа = Неопределено) Экспорт
|
||||
|
||||
ЮТКонструкторТестовыхДанныхСлужебный.Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения, ОграничениеТипа);
|
||||
Возврат ЭтотОбъект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает фиктивные значения реквизитов текущей записи набора.
|
||||
//
|
||||
// На основании менеджера и имени реквизита вычисляется его тип, а по типу генерируется фиктивное значение.
|
||||
//
|
||||
// * Для примитивных значение генерируется случайное значение
|
||||
// * Для ссылочных типов создается новый объект
|
||||
// * Для перечислений (в том числе системных) выбирается случайно значение перечисления
|
||||
//
|
||||
// Параметры:
|
||||
// ИменаРеквизитов - Строка - Имена реквизитов объекта или табличной части разделенные запятыми
|
||||
// - Массив из Строка - Имена реквизитов объекта или табличной части
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
|
||||
Функция ФикцияРеквизитов(ИменаРеквизитов) Экспорт
|
||||
|
||||
ЮТКонструкторТестовыхДанныхСлужебный.ФикцияРеквизитов(Контекст, ИменаРеквизитов);
|
||||
Возврат ЭтотОбъект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Заполняет обязательные поля записи набора фиктивными значениями
|
||||
//
|
||||
// На основании метаданных определяются обязательные поля (Проверка заполнения = Выдавать ошибку),
|
||||
// для них генерируются и устанавливаются фиктивные значение.
|
||||
//
|
||||
// * Для примитивных значение генерируется случайное значение
|
||||
// * Для ссылочных типов создается новый объект
|
||||
// * Для перечислений (в том числе системных) выбирается случайно значение перечисления
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторДвижений - Конструктор
|
||||
Функция ФикцияОбязательныхПолей() Экспорт
|
||||
|
||||
ЮТКонструкторТестовыхДанныхСлужебный.ФикцияОбязательныхПолей(Контекст);
|
||||
Возврат ЭтотОбъект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает дополнительное свойство набора записей.
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяСвойства - Строка - Имя дополнительного свойства
|
||||
// Значение - Произвольный - Значение дополнительного свойства
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
|
||||
Функция УстановитьДополнительноеСвойство(ИмяСвойства, Значение = Неопределено) Экспорт
|
||||
|
||||
ЮТКонструкторТестовыхДанныхСлужебный.УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение);
|
||||
Возврат ЭтотОбъект;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ПолучениеДанных
|
||||
|
||||
// Возвращает данные текущей записи набора.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - Структура - Данные записи
|
||||
Функция ДанныеСтроки() Экспорт
|
||||
|
||||
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтрокиКоллекции(Контекст);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает данные набора записей.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из Структура - Данные набора записей.
|
||||
Функция Данные() Экспорт
|
||||
|
||||
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеОбъекта(Контекст);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
// Записывает движения документа.
|
||||
//
|
||||
// Параметры:
|
||||
// ОбменДаннымиЗагрузка - Булево - Записать с признаком `ОбменДанными.Загрузка = Истина`
|
||||
Процедура Записать(ОбменДаннымиЗагрузка = Ложь) Экспорт
|
||||
|
||||
ЮТКонструкторТестовыхДанныхСлужебный.ЗаписатьДвиженияДокумента(Контекст, ОбменДаннымиЗагрузка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура Инициализировать(Документ, ИмяРегистра) Экспорт
|
||||
|
||||
Контекст = ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктораДвижений(Документ, ИмяРегистра);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:DataProcessor xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1c3ab9bb-081a-4979-b974-47f71a493102">
|
||||
<producedTypes>
|
||||
<objectType typeId="8b95e761-b1ef-418a-867f-4f2eff0ea331" valueTypeId="b72c1015-520b-4ba0-96a9-8d2e2b06e40a"/>
|
||||
<managerType typeId="f1f3d607-8ecf-4754-9871-36dc64683eb6" valueTypeId="80ba7528-f664-43fb-b283-cb9a57701132"/>
|
||||
</producedTypes>
|
||||
<name>ЮТКонструкторДвижений</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Конструктор движений</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<defaultForm>DataProcessor.ЮТКонструкторДвижений.Form.КлиентскийКонструктор</defaultForm>
|
||||
<forms uuid="a899ede5-ed2a-4aa6-afb6-179007f12ae4">
|
||||
<name>КлиентскийКонструктор</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Клиентский конструктор</value>
|
||||
</synonym>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
</forms>
|
||||
</mdclass:DataProcessor>
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
|
@ -287,7 +287,7 @@
|
||||
&НаКлиенте
|
||||
Функция ДанныеСтроки() Экспорт
|
||||
|
||||
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтроки(Контекст);
|
||||
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтрокиТабличнойЧасти(Контекст);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -271,7 +271,7 @@
|
||||
// - Неопределено - Если заполняется объект
|
||||
Функция ДанныеСтроки() Экспорт
|
||||
|
||||
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтроки(Контекст);
|
||||
Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтрокиТабличнойЧасти(Контекст);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -162,56 +162,6 @@
|
||||
<textEdit>true</textEdit>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВидДвижения</name>
|
||||
<id>35</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>НаборЗаписей.RecordType</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ВидДвиженияРасширеннаяПодсказка</name>
|
||||
<id>37</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВидДвиженияКонтекстноеМеню</name>
|
||||
<id>36</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>EnterOnInput</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Организация</name>
|
||||
<id>38</id>
|
||||
@ -500,7 +450,6 @@
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
<allowFormCustomize>false</allowFormCustomize>
|
||||
<enabled>true</enabled>
|
||||
<showTitle>true</showTitle>
|
||||
<showCloseButton>true</showCloseButton>
|
||||
|
@ -282,52 +282,6 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВидДвижения</name>
|
||||
<id>31</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.RecordType</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ВидДвиженияРасширеннаяПодсказка</name>
|
||||
<id>33</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВидДвиженияКонтекстноеМеню</name>
|
||||
<id>32</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Организация</name>
|
||||
<id>34</id>
|
||||
@ -622,7 +576,6 @@
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
<allowFormCustomize>false</allowFormCustomize>
|
||||
<enabled>true</enabled>
|
||||
<showTitle>true</showTitle>
|
||||
<showCloseButton>true</showCloseButton>
|
||||
|
@ -30,7 +30,6 @@
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<balance>true</balance>
|
||||
</dimensions>
|
||||
<resources uuid="a44be632-022a-49e2-b349-4c5b20ff7951">
|
||||
@ -48,7 +47,6 @@
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<balance>true</balance>
|
||||
</resources>
|
||||
<forms uuid="0c785b4f-817e-45bc-b0eb-40e37d8e2fd7">
|
||||
|
@ -232,6 +232,7 @@
|
||||
<documents>Document.ПоступлениеДенег</documents>
|
||||
<documents>Document.ПриходТовара</documents>
|
||||
<documents>Document.РасходТовара</documents>
|
||||
<documents>Document.УстановкаЦен</documents>
|
||||
<documentJournals>DocumentJournal.ДокументыПродаж</documentJournals>
|
||||
<documentJournals>DocumentJournal.ФинансовыеДокументы</documentJournals>
|
||||
<enums>Enum.PushУведомления</enums>
|
||||
|
@ -0,0 +1,36 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
Процедура ОбработкаПроведения(Отказ,Режим)
|
||||
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
|
||||
//Данный фрагмент построен конструктором.
|
||||
//При повторном использовании конструктора, внесенные вручную данные будут утеряны!
|
||||
|
||||
// регистр ЦеныТоваров
|
||||
Движения.ЦеныТоваров.Записывать = Истина;
|
||||
|
||||
Для Каждого ТекСтрокаЦены Из Цены Цикл
|
||||
Движение = Движения.ЦеныТоваров.Добавить();
|
||||
Движение.Период = Дата;
|
||||
Движение.Товар = ТекСтрокаЦены.Товар;
|
||||
Движение.ВидЦен = ТекСтрокаЦены.ВидЦены;
|
||||
Движение.Цена = ТекСтрокаЦены.Цена;
|
||||
КонецЦикла;
|
||||
|
||||
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
|
||||
КонецПроцедуры
|
@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="04eea2d1-be03-4e82-93cc-901c2c6c13da">
|
||||
<producedTypes>
|
||||
<objectType typeId="a1846517-692a-4d70-89b5-411c7f1be049" valueTypeId="003d5395-cf4a-443f-997a-7d865a5f919b"/>
|
||||
<refType typeId="17713b39-2970-4bda-adac-55fcb08ce96b" valueTypeId="d332e0fa-4f46-42ea-a987-0b0c2f86276c"/>
|
||||
<selectionType typeId="c66b808c-2049-4729-9e6c-685c0bf69745" valueTypeId="9fbd852c-cc04-4535-be32-84a138663bac"/>
|
||||
<listType typeId="bc0212bf-0f02-4016-9571-47704ac429f3" valueTypeId="43ea92d5-92fe-4369-8f16-c70a647daf76"/>
|
||||
<managerType typeId="2e865a90-d103-4d83-a89c-e4630780838a" valueTypeId="92162b5b-c4df-42e5-b030-1f4ddf0a6e64"/>
|
||||
</producedTypes>
|
||||
<name>УстановкаЦен</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Установка цен</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<inputByString>Document.УстановкаЦен.StandardAttribute.Number</inputByString>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<numberType>String</numberType>
|
||||
<numberLength>9</numberLength>
|
||||
<numberAllowedLength>Variable</numberAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<registerRecords>InformationRegister.ЦеныТоваров</registerRecords>
|
||||
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||
<tabularSections uuid="1ffa2f0b-e0b5-4c87-9c69-826e4750162a">
|
||||
<producedTypes>
|
||||
<objectType typeId="e3f2edc7-cde6-4e71-a097-4ec23797eeaf" valueTypeId="be4ceb77-b3c8-4f3d-a6ef-e1c47ede3ce0"/>
|
||||
<rowType typeId="9006ab15-8748-4bb0-aac1-fb9de507b1d9" valueTypeId="e84884af-e925-4d2c-ab53-dff6458ab951"/>
|
||||
</producedTypes>
|
||||
<name>Цены</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Цены</value>
|
||||
</synonym>
|
||||
<attributes uuid="d5d8d3fa-3043-4649-8868-82dfa298fe11">
|
||||
<name>Товар</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Товар</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Товары</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="e5185013-c3e0-46de-9ba1-d47a51dcf886">
|
||||
<name>ВидЦены</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Вид цены</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.ВидыЦен</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="73bf6af6-2b6b-437e-ab19-396ab21a9153">
|
||||
<name>Цена</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Цена</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Number</types>
|
||||
<numberQualifiers>
|
||||
<precision>10</precision>
|
||||
<scale>2</scale>
|
||||
</numberQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
</attributes>
|
||||
</tabularSections>
|
||||
</mdclass:Document>
|
@ -0,0 +1,41 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ПередЗаписью(Отказ, Замещение)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Строка Из ЭтотОбъект Цикл
|
||||
|
||||
Если Строка.Курс <= 0 Тогда
|
||||
ВызватьИсключение НСтр("ru='Курс не может быть отрицательным или нулем';en='Exchange rate cannot be negative or zero'");
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
@ -24,7 +24,6 @@
|
||||
<name>Active</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -34,7 +33,6 @@
|
||||
<name>LineNumber</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -44,7 +42,6 @@
|
||||
<name>Recorder</name>
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -55,7 +52,6 @@
|
||||
<comment></comment>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<mask></mask>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
@ -96,7 +92,6 @@
|
||||
<numberQualifiers>
|
||||
<precision>10</precision>
|
||||
<scale>2</scale>
|
||||
<nonNegative>true</nonNegative>
|
||||
</numberQualifiers>
|
||||
</type>
|
||||
<toolTip>
|
||||
@ -109,13 +104,9 @@
|
||||
</minValue>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<quickChoice>DontUse</quickChoice>
|
||||
<createOnInput>Use</createOnInput>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillValue xsi:type="core:NumberValue">
|
||||
<value>0</value>
|
||||
</fillValue>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
</resources>
|
||||
<dimensions uuid="ea36350e-96f1-480f-a16a-1dab6bfedf9e">
|
||||
<name>Валюта</name>
|
||||
@ -136,7 +127,6 @@
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillChecking>ShowError</fillChecking>
|
||||
<denyIncompleteValues>true</denyIncompleteValues>
|
||||
<fullTextSearch>DontUse</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fillFromFillingValue>true</fillFromFillingValue>
|
||||
<fillValue xsi:type="core:ReferenceValue">
|
||||
|
@ -1,243 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Период</name>
|
||||
<id>13</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Запись.Period</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ПериодРасширеннаяПодсказка</name>
|
||||
<id>3</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПериодКонтекстноеМеню</name>
|
||||
<id>2</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Товар</name>
|
||||
<id>4</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Запись.Товар</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ТоварРасширеннаяПодсказка</name>
|
||||
<id>6</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТоварКонтекстноеМеню</name>
|
||||
<id>5</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВидЦен</name>
|
||||
<id>7</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Запись.ВидЦен</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ВидЦенРасширеннаяПодсказка</name>
|
||||
<id>9</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВидЦенКонтекстноеМеню</name>
|
||||
<id>8</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Цена</name>
|
||||
<id>10</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Запись.Цена</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ЦенаРасширеннаяПодсказка</name>
|
||||
<id>12</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЦенаКонтекстноеМеню</name>
|
||||
<id>11</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
</extInfo>
|
||||
</items>
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<windowOpeningMode>LockOwnerWindow</windowOpeningMode>
|
||||
<autoTitle>true</autoTitle>
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
<allowFormCustomize>false</allowFormCustomize>
|
||||
<enabled>true</enabled>
|
||||
<showTitle>true</showTitle>
|
||||
<showCloseButton>true</showCloseButton>
|
||||
<attributes>
|
||||
<name>Запись</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>InformationRegisterRecordManager.ЦеныТоваров</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<main>true</main>
|
||||
<savedData>true</savedData>
|
||||
</attributes>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:InformationRegisterManagerFormExtInfo"/>
|
||||
</form:Form>
|
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Settings xmlns="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" 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:dcscor="http://v8.1c.ru/8.1/data-composition-system/core">
|
||||
<filter>
|
||||
<viewMode>Normal</viewMode>
|
||||
<userSettingID>8450ccec-2746-4ac4-8058-01be7feed729</userSettingID>
|
||||
</filter>
|
||||
<order>
|
||||
<viewMode>Normal</viewMode>
|
||||
<userSettingID>53af573d-5d8e-44c6-a55b-8f7631c4e45e</userSettingID>
|
||||
</order>
|
||||
<conditionalAppearance>
|
||||
<viewMode>Normal</viewMode>
|
||||
<userSettingID>7b7e7a34-b35a-4669-9903-b382d64d8e64</userSettingID>
|
||||
</conditionalAppearance>
|
||||
<itemsViewMode>Normal</itemsViewMode>
|
||||
<itemsUserSettingID>38779193-b7c6-42b1-ba56-93fe0878477b</itemsUserSettingID>
|
||||
</Settings>
|
@ -0,0 +1,562 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>СписокКомпоновщикНастроекПользовательскиеНастройки</name>
|
||||
<id>34</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Настройки пользователя</value>
|
||||
</title>
|
||||
<verticalStretch>false</verticalStretch>
|
||||
<extendedTooltip>
|
||||
<name>СписокКомпоновщикНастроекПользовательскиеНастройкиРасширеннаяПодсказка</name>
|
||||
<id>2</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<type>UsualGroup</type>
|
||||
<extInfo xsi:type="form:UsualGroupExtInfo">
|
||||
<group>Vertical</group>
|
||||
<representation>WeakSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>DontUse</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:Table">
|
||||
<name>Список</name>
|
||||
<id>3</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список</segments>
|
||||
</dataPath>
|
||||
<defaultItem>true</defaultItem>
|
||||
<titleLocation>None</titleLocation>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Период</name>
|
||||
<id>16</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Period</segments>
|
||||
</dataPath>
|
||||
<defaultItem>true</defaultItem>
|
||||
<extendedTooltip>
|
||||
<name>ПериодРасширеннаяПодсказка</name>
|
||||
<id>18</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПериодКонтекстноеМеню</name>
|
||||
<id>17</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Регистратор</name>
|
||||
<id>19</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Recorder</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>РегистраторРасширеннаяПодсказка</name>
|
||||
<id>21</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>РегистраторКонтекстноеМеню</name>
|
||||
<id>20</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>НомерСтроки</name>
|
||||
<id>22</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.LineNumber</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>НомерСтрокиРасширеннаяПодсказка</name>
|
||||
<id>24</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>НомерСтрокиКонтекстноеМеню</name>
|
||||
<id>23</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Товар</name>
|
||||
<id>25</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Товар</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ТоварРасширеннаяПодсказка</name>
|
||||
<id>27</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ТоварКонтекстноеМеню</name>
|
||||
<id>26</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ВидЦен</name>
|
||||
<id>28</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.ВидЦен</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ВидЦенРасширеннаяПодсказка</name>
|
||||
<id>30</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ВидЦенКонтекстноеМеню</name>
|
||||
<id>29</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Цена</name>
|
||||
<id>31</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Список.Цена</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ЦенаРасширеннаяПодсказка</name>
|
||||
<id>33</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЦенаКонтекстноеМеню</name>
|
||||
<id>32</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>LabelField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:LabelFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<commandBarLocation>None</commandBarLocation>
|
||||
<autoCommandBar>
|
||||
<name>СписокКоманднаяПанель</name>
|
||||
<id>5</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</autoCommandBar>
|
||||
<searchStringAddition>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<name>СписокСтрокаПоиска</name>
|
||||
<id>7</id>
|
||||
<extendedTooltip>
|
||||
<name>СписокСтрокаПоискаРасширеннаяПодсказка</name>
|
||||
<id>9</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокСтрокаПоискаКонтекстноеМеню</name>
|
||||
<id>8</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<source>СписокСтрокаПоиска</source>
|
||||
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</searchStringAddition>
|
||||
<viewStatusAddition>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<name>СписокСостояниеПросмотра</name>
|
||||
<id>10</id>
|
||||
<extendedTooltip>
|
||||
<name>СписокСостояниеПросмотраРасширеннаяПодсказка</name>
|
||||
<id>12</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокСостояниеПросмотраКонтекстноеМеню</name>
|
||||
<id>11</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>ViewStatusAddition</type>
|
||||
<source>СписокСостояниеПросмотра</source>
|
||||
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</viewStatusAddition>
|
||||
<searchControlAddition>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<name>СписокУправлениеПоиском</name>
|
||||
<id>13</id>
|
||||
<extendedTooltip>
|
||||
<name>СписокУправлениеПоискомРасширеннаяПодсказка</name>
|
||||
<id>15</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокУправлениеПоискомКонтекстноеМеню</name>
|
||||
<id>14</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>SearchControlAddition</type>
|
||||
<source>СписокУправлениеПоиском</source>
|
||||
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
</extInfo>
|
||||
</searchControlAddition>
|
||||
<extendedTooltip>
|
||||
<name>СписокРасширеннаяПодсказка</name>
|
||||
<id>6</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СписокКонтекстноеМеню</name>
|
||||
<id>4</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<changeRowSet>true</changeRowSet>
|
||||
<changeRowOrder>true</changeRowOrder>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<autoMaxRowsCount>true</autoMaxRowsCount>
|
||||
<selectionMode>MultiRow</selectionMode>
|
||||
<header>true</header>
|
||||
<headerHeight>1</headerHeight>
|
||||
<footerHeight>1</footerHeight>
|
||||
<horizontalScrollBar>AutoUse</horizontalScrollBar>
|
||||
<verticalScrollBar>AutoUse</verticalScrollBar>
|
||||
<horizontalLines>true</horizontalLines>
|
||||
<verticalLines>true</verticalLines>
|
||||
<useAlternationRowColor>true</useAlternationRowColor>
|
||||
<searchOnInput>Auto</searchOnInput>
|
||||
<initialListView>Auto</initialListView>
|
||||
<initialTreeView>ExpandTopLevel</initialTreeView>
|
||||
<horizontalStretch>true</horizontalStretch>
|
||||
<verticalStretch>true</verticalStretch>
|
||||
<enableStartDrag>true</enableStartDrag>
|
||||
<enableDrag>true</enableDrag>
|
||||
<rowPictureDataPath xsi:type="form:DataPath">
|
||||
<segments>Список.DefaultPicture</segments>
|
||||
</rowPictureDataPath>
|
||||
<extInfo xsi:type="form:DynamicListTableExtInfo">
|
||||
<autoRefreshPeriod>60</autoRefreshPeriod>
|
||||
<period>
|
||||
<startDate>0001-01-01T00:00:00</startDate>
|
||||
<endDate>0001-01-01T00:00:00</endDate>
|
||||
</period>
|
||||
<topLevelParent xsi:type="core:UndefinedValue"/>
|
||||
<showRoot>true</showRoot>
|
||||
<userSettingsGroup>СписокКомпоновщикНастроекПользовательскиеНастройки</userSettingsGroup>
|
||||
</extInfo>
|
||||
</items>
|
||||
<autoCommandBar>
|
||||
<name>ФормаКоманднаяПанель</name>
|
||||
<id>-1</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
<autoTitle>true</autoTitle>
|
||||
<autoUrl>true</autoUrl>
|
||||
<group>Vertical</group>
|
||||
<autoFillCheck>true</autoFillCheck>
|
||||
<enabled>true</enabled>
|
||||
<showTitle>true</showTitle>
|
||||
<showCloseButton>true</showCloseButton>
|
||||
<attributes>
|
||||
<name>Список</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>DynamicList</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
</view>
|
||||
<edit>
|
||||
<common>true</common>
|
||||
</edit>
|
||||
<main>true</main>
|
||||
<extInfo xsi:type="form:DynamicListExtInfo">
|
||||
<mainTable>InformationRegister.ЦеныТоваров</mainTable>
|
||||
<dynamicDataRead>true</dynamicDataRead>
|
||||
<autoFillAvailableFields>true</autoFillAvailableFields>
|
||||
<autoSaveUserSettings>true</autoSaveUserSettings>
|
||||
<getInvisibleFieldPresentations>true</getInvisibleFieldPresentations>
|
||||
</extInfo>
|
||||
</attributes>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:DynamicListFormExtInfo"/>
|
||||
</form:Form>
|
@ -18,7 +18,7 @@
|
||||
<dataHistory>Use</dataHistory>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<editType>InDialog</editType>
|
||||
<defaultRecordForm>InformationRegister.ЦеныТоваров.Form.ФормаЗаписи</defaultRecordForm>
|
||||
<defaultListForm>InformationRegister.ЦеныТоваров.Form.ФормаСписка</defaultListForm>
|
||||
<standardAttributes>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<name>Active</name>
|
||||
@ -57,6 +57,7 @@
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</standardAttributes>
|
||||
<informationRegisterPeriodicity>Day</informationRegisterPeriodicity>
|
||||
<writeMode>RecorderSubordinate</writeMode>
|
||||
<mainFilterOnPeriod>true</mainFilterOnPeriod>
|
||||
<includeHelpInContents>true</includeHelpInContents>
|
||||
<help>
|
||||
@ -153,11 +154,11 @@
|
||||
</fillValue>
|
||||
<mainFilter>true</mainFilter>
|
||||
</dimensions>
|
||||
<forms uuid="48a2125e-1ffb-4cf7-8986-1df6c0e39123">
|
||||
<name>ФормаЗаписи</name>
|
||||
<forms uuid="7a5e9417-fef0-4e2d-b2cf-43a00d73f0b8">
|
||||
<name>ФормаСписка</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Форма записи</value>
|
||||
<value>Форма списка</value>
|
||||
</synonym>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usePurposes>MobileDevice</usePurposes>
|
||||
|
@ -313,7 +313,11 @@
|
||||
.Прогон()
|
||||
;
|
||||
|
||||
Регистратор = ЮТест.Данные().СоздатьДокумент(Документы.УстановкаЦен);
|
||||
|
||||
НаборЗаписей = РегистрыСведений.ЦеныТоваров.СоздатьНаборЗаписей();
|
||||
НаборЗаписей.Отбор.Регистратор.Установить(Регистратор);
|
||||
|
||||
ЮТест.ОжидаетЧто(НаборЗаписей)
|
||||
.Метод("ПроверитьЗаполнение")
|
||||
.НеВыбрасываетИсключение()
|
||||
@ -330,6 +334,7 @@
|
||||
// Через набор записей
|
||||
Мокито.Сбросить();
|
||||
НаборЗаписей2 = РегистрыСведений.ЦеныТоваров.СоздатьНаборЗаписей();
|
||||
НаборЗаписей2.Отбор.Регистратор.Установить(Регистратор);
|
||||
|
||||
Мокито.Обучение(НаборЗаписей)
|
||||
.Наблюдать("ПередЗаписью")
|
||||
|
@ -235,10 +235,11 @@
|
||||
.Свойство("Товар").Равно(ДанныеОбъекта.Товары[0].Товар);
|
||||
|
||||
// Регистры
|
||||
Курс = ЮТест.Данные().СлучайноеПоложительноеЧисло(99999);
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют")
|
||||
.Фикция("Период")
|
||||
.Фикция("Валюта")
|
||||
.Фикция("Курс");
|
||||
.Установить("Курс", Курс);
|
||||
Конструктор.Записать();
|
||||
ДанныеОбъекта = Конструктор.ДанныеОбъекта();
|
||||
|
||||
@ -247,7 +248,7 @@
|
||||
|
||||
ЮТест.ОжидаетЧто(ДанныеЗаписи)
|
||||
.Свойство("Валюта").Равно(ДанныеОбъекта.Валюта)
|
||||
.Свойство("Курс").Равно(ДанныеОбъекта.Курс);
|
||||
.Свойство("Курс").Равно(Курс);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -132,9 +132,10 @@
|
||||
|
||||
Процедура СоздатьЗаписьРегистраСведений() Экспорт
|
||||
|
||||
Курс = ЮТест.Данные().СлучайноеПоложительноеЧисло(99999);
|
||||
Результат = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют")
|
||||
.Фикция("Валюта")
|
||||
.Фикция("Курс")
|
||||
.Установить("Курс", Курс)
|
||||
.Установить("Период", ТекущаяДата())
|
||||
.Записать();
|
||||
|
||||
@ -146,11 +147,12 @@
|
||||
|
||||
Процедура СоздатьЗаписьРегистраСведений_ОбменДанными() Экспорт
|
||||
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("РегистрСведений.ЦеныТоваров")
|
||||
ИмяРегистра = "РегистрСведений.КурсыВалют";
|
||||
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта(ИмяРегистра)
|
||||
.Фикция("Период")
|
||||
.Фикция("Товар")
|
||||
.Фикция("ВидЦен")
|
||||
.Установить("Цена", -1);
|
||||
.Фикция("Валюта")
|
||||
.Установить("Курс", -1);
|
||||
|
||||
ДанныеОбъекта = Конструктор.ДанныеОбъекта();
|
||||
|
||||
@ -158,12 +160,12 @@
|
||||
.Метод("Записать").Параметр(Ложь).Параметр(Истина)
|
||||
.НеВыбрасываетИсключение();
|
||||
|
||||
ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.ЦеныТоваров")
|
||||
ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра)
|
||||
.СодержитЗаписи(ЮТест.Предикат(ДанныеОбъекта));
|
||||
|
||||
ЮТест.ОжидаетЧто(Конструктор)
|
||||
.Метод("Записать")
|
||||
.ВыбрасываетИсключение("Цена товара не может быть отрицательной");
|
||||
.ВыбрасываетИсключение("Курс не может быть отрицательным или нулем");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
@ -628,11 +628,12 @@
|
||||
Процедура УстановитьФоновуюБлокировку() Экспорт
|
||||
|
||||
Валюта = ЮТест.Данные().СоздатьЭлемент(Справочники.Валюты);
|
||||
Курс = ЮТест.Данные().СлучайноеПоложительноеЧисло(99999);
|
||||
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("РегистрСведений.КурсыВалют")
|
||||
.Установить("Валюта", Валюта)
|
||||
.Фикция("Период")
|
||||
.Фикция("Курс");
|
||||
.Установить("Курс", Курс);
|
||||
|
||||
Блокировка = Новый БлокировкаДанных();
|
||||
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.КурсыВалют");
|
||||
|
@ -88,10 +88,13 @@
|
||||
|
||||
Процедура УдалениеТестовыхДанныхРегистрСведений(Период) Экспорт
|
||||
|
||||
ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют").НеСодержитЗаписи(ЮТест.Предикат().Реквизит("Период").Равно(Период));
|
||||
ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют")
|
||||
.НеСодержитЗаписи(ЮТест.Предикат()
|
||||
.Реквизит("Период").Равно(Период));
|
||||
Курс = ЮТест.Данные().СлучайноеПоложительноеЧисло(99999);
|
||||
ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют")
|
||||
.Фикция("Валюта")
|
||||
.Фикция("Курс")
|
||||
.Установить("Курс", Курс)
|
||||
.Установить("Период", Период)
|
||||
.Записать();
|
||||
|
||||
|
@ -42,16 +42,18 @@
|
||||
Конструктор.Записать();
|
||||
ДанныеСправочника = Конструктор.ДанныеОбъекта();
|
||||
|
||||
Курс = ЮТест.Данные().СлучайноеПоложительноеЧисло(99999);
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют")
|
||||
.Фикция("Валюта")
|
||||
.Фикция("Период")
|
||||
.Фикция("Курс");
|
||||
.Установить("Курс", Курс);
|
||||
|
||||
ДанныеРегистра = Конструктор.ДанныеОбъекта();
|
||||
Конструктор.Записать();
|
||||
|
||||
Конструктор
|
||||
.Фикция("Период")
|
||||
.Фикция("Курс")
|
||||
.Установить("Курс", Курс)
|
||||
.Записать();
|
||||
|
||||
ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары")
|
||||
|
@ -90,7 +90,7 @@
|
||||
|
||||
Наборы = ЮТЧитательСлужебный.ЗагрузитьТесты(ПараметрыЗапуска);
|
||||
ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы расширения tests")
|
||||
.ИмеетДлину(36);
|
||||
.ИмеетДлину(37);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
|
317
tests/src/CommonModules/Обр_ЮТКонструкторДвижений_МО/Module.bsl
Normal file
317
tests/src/CommonModules/Обр_ЮТКонструкторДвижений_МО/Module.bsl
Normal file
@ -0,0 +1,317 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура ИсполняемыеСценарии() Экспорт
|
||||
|
||||
ЮТТесты.ВТранзакции()
|
||||
.ДобавитьТест("Инициализировать")
|
||||
.ДобавитьТест("ДобавитьСтроку")
|
||||
.ДобавитьТест("Установить")
|
||||
.ДобавитьТест("Установить_Период")
|
||||
.ДобавитьТест("УстановитьРеквизиты")
|
||||
.ДобавитьТест("Фикция")
|
||||
.ДобавитьТест("ФикцияРеквизитов")
|
||||
.ДобавитьТест("ФикцияОбязательныхПолей")
|
||||
.ДобавитьТест("Записать_РегистрСведений")
|
||||
.ДобавитьТест("Записать_РегистрНакопления")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Инициализировать() Экспорт
|
||||
|
||||
// Создаем документ
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.ПриходТовара");
|
||||
|
||||
// Инициализируем конструктор движений
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ТоварныеЗапасы");
|
||||
|
||||
// Проверяем, что конструктор инициализирован
|
||||
ЮТест.ОжидаетЧто(Конструктор, "Конструктор должен быть инициализирован")
|
||||
.НеРавно(Неопределено);
|
||||
|
||||
// Проверяем, что данные конструктора пусты
|
||||
Данные = Конструктор.Данные();
|
||||
ЮТест.ОжидаетЧто(Данные, "Данные конструктора должны быть пустым массивом")
|
||||
.ИмеетТип("Массив")
|
||||
.Равно(Новый Массив);
|
||||
|
||||
ЮТест.ОжидаетЧто(ЮТест.Данные())
|
||||
.Метод("КонструкторДвижений", ЮТКоллекции.ЗначениеВМассиве(Документ, "НесуществующийРегистр"))
|
||||
.ВыбрасываетИсключение("Документ " + Документ + " не делает движений по регистру ""НесуществующийРегистр""");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ДобавитьСтроку() Экспорт
|
||||
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "Продажи");
|
||||
|
||||
ЮТест.ОжидаетЧто(Конструктор)
|
||||
.Метод("ДобавитьСтроку").НеВыбрасываетИсключение();
|
||||
|
||||
Данные = Конструктор.Данные();
|
||||
ЮТест.ОжидаетЧто(Данные)
|
||||
.Заполнено()
|
||||
.ИмеетТип("Массив")
|
||||
.ИмеетДлину(1)
|
||||
.Свойство(0)
|
||||
.ИмеетТип("Структура")
|
||||
.НеЗаполнено();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Установить() Экспорт
|
||||
|
||||
МаксимальноеЧисло = 99999;
|
||||
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
|
||||
Покупатель = ЮТест.Данные().СоздатьЭлемент("Справочники.Контрагенты");
|
||||
Сумма = ЮТест.Данные().СлучайноеПоложительноеЧисло(МаксимальноеЧисло);
|
||||
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "Продажи");
|
||||
|
||||
ЮТест.ОжидаетЧто(Конструктор)
|
||||
.Метод("Установить", ЮТКоллекции.ЗначениеВМассиве("Покупатель", Покупатель)).ВыбрасываетИсключение("Сначала необходимо добавить строку");
|
||||
|
||||
Конструктор
|
||||
.ДобавитьСтроку()
|
||||
.Установить("Покупатель", Покупатель)
|
||||
.Установить("Сумма", Сумма);
|
||||
Данные = Конструктор.ДанныеСтроки();
|
||||
ЮТест.ОжидаетЧто(Данные)
|
||||
.Заполнено()
|
||||
.Свойство("Покупатель").Равно(Покупатель)
|
||||
.Свойство("Сумма").Равно(Сумма);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Установить_Период() Экспорт
|
||||
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
|
||||
Период = ЮТест.Данные().СлучайнаяДата();
|
||||
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "Продажи")
|
||||
.ДобавитьСтроку()
|
||||
.ФикцияРеквизитов("Покупатель, Сумма")
|
||||
.Установить("Период", Период);
|
||||
|
||||
Данные = Конструктор.ДанныеСтроки();
|
||||
ЮТест.ОжидаетЧто(Данные, "Проверка данных записи")
|
||||
.Заполнено()
|
||||
.Свойство("Покупатель").Заполнено()
|
||||
.Свойство("Сумма").Заполнено()
|
||||
.Свойство("Период").Равно(Период);
|
||||
|
||||
Конструктор.Записать();
|
||||
ЗаписиРегистра = ЮТЗапросы.ДвиженияДокумента(Документ, "Продажи");
|
||||
ЮТест.ОжидаетЧто(ЗаписиРегистра, "Проверка сформированных движений")
|
||||
.Заполнено()
|
||||
.ИмеетДлину(1)
|
||||
.Что(ЗаписиРегистра[0])
|
||||
.Свойство("Покупатель").Заполнено()
|
||||
.Свойство("Сумма").Заполнено()
|
||||
.Свойство("Период").Равно(Период);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьРеквизиты() Экспорт
|
||||
|
||||
МаксимальноеЧисло = 99999;
|
||||
|
||||
// Создаем документ и контрагента
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
|
||||
Контрагент = ЮТест.Данные().СоздатьЭлемент("Справочники.Контрагенты");
|
||||
Сумма = ЮТест.Данные().СлучайноеПоложительноеЧисло(МаксимальноеЧисло);
|
||||
Количество = ЮТест.Данные().СлучайноеПоложительноеЧисло(МаксимальноеЧисло);
|
||||
|
||||
// Инициализируем конструктор движений
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "Продажи")
|
||||
.ДобавитьСтроку().УстановитьРеквизиты(Новый Структура);
|
||||
|
||||
ЮТест.ОжидаетЧто(Конструктор.ДанныеСтроки()).НеЗаполнено();
|
||||
|
||||
// Добавляем строку и устанавливаем реквизиты
|
||||
ЗначенияРеквизитов = Новый Структура("Покупатель, Сумма", Контрагент, Сумма);
|
||||
Конструктор.УстановитьРеквизиты(ЗначенияРеквизитов);
|
||||
|
||||
ЗначенияРеквизитов = Новый Структура("Количество", Количество);
|
||||
Конструктор.УстановитьРеквизиты(ЗначенияРеквизитов);
|
||||
|
||||
// Получаем данные строки
|
||||
Данные = Конструктор.ДанныеСтроки();
|
||||
|
||||
// Проверяем, что реквизиты установлены корректно
|
||||
ЮТест.ОжидаетЧто(Данные)
|
||||
.Заполнено("Данные конструктора должны быть заполнены структурой")
|
||||
.ИмеетТип("Структура")
|
||||
.Свойство("Покупатель").Равно(Контрагент, "Контрагент должен совпадать")
|
||||
.Свойство("Сумма").Равно(Сумма, "Сумма должна быть равна " + Сумма)
|
||||
.Свойство("Количество").Равно(Количество, "Количество должна быть равна " + Количество);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Фикция() Экспорт
|
||||
|
||||
// Создаем документ
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.ПриходТовара");
|
||||
|
||||
// Инициализируем конструктор движений
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ТоварныеЗапасы");
|
||||
|
||||
// Добавляем строку и устанавливаем фиктивное значение реквизита
|
||||
Конструктор.ДобавитьСтроку().Фикция("Товар");
|
||||
|
||||
// Получаем данные строки
|
||||
Данные = Конструктор.ДанныеСтроки();
|
||||
|
||||
// Проверяем, что реквизит "Номенклатура" заполнен
|
||||
ЮТест.ОжидаетЧто(Данные, "Данные строки должны быть заполнены")
|
||||
.Заполнено()
|
||||
.Свойство("Товар")
|
||||
.Заполнено("Номенклатура должна быть заполнена")
|
||||
.ИмеетТип("СправочникСсылка.Товары");
|
||||
|
||||
// Проверяем, что метод выбрасывает исключение
|
||||
МассивПараметров = ЮТКоллекции.ЗначениеВМассиве("НесуществующийРеквизит");
|
||||
ЮТест.ОжидаетЧто(Конструктор)
|
||||
.Метод("Фикция", МассивПараметров)
|
||||
.ВыбрасываетИсключение("`РегистрНакопления.ТоварныеЗапасы` не содержит реквизит `НесуществующийРеквизит`");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ФикцияРеквизитов() Экспорт
|
||||
|
||||
// Создаем документ
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.ПриходТовара");
|
||||
|
||||
// Инициализируем конструктор движений
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ТоварныеЗапасы");
|
||||
|
||||
// Добавляем строку и устанавливаем фиктивные значения реквизитов
|
||||
Конструктор.ДобавитьСтроку().ФикцияРеквизитов("Товар, Склад, Количество");
|
||||
|
||||
// Получаем данные строки
|
||||
Данные = Конструктор.ДанныеСтроки();
|
||||
|
||||
// Проверяем, что все реквизиты заполнены
|
||||
ЮТест.ОжидаетЧто(Данные, "Данные строки должны быть заполнены")
|
||||
.Заполнено()
|
||||
.Свойство("Товар")
|
||||
.Заполнено("Товар должн быть заполнен")
|
||||
.ИмеетТип("СправочникСсылка.Товары")
|
||||
.Свойство("Склад")
|
||||
.Заполнено("Склад должен быть заполнен")
|
||||
.ИмеетТип("СправочникСсылка.Склады")
|
||||
.Свойство("Количество")
|
||||
.Заполнено("Количество должено быть заполнено")
|
||||
.ИмеетТип("Число");
|
||||
|
||||
// Проверяем, что при указании несуществующих реквизитов выбрасывается исключение
|
||||
МассивПараметров = ЮТКоллекции.ЗначениеВМассиве("Несуществующий1");
|
||||
ЮТест.ОжидаетЧто(Конструктор)
|
||||
.Метод("ФикцияРеквизитов", МассивПараметров)
|
||||
.ВыбрасываетИсключение("`РегистрНакопления.ТоварныеЗапасы` не содержит реквизит `Несуществующий1`");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ФикцияОбязательныхПолей() Экспорт
|
||||
|
||||
// Создаем документ
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
|
||||
|
||||
// Инициализируем конструктор движений
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ТоварныеЗапасы");
|
||||
|
||||
// Добавляем строку и заполняем обязательные поля фиктивными значениями
|
||||
Конструктор.ДобавитьСтроку().ФикцияОбязательныхПолей();
|
||||
|
||||
// Получаем данные строки
|
||||
Данные = Конструктор.ДанныеСтроки();
|
||||
|
||||
// Получаем список обязательных полей из метаданных
|
||||
ОбязательныеПоля = ЮТКоллекции.ЗначениеВМассиве("Товар", "Склад");
|
||||
|
||||
// Проверяем, что все обязательные поля заполнены
|
||||
Утверждение = ЮТест.ОжидаетЧто(Данные);
|
||||
Для Каждого Поле Из ОбязательныеПоля Цикл
|
||||
Утверждение.Свойство(Поле)
|
||||
.Заполнено();
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Записать_РегистрСведений() Экспорт
|
||||
|
||||
МаксимальноеЧисло = 99999;
|
||||
|
||||
// Создаем документ "УстановкаЦен"
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.УстановкаЦен");
|
||||
Товар = ЮТест.Данные().СоздатьЭлемент("Справочники.Товары");
|
||||
ВидыЦены = ЮТест.Данные().СоздатьЭлемент("Справочники.ВидыЦен");
|
||||
Цена = ЮТест.Данные().СлучайноеПоложительноеЧисло(МаксимальноеЧисло);
|
||||
|
||||
// Инициализируем конструктор движений для регистра сведений "ЦеныТоваров"
|
||||
Конструктор = ЮТест.Данные().КонструкторДвижений(Документ, "ЦеныТоваров");
|
||||
// Добавляем строку и заполняем необходимые реквизиты
|
||||
Конструктор.ДобавитьСтроку().УстановитьРеквизиты(Новый Структура("Товар, ВидЦен, Цена", Товар, ВидыЦены, Цена));
|
||||
|
||||
// Записываем движения
|
||||
Конструктор.Записать();
|
||||
|
||||
// Проверяем, что движения были записаны в регистр сведений
|
||||
ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.ЦеныТоваров")
|
||||
.СодержитЗаписи(ЮТест.Предикат()
|
||||
.Реквизит("Регистратор").Равно(Документ));
|
||||
|
||||
// Получаем записи регистра движений документа
|
||||
ЗаписиРегистра = ЮТЗапросы.ДвиженияДокумента(Документ, "ЦеныТоваров");
|
||||
|
||||
// Проверяем, что движения были записаны в регистр сведений
|
||||
ЮТест.ОжидаетЧто(ЗаписиРегистра)
|
||||
.Заполнено()
|
||||
.ИмеетДлину(1)
|
||||
.Свойство("[0].Регистратор").Равно(Документ)
|
||||
.Свойство("[0].Товар").Равно(Товар)
|
||||
.Свойство("[0].ВидЦен").Равно(ВидыЦены)
|
||||
.Свойство("[0].Цена").Равно(Цена)
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура Записать_РегистрНакопления() Экспорт
|
||||
|
||||
// Создаем документ
|
||||
Документ = ЮТест.Данные().СоздатьДокумент("Документы.РасходТовара");
|
||||
|
||||
// Инициализируем конструктор движений
|
||||
ЮТест.Данные().КонструкторДвижений(Документ, "ТоварныеЗапасы")
|
||||
.ДобавитьСтроку()
|
||||
.ФикцияРеквизитов("Товар, Склад, Количество")
|
||||
.Записать();
|
||||
|
||||
ЮТест.ОжидаетЧтоТаблицаБазы("РегистрНакопления.ТоварныеЗапасы")
|
||||
.СодержитЗаписи(ЮТест.Предикат()
|
||||
.Реквизит("Регистратор").Равно(Документ));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="13a81a97-4c5c-4d9d-873f-993d3959eed7">
|
||||
<name>Обр_ЮТКонструкторДвижений_МО</name>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -30,6 +30,7 @@
|
||||
<commonModules>CommonModule.НастройкаYAxUnit</commonModules>
|
||||
<commonModules>CommonModule.Обр_ЮТHTTPСервисЗапрос</commonModules>
|
||||
<commonModules>CommonModule.Обр_ЮТRecordSet_МО</commonModules>
|
||||
<commonModules>CommonModule.Обр_ЮТКонструкторДвижений_МО</commonModules>
|
||||
<commonModules>CommonModule.Обр_ЮТКонструкторОбъектаXDTO_МО</commonModules>
|
||||
<commonModules>CommonModule.ОМ_ДТОткрытиеФормСлужебныйВызовСервера</commonModules>
|
||||
<commonModules>CommonModule.ОМ_Мокито</commonModules>
|
||||
|
@ -12,10 +12,7 @@
|
||||
<name>ЦеныТоваров</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:InformationRegisterExtension">
|
||||
<informationRegisterPeriodicity>Checked</informationRegisterPeriodicity>
|
||||
<writeMode>Checked</writeMode>
|
||||
<recordSetModule>Extended</recordSetModule>
|
||||
<managerModule>Extended</managerModule>
|
||||
</extension>
|
||||
<informationRegisterPeriodicity>Day</informationRegisterPeriodicity>
|
||||
</mdclass:InformationRegister>
|
||||
|
Loading…
Reference in New Issue
Block a user