Имя: Пароль:
1C
1С v8
Выборка документов с определенным складом
0 Coldboy
 
15.03.14
20:57
Здравствуйте. Хочу выбрать документы по определенным складам, проблема реквизит склад, везде бывает разные, где то СкладОтправитель, где-то допустим Точка. Как в запросе выбрать документы с типом склад? Хочу подменить в перемещение товаров документе, 2 таких реквизита, складОтправитель или складполучатель, нужно выбрать, документ, если есть хотя бы один реквизит с нужным складом. Как это в запросе все сделать? Делаю запрос через общую последовательность ..
1 Kookish
 
15.03.14
21:05
Вначале я ничего не понял.
Да и потом тоже ничего не понял.
2 Coldboy
 
15.03.14
21:06
(1) хочу выбрать документы с типом склад, с нужным мне складом. так понятно?
3 EugeniaK
 
15.03.14
21:08
(0) Прописать вручную в запросе, на какие поля ориентироваться.
Или обойти метаданные, если нужно универсально.
4 Coldboy
 
15.03.14
21:09
(3) хочу универсально. обойти метаданные. это то есть сначала выбрать все документы, а потом эту тз откатать?
5 Tateossian
 
15.03.14
21:10
(0) Собери запрос динамически через метаданные. Для перемещений напиши доп. условия.
6 Coldboy
 
15.03.14
21:11
(5) пример можно??
7 EugeniaK
 
15.03.14
21:12
(4) А как ты вообще собрался запрос ко всем документам делать?
При формировании запроса проверяешь программно, какие у этой таблицы реквизиты типа "Склад". По ним и ставишь условие.
8 Coldboy
 
15.03.14
21:14
"ВЫБРАТЬ
        |    ОбщаяПоследовательность.Регистратор,
        |    ОбщаяПоследовательность.Период,
        |    ОбщаяПоследовательность.Организация,
        |    ОбщаяПоследовательность.МоментВремени КАК МоментВремени
         |    Истина как Пометка
        |ИЗ
        |    Последовательность.ОбщаяПоследовательность КАК ОбщаяПоследовательность
        |ГДЕ
        |    ОбщаяПоследовательность.Период МЕЖДУ &НачДата И &КонДата
        |    И ОбщаяПоследовательность.Организация = &Организация"
9 Coldboy
 
15.03.14
21:15
примерно так)
10 Coldboy
 
15.03.14
21:15
(7) пример как проверить реквизит типа склад ...
11 CHerypga
 
15.03.14
21:19
А если отобрать все движения например в регистре ТоварыНаСкладах по этому складу?
12 Coldboy
 
15.03.14
21:20
конфа БП 2.0. но хочется что-то универсального.
13 Kookish
 
15.03.14
21:26
Может что-то вроде:

Для каждого Реквизит Из ДокументСсылка.Метаданные().Реквизиты Цикл
   Если ТипЗнч(Реквизит) = ТипЗнч("СправочникСсылка.Склады") Тогда
      Сообщить(Реквизит.Представление() + " имеет тип ""Склад""!!!");
   КонецЕсли;
КонецЦикла;
14 Coldboy
 
15.03.14
21:30
(13) это уже программано, а не запросом обрабатываешь)
15 Kookish
 
15.03.14
21:30
В третьей строке:
Если ТипЗнч(Реквизит) = Тип("СправочникСсылка.Склады") Тогда
16 Coldboy
 
15.03.14
21:30
(13) а как мне допустим целую группу складом, по типу В ИЕРАРХИИ ?
17 Kookish
 
15.03.14
21:30
(14) На основании этого формируешь запрос.
18 Coldboy
 
15.03.14
21:32
(17) всмысле формируют?  программно я тоже могут прогнать результаты запроса и сделать отбор. а в запросе бы все это как сделать?
19 Kookish
 
15.03.14
21:35
(18) Текст запроса формируешь. Сначала перебираешь все виды документов (перебор Метаданные.Документы), затем отбираешь нужные виды документов (или все), затем у каждого вида документов ищешь реквизиты типа "Склад", и на основании полученной информации строишь текст запроса. Чего тут неясного?
20 Coldboy
 
15.03.14
21:37
(19) а потом объендения все в единую таблицу?
21 Coldboy
 
15.03.14
21:40
хм, я думла над таким вариантом, но оке понял намек буду пробывать )
22 Coldboy
 
16.03.14
19:26
up?
23 Ksandr
 
16.03.14
19:37
Критерий отбора сделай аналогичный ДокументыПоДоговору
24 Coldboy
 
16.03.14
19:57
(23) что за документы по договору?