Имя: Пароль:
1C
1С v8
КАк в запросе обратиться к документам двух видов
0 suvolod
 
13.12.12
08:25
Берем простейший запрос:

ВЫБРАТЬ
   ОтчетКомитентуОПродажахТовары.Номенклатура
ИЗ
   Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
ГДЕ
   ОтчетКомитентуОПродажахТовары.Ссылка = &Ссылка

Проблема - запрос может формироваться не только по документу ОтчетОРозничныхПродажах, но и РеализацияТоваровУслуг. Названия и ТЧ, и тех полей, которые мне нужно выбрать, в этих документах совпадают. Можно каким-то образом написать универсальный вариант запроса, чтобы он выбирал данные из ТЧ Товары по любому из двух документов.

В голову приходит только проверять ТипЗнч(Док), а затем парсить текст запроса: через СтрЗаменить менять одно название документа на другое... Но, может быть, есть способ проще?
1 Галахад
 
гуру
13.12.12
08:27
ВЫБРАТЬ
   Док.Номенклатура
ИЗ
   Документ."+ТипДок+".Товары КАК Док
ГДЕ
   Док.Ссылка = &Ссылка
2 kible
 
13.12.12
08:28
(0) Объединить?
3 suvolod
 
13.12.12
08:32
(1) Увы, это тоже подмена, да еще такая, после которой конструктор перестанет работать
(2) Объединить - это писать дубль запроса по каждому документу (а он на самом деле не ограничивается отбором только номенклатуры), да еще подставлять в качестве ссылки некорректную (например, на подзапрос по Отчету о розничных продажах - ссылку на РТиУ)
4 Живой Ископаемый
 
13.12.12
08:33
не надо писать запросы к ТЧ. для того чтобы унифицировать данные из документов имеющих разные наборы полей и ТЧ придумали регистры.
5 Повелитель
 
13.12.12
08:33
ВЫБРАТЬ
   ОтчетКомитентуОПродажахТовары.Номенклатура
ИЗ
   Документ.ОтчетКомитентуОПродажах.Товары КАК ОтчетКомитентуОПродажахТовары
ГДЕ
   ОтчетКомитентуОПродажахТовары.Ссылка = &Ссылка

Ну так же оставь, чтобы конструктор работал.
А внизу напиши.
Запрос.Текст = СтрЗаменить(Запрос.Текст,"Документ.ОтчетКомитентуОПродажах","НужныйДокумент")
6 suvolod
 
13.12.12
08:36
(4). Привет, Живой ископаемый :). Запросы к ТЧ иногда нужно писать. В моем случае - чтобы проверить что количество списываемого документом товара не превышает остаток.

(5). Я это об этом способе уже упоминал в (0). ни на что не претендую... просто думал, вдруг есть способ изящнее. Вот и запостил ветку
7 suvolod
 
13.12.12
08:46
ладно.. раз больше никто не пишет, значит, других вариантов нет.
8 Живой Ископаемый
 
13.12.12
15:16
2(6) И что, есть шансы что при списывании товара ты можешь не знать каким документом это делаешь?