Имя: Пароль:
1C
 
Как синтаксически правильно написать?
0 Босечка
 
06.05.15
11:10
Об="";
    Т=ЭтотОбъект.ВидыДокументов;    
    Для Каждого стр из Т цикл
        Если стр.пометка=истина тогда
        Об=Стр.объект;    
        Конецесли;    
    Конеццикла;    

    Докум=Документы."+Об+".Выбрать(НачалоПериода,КонецПериода);

ругается на


{Форма.Форма.Форма(338,18)}: Ожидается идентификатор
    Докум=Документы.<<?>>"+Об+".Выбрать(НачалоПериода,КонецПериода); (Проверка: Толстый клиент (обычное приложение))
1 SashaNox
 
06.05.15
11:13
Докумены[Об].Выбрать(...), может так?
2 Drac0
 
06.05.15
11:13
Если Об - это строковое имя метаданных документа, то:

Докум=Документы[Об].Выбрать(НачалоПериода,КонецПериода);
3 fisher
 
06.05.15
11:16
Синтаксически правильно делать это запросом.
4 Босечка
 
06.05.15
11:18
все проехало спасибо.
5 Босечка
 
06.05.15
11:19
(3) а запросом как? конструктор в этом случае не работает
6 fisher
 
06.05.15
11:53
(5) Да, конструктор в общем случае не работает, т.к. текст запроса надо формировать динамически. Но для простых случаев, чтобы и вашим и нашим - можно легко выкрутиться. Если у тебя по отдельному запросу на каждый вид документов, то можно написать "конструкторосовместимый" запрос для одного вида документов, а для остальных модифицировать его через СтрЗаменить().