Имя: Пароль:
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) Это зависит от типа журнала
Если Дополнительный то через Состав
Если Обычный, то перебором всех документов и сравнением журнала документа с нужным тебе журналом
Если Общий, то через графы
сам недавно заморачивался этим, если будет нужно могу код скинуть
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший