Skip to content

Commit

Permalink
feat(data): конструктор движений документа
Browse files Browse the repository at this point in the history
  • Loading branch information
alkoleft committed Sep 21, 2024
1 parent c970efe commit 9bcb1a8
Show file tree
Hide file tree
Showing 14 changed files with 469 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2022 BIA-Technologies Limited Liability Company
// 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.
Expand Down Expand Up @@ -39,9 +39,9 @@
ДобавитьКолонку(Элемент.Ключ);
КонецЦикла;

ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), ОписаниеКоллекции);
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), ОписаниеКоллекции);

Возврат ЮТКонструкторКоллекции;
Возврат ЮТКонструкторКоллекцийСлужебныйКлиентСервер;

КонецФункции

Expand All @@ -54,7 +54,7 @@
ОписаниеКоллекции.Колонки.Добавить(ОписаниеКолонки);
ЮТОбщий.Инкремент(ОписаниеКоллекции.КоличествоРеквизитов);

Возврат ЮТКонструкторКоллекции;
Возврат ЮТКонструкторКоллекцийСлужебныйКлиентСервер;

КонецФункции

Expand Down Expand Up @@ -133,7 +133,7 @@

ОписаниеКоллекции.Данные.Добавить(Запись);

Возврат ЮТКонструкторКоллекции;
Возврат ЮТКонструкторКоллекцийСлужебныйКлиентСервер;

КонецФункции

Expand All @@ -160,7 +160,7 @@
// см. НовыйОписаниеКоллекции
Функция ОписаниеКоллекции()

Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста());
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());

КонецФункции

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="77eb74a9-f72f-4221-ae79-5ca4149f0e48">
<name>ЮТКонструкторКоллекций</name>
<name>ЮТКонструкторКоллекцийСлужебныйКлиентСервер</name>
<synonym>
<key>ru</key>
<value>Конструктор коллекций</value>
</synonym>
<clientManagedApplication>true</clientManagedApplication>
<server>true</server>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
</mdclass:CommonModule>
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@

КонецФункции

Функция ДанныеСтроки(Контекст) Экспорт
Функция ДанныеСтрокиТабличнойЧасти(Контекст) Экспорт

Если ПустаяСтрока(Контекст.ТекущаяТабличнаяЧасть) Тогда
Возврат Неопределено;
Expand All @@ -187,6 +187,16 @@

КонецФункции

Функция ДанныеСтрокиКоллекции(Контекст) Экспорт

Если ЗначениеЗаполнено(Контекст.Данные) Тогда
Возврат Контекст.Данные[Контекст.Данные.ВГраница()];
Иначе
ВызватьИсключение "Сначала необходимо добавить строку";
КонецЕсли;

КонецФункции

Функция ДанныеОбъекта(Контекст) Экспорт

Возврат Контекст.Данные;
Expand Down Expand Up @@ -216,6 +226,22 @@

КонецФункции

Функция ИнициализироватьКонструкторДвижений(Документ, ИмяРегистра) Экспорт

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
Конструктор = Обработки.ЮТКонструкторДвижений.Создать();
#Иначе
//@skip-check use-non-recommended-method
Конструктор = ПолучитьФорму("Обработка.ЮТКонструкторДвижений.Форма.КлиентскийКонструктор"); // BSLLS:GetFormMethod-off
#КонецЕсли

//@skip-check unknown-method-property
Конструктор.Инициализировать(Документ, ИмяРегистра);

Возврат Конструктор;

КонецФункции

#КонецОбласти

#Область СлужебныеПроцедурыИФункции
Expand Down Expand Up @@ -249,6 +275,18 @@

КонецФункции

Функция НовыйКонтекстКонструктораДвижений(Документ, ИмяРегистра) Экспорт

Контекст = Новый Структура();
Контекст.Вставить("Данные", Новый Массив());
Контекст.Вставить("Метаданные", ЮТМетаданные.ОписаниеРегистраДвиженийДокумента(Документ, ИмяРегистра));
Контекст.Вставить("ДополнительныеСвойства", Новый Структура());

//@skip-check constructor-function-return-section
Возврат Контекст;

КонецФункции

Функция ДанныеТабличнойЧасти(Контекст)

Возврат Контекст.Данные[Контекст.ТекущаяТабличнаяЧасть];
Expand Down Expand Up @@ -292,7 +330,7 @@

Функция Реквизиты(Контекст)

Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда
Если ФокусНаТабличнойЧасти(Контекст) Тогда
Возврат Контекст.Метаданные.ТабличныеЧасти[Контекст.ТекущаяТабличнаяЧасть];
Иначе
Возврат Контекст.Метаданные.Реквизиты;
Expand All @@ -306,7 +344,7 @@

Если НЕ Реквизиты.Свойство(ИмяРеквизита) Тогда
ИмяОсновнойТаблицы = ЮТМетаданные.НормализованноеИмяТаблицы(Контекст.Метаданные);
Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда
Если ФокусНаТабличнойЧасти(Контекст) Тогда
Пояснение = СтрШаблон("Табличная часть `%1.%2` не содержит реквизит `%3`", ИмяОсновнойТаблицы, Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита);
Иначе
Пояснение = СтрШаблон("`%1` не содержит реквизит `%2`", ИмяОсновнойТаблицы, ИмяРеквизита);
Expand All @@ -321,8 +359,10 @@

Функция ТекущаяЗапись(Контекст)

Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда
Возврат ДанныеСтроки(Контекст);
Если ФокусНаТабличнойЧасти(Контекст) Тогда
Возврат ДанныеСтрокиТабличнойЧасти(Контекст);
ИначеЕсли ЭтоКонструкторКоллекции(Контекст) Тогда
Возврат ДанныеСтрокиКоллекции(Контекст);
Иначе
Возврат Контекст.Данные;
КонецЕсли;
Expand All @@ -336,4 +376,16 @@

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

Функция ФокусНаТабличнойЧасти(Контекст)

Возврат Контекст.Свойство("ТекущаяТабличнаяЧасть") И ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть);

КонецФункции

Функция ЭтоКонструкторКоллекции(Контекст)

Возврат ЮТТипыДанныхСлужебный.ЭтоМассива(ТипЗнч(Контекст.Данные));

КонецФункции

#КонецОбласти
12 changes: 12 additions & 0 deletions exts/yaxunit/src/CommonModules/ЮТМетаданные/Module.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,18 @@

КонецФункции

Функция ОписаниеРегистраДвиженийДокумента(Документ, ИмяРегистра) Экспорт

ПолноеИмяРегистра = Неопределено;

Если НЕ РегистрыДвиженийДокумента(Документ).Свойство(ИмяРегистра, ПолноеИмяРегистра) Тогда
Возврат Неопределено;
КонецЕсли;

Возврат ОписаниеОбъектаМетаданных(ПолноеИмяРегистра);

КонецФункции

// Возвращает текущую версию тестового движка (YAxUnit)
//
// Возвращаемое значение:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -855,6 +855,12 @@

КонецФункции

Функция КонструкторДвижений(Документ, ИмяРегистра) Экспорт

Возврат ЮТКонструкторТестовыхДанныхСлужебный.ИнициализироватьКонструкторДвижений(Документ, ИмяРегистра);

КонецФункции

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда
// Возвращает конструктор создания объекта XDTO.
//
Expand Down
3 changes: 2 additions & 1 deletion exts/yaxunit/src/Configuration/Configuration.mdo
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@
<commonModules>CommonModule.ЮТКомпонентыСлужебныйВызовСервера</commonModules>
<commonModules>CommonModule.ЮТКомпонентыСлужебныйКлиент</commonModules>
<commonModules>CommonModule.ЮТКонструкторВариантов</commonModules>
<commonModules>CommonModule.ЮТКонструкторКоллекцийСлужебныйКлиентСервер</commonModules>
<commonModules>CommonModule.ЮТКонструкторТестовыхДанныхСлужебный</commonModules>
<commonModules>CommonModule.ЮТКонструкторКоллекций</commonModules>
<commonModules>CommonModule.ЮТКонтекстИсполненияСлужебныйКлиентСервер</commonModules>
<commonModules>CommonModule.ЮТКонтекстСлужебный</commonModules>
<commonModules>CommonModule.ЮТКонтекстСлужебныйВызовСервера</commonModules>
Expand Down Expand Up @@ -160,6 +160,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>
Expand Down
Loading

0 comments on commit 9bcb1a8

Please sign in to comment.