Имя: Пароль:
1C
1C 7.7
v7: Как выбрать документы входящие в журнал
,
0 gugolovski
 
17.05.19
04:38
Похоже это должно мне вернуть список документов:

Метаданные.Журнал("СкладскиеДокументы").Состав

но эта конструкция возвращает нечто: МетаданныеСсылки.
Непонятно как из этого получить, нечто осязаемое.
1 gugolovski
 
17.05.19
05:34
Вижу есть 2 метода: Количество() и Получить()

вместо строкового "СкладскиеДокументы", подставлял числовой идентификатор.

,но:
Метаданные.Журнал("СкладскиеДокументы").Состав.Количество()
Метаданные.Журнал(13).Состав.Количество()
..возвращает 0. Хотя документы в журнале есть
2 Мимохожий Однако
 
17.05.19
07:05
Если получил количество, то его можно перебрать в цикле.
3 Rie
 
17.05.19
07:10
(0) Что такое "осязаемое"? Нужны сами документы? Или их метаданные (например, виды документов)?

// если сами документы, то что-то вроде
Запрос = "
ВЫБРАТЬ
|    СкладскиеДокументы.Ссылка КАК Ссылка
|ИЗ
|    ЖурналДокументов.СкладскиеДокументы КАК СкладскиеДокументы";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    ТекДок = Выборка.Ссылка; // и делай с ним, что душа пожелает
КонецЦикла;

// если виды документов
Для каждого метаДок из Метаданные.Журналы.СкладскиеДокументы.Состав Цикл
    Сообщить(метаДок.Имя+" входит в журнал!");
КонецЦикла;

(1) А если не методом глубоко научного тыка, а документацию почитать?
И да, это точно 7.7? :-)
4 vcv
 
17.05.19
07:12
Для Номер = 1 По Метаданные.Документ() Цикл
Если Метаданные.Документ(Номер).Журнал.Идентификатор = "СкладскиеДокументы" Тогда
...
КонецЕсли;
КонецЦикла;
5 vcv
 
17.05.19
07:14
Из описания:

Замечание 1
  Согласно принятым в 1Ц правилам документ м.б. только в одном обычном журнале. Для составления списка доков, которые показываются в ОБЫЧНОМ журнале, нужно перетряхнуть все доки и опросить в них поле ЖУРНАЛ. Если там указан идентификатор требуемого журнала, тогда его можно занести в формируемый список доков обычного журнала.
Замечание 2
  Список СОСТАВ содержит информацию только в том случае, если тип журнала - Дополнительный. В этом списке перечислены все документы, которые показываются в дополнительном журнале.
6 Мимохожий Однако
 
17.05.19
07:15
У документов есть
ИспользоватьЖурнал(<?>,);
Синтаксис:
ИспользоватьЖурнал(<Журнал>,<ФлагОгрПросм>)
Назначение:
Использовать журнал для отбора документов и доступа к графам.
Параметры:
<Журнал> - идентификатор журнала, который предполагается использовать для отбора документов и доступа к графам.
<ФлагОгрПросм> - необязательный параметр. Число: 1 - если выборка ограничивается документами, входящими в указанный журнал; 0 - если метод используется только для использования граф методом Графа. Значение по умолчанию 1.
7 gugolovski
 
17.05.19
07:19
(3) да, 7.7. а "для каждого из" это же вроде для 8-ки. Нужны виды документов. У меня две книжки "описание встроенного языка". Не смог там найти ничего про этот ".состав")
8 gugolovski
 
17.05.19
07:20
у журнала складских документов, тип "обычный"
9 gugolovski
 
17.05.19
07:28
(4) спасибо
10 gugolovski
 
17.05.19
07:30
(5) можете ссылку дать на ресурс, где это описание есть? если не сложно
11 vcv
 
17.05.19
07:45
(10) Ресурса не знаю
У меня файл Meta.als, "Метаданные-ред 2.2 (24/07/02) Моисеенко"
12 Мимохожий Однако
 
17.05.19
08:17
(10) Ctrl-F1
13 BalBess
 
20.05.19
06:43
(0) Это зависит от типа журнала
Если Дополнительный то через Состав
Если Обычный, то перебором всех документов и сравнением журнала документа с нужным тебе журналом
Если Общий, то через графы
сам недавно заморачивался этим, если будет нужно могу код скинуть
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший