Имя: Пароль:
1C
1С v8
Как задать условие, чтобы в результат попали документы только определенных типов?
0 dark70
 
30.03.23
14:40
Есть список значений где
"Документ.АвансовыйОтчет"
"Документ.ВозвратНДФЛ"
и т.д.
Как в запросе наложить условие, чтобы попали документы только определенных типов ?
Если бы один, тогда Регистратор ССЫЛКА Документ.АвансовыйОтчет
А как проверить на вхождение в список ?
1 Волшебник
 
модератор
30.03.23
14:41
Регистратор ССЫЛКА Документ.АвансовыйОтчет
ИЛИ
Регистратор ССЫЛКА Документ.ВозвратНДФЛ
2 Garykom
 
гуру
30.03.23
14:41
Лучше всего СЗ переделать на ТЗ и передать как ВТ
Затем в запросе соединить по ссылке с нужными доками
3 Garykom
 
гуру
30.03.23
14:43
(0) В списке значений у тебя ссылки на сами документы или их типы?
Если типы то какие ОписаниеТипов или ИдентификаторыОбъектовМетаданных?
4 dark70
 
30.03.23
14:44
(3) Типы. Идентификаторы
5 Garykom
 
гуру
30.03.23
14:45
(4) ну вот и соедини
аля ТипЗначения(Документы.Ссылка) = ТипЗначения(Идентификаторы.ЗначениеПустойСсылки)
6 dark70
 
30.03.23
14:47
Могу вот так заполнить список
Для Каждого Документ Из Метаданные.Документы Цикл
а там имя, например.
7 SleepyHead
 
гуру
30.03.23
15:34
(0) "А как проверить на вхождение в список ?"

ТипЗначения(регистратор) В (Тип(Документ.АвансовыйОтчет), Тип(Документ.ххх), Тип(Документ.ннннн))
8 dark70
 
30.03.23
16:04
Не, там пользователь будет выбирать типы документов.
9 Новый1сник2
 
30.03.23
16:13
(0) СЗ в массив ? вариант
10 KJlag
 
30.03.23
16:17
(8) ТипЗначения(регистратор) В (&список)  ?
список - массив твоих типов
11 Garykom
 
гуру
30.03.23
16:20
Кто рекомендует В () вместо ТЗ>ВТ и соединения

Подскажите как потом реквизиты разных получать?
12 Новый1сник2
 
30.03.23
16:23
(0) озвучьте полную задачу
13 dark70
 
30.03.23
16:26
(12) На форме список всех типов документов. Пользователь проставляет галки напротив нужных.
Жмет "заполнить", основная таблица заполняется документами выбранных типов.
14 dark70
 
30.03.23
16:30
Выборка из Последовательности.
15 Новый1сник2
 
30.03.23
16:30
(13) документами или еще какие то реквизиты будут? если только документы, думаю массив подойдет для этой задачи
16 dark70
 
30.03.23
16:32
Только документами.
Массив попробовал, пишет ошибку, что или несоотв-е типов или неогранич. длины.
17 Новый1сник2
 
30.03.23
16:39
(16) а массив как получили, если изначально список значений, то нужно преобразовать в массив
18 Garykom
 
гуру
30.03.23
16:41
19 dark70
 
30.03.23
16:43
(18) Да.
(17) Да, сначала на форме заполнил список, затем заполнил Массив.
20 dark70
 
30.03.23
16:45
(17) Уже не ругается, но и не заполняет.
ДокументыОрганизаций.Регистратор.Ссылка В(&Массив)
А Список заполняю так
Для Каждого Документ Из Метаданные.Документы Цикл
        Имя = сокрЛП("Документ."+Документ.Имя);
        СписокТипов.Добавить(Имя,Имя,Истина);
    КонецЦикла;
21 Garykom
 
гуру
30.03.23
16:49
(20) В твоей конфе есть Справочник ИдентификаторыОбъектовМетаданных ?
22 SleepyHead
 
гуру
30.03.23
16:50
(20) СписокТипов.Добавить(ТипЗнч(Имя),Имя,Истина);
23 Новый1сник2
 
30.03.23
16:53
(22) это СЗ будет? если да, то нужно еще будет выгрузить Массив = СписокТипов.ВыгрузитьЗначения();
24 dark70
 
30.03.23
16:56
(21) Да.
25 KJlag
 
30.03.23
16:56
(20) СписокТипов = Документы.ТипВсеСсылки().Типы();
26 Garykom
 
гуру
30.03.23
17:00
(24) Ну так используй его вместо перебора метаданных
27 Garykom
 
гуру
30.03.23
17:01
(26)+ Если конечно не пишешь нечто универсальное под разные конфы без БСП
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс