• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

В Журнале Получить Список Документов

  • Автор темы Дайнеко
  • Дата начала
Д

Дайнеко

Что-то тыкаюсь, а не вижу правильного решения.
Есть журнал Полный. Правда он совсем уж и полный. Поэтому для некоторой манипуляции нужно получить список видов документов, которые в него входят.

Конечно, есть решение неправильное. Ведь это же я сам их туда натыкал, так что я знаю ответ заранее. Могу и просто в программе их перечислить. Но по-правильному, надо получить эту коллекцию программно.
Осмотрел Основной реквизит формы - в нем ничего путного. Есть Отбор = "ВидДокумента", но он отключен.


P.s.
Интересно иногда получается: надо просто подумать, прежде чем писать. Пока писал, параллельно посмотрел в метаданные. Кажется, там ответ. Но заклинило на типах. Есть переменная ТипДока, содержащая Тип документа = Акт списания (не ОписаниеТипов). Как через нее выйти на символьное имя документа = "АктСписания".
 
A

Allexei

Так же через метаданные нельзя? Допустим получить таблицу значений с двумя колонками ИмяТипа и СинонимТипа, путем перебора метаданных(документов).ю а потом по синониму (Акт списания) найти ИмяТипа(АктСписания).
 
Д

Дайнеко

Так же через метаданные нельзя?
Почему нельзя? Именно так и сделал.
Объясню еще раз. Предыстория такова: Мне нужно построить Запрос. В тексте запроса перечислить все документы, входящие в данный журнал.

"Нельзя" я имел ввиду так: Запрос.Текст = "ВЫБРАТЬ ... Расходная.Склад, Приходная,Склад...." и написал руками все документы в этом журнале.

А надо список задействованных видов создать программно. Примерно вот так:
Код:
Типы = Метаданные.ЖурналыДокументов.Полный.СтандартныеРеквизиты.Ссылка.Тип.Типы();
Для н = 0 По Типы.ВГраница() Цикл
Тип = Типы[н];
ВидДока = ???
Запрос.Текст = Запрос.Текст + ВидДока.Значение + ".Склад";
КонецЦикла;		// н
Сейчас заклинило только на переменной "Тип". Просто нет пока уверенности в работе с типами.
Ее тип тоже = Тип. Значение, например, = Акт списания.
Задача: получить символьную строку со словом "АктСписания" (так он называется). Выражение Строка(Тип) выдает синоним документа.


путем перебора метаданных(документов)
Про перебор почти понял. Но подозрительно неправильно. Чует душа - должно быть просто выражение. Может и длинное.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!