1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2024-12-03 08:45:31 +02:00
Получение движений документа
This commit is contained in:
alkoleft 2023-09-14 23:24:04 +03:00
parent 14374497ab
commit 7729c63be5
4 changed files with 78 additions and 0 deletions

View File

@ -198,4 +198,32 @@
КонецФункции
// Возвращает коллекцию движений документа
//
// Параметры:
// Документ - ДокументСсылка
// ИмяРегистра - Строка - Короткое или полное имя регистра движений
//
// Возвращаемое значение:
// Массив из Структура - Движения документа для клиента
// ТаблицаЗначений - Движения документа для сервера
Функция ДвиженияДокумента(Документ, Знач ИмяРегистра) Экспорт
Если СтрНайти(ИмяРегистра, ".") = 0 Тогда
РегистрыДвижения = ЮТМетаданные.РегистрыДвиженийДокумента(Документ);
Если НЕ РегистрыДвижения.Свойство(ИмяРегистра) Тогда
ВызватьИсключение "Документ не делает движений по регистру " + ИмяРегистра;
КонецЕсли;
ИмяРегистра = РегистрыДвижения[ИмяРегистра];
КонецЕсли;
Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ);
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*");
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь);
КонецФункции
#КонецОбласти

View File

@ -102,4 +102,24 @@
КонецФункции
// Возвращяет набор регистров движений документа
//
// Параметры:
// Документ - ОбъектМетаданных
// - Тип - Тип объекта информационной базы
// - Строка - Полное имя объекта метаданных
// - см. ОписаниеОбъектаМетаданных
// - ДокументСсылка, ДокументОбъект - Объект информационной базы
// - ДокументМенеджер - Менеджер вида документа
//
// Возвращаемое значение:
// Структура - Регистры движений документа. Ключи - Имя регистра, Значение - Полное имя регистра
Функция РегистрыДвиженийДокумента(Документ) Экспорт
ОписаниеОбъектаМетаданных = ОписаниеОбъектаМетаданных(Документ);
Возврат ЮТМетаданныеПовтИсп.РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных);
КонецФункции
#КонецОбласти

View File

@ -49,4 +49,10 @@
КонецФункции
Функция РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных) Экспорт
Возврат ЮТМетаданныеСервер.РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных);
КонецФункции
#КонецОбласти

View File

@ -229,6 +229,26 @@
КонецФункции
Функция РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных) Экспорт
ОбъектМетаданных = ОбъектМетаданных(ОписаниеОбъектаМетаданных);
Если НЕ Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
ВызватьИсключение "Движения доступны только для документов";
КонецЕсли;
Регистры = Новый Структура;
Для Каждого Регистр Из ОбъектМетаданных.Движения Цикл
Регистры.Вставить(Регистр.Имя, Регистр.ПолноеИмя());
КонецЦикла;
Возврат Регистры;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -259,6 +279,10 @@
КонецЕсли;
ИначеЕсли ТипЗначение = Тип("Структура") И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда
ОбъектМетаданных = Метаданные[Значение.ОписаниеТипа.ИмяКоллекции][Значение.Имя];
Иначе
ОбъектМетаданных = Неопределено;