СКД проставляет отборы в виртуальные таблицы. Как отключить это?

1. zakkvanaxel 27 13.01.15 16:53 Сейчас в теме
СКД проставляет отборы в виртуальные таблицы.
В моём примере: имеется 2 виртуальные таблицы, разные регистры. В них есть измерение номенклатура. Если поставить отбор по номенклатуре, то СКД ставит в обе виртуальные таблицы условия. В одной таблице это необходимо, в другой НЕТ.
Как отключить или обойти это?

ВЫБРАТЬ
	ЗаменыОстаткиИОбороты.Номенклатура КАК Номенклатура
ПОМЕСТИТЬ вт1
ИЗ
	РегистрНакопления.Замены.ОстаткиИОбороты(, , , , ) КАК ЗаменыОстаткиИОбороты
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СвободныеОстаткиОстаткиИОбороты.Номенклатура
ПОМЕСТИТЬ вт2
ИЗ
	РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(, , , , ) КАК СвободныеОстаткиОстаткиИОбороты
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЕСТЬNULL(вт1.Номенклатура, вт2.Номенклатура) КАК Номенклатура
ИЗ
	вт1 КАК вт1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ вт2 КАК вт2
		ПО вт1.Номенклатура = вт2.Номенклатура
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Anton64 216 13.01.15 16:56 Сейчас в теме
в конструкторе запроса на закладке "компоновка данных" для поля номенклатура для каждого подзапроса введите разные псевдонимы на подзакладке "условия"
3. zakkvanaxel 27 14.01.15 10:41 Сейчас в теме
(2) Anton64, Это не помогает, пробовал. Например, если поставить в 2х таблицах псевдонимы "номенклатура1" и "номенклатура2", соответственно, то условия работают, НО НЕ В ВИРТУАЛЬНЫХ ТАБЛИЦАХ.
Если поставить отбор на номенклатуру, то картина не меняется, СКД всё равно в виртуальную таблицу ставит ограничение на всё.
4. PetroP 14.01.15 10:56 Сейчас в теме
(3) zakkvanaxel, открывайте в "компоновке данных" закладку "таблицы" и в параметрах виртуальных таблиц расставляйте свои псевдонимы.
5. spezc 784 14.01.15 11:01 Сейчас в теме
6. zakkvanaxel 27 14.01.15 13:00 Сейчас в теме
нашёл возможность
Если в ВТ вписать конструкцию
{(Номенклатура <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)) КАК Номенклатура}, тогда и этот код удаляет, и свой не проставляет. Пока не понял, почему так получается. Но в целом меня это устраивает
7. bashhhh 26 29.10.20 10:56 Сейчас в теме
(6) Мне не помогло. Кардинально решает эту проблему отключение Автозаполнение.
Эта штука добавляет автоматически отборы во все ВТ, где есть поля с таким именем.
mclay88; DennyPhilord; BrainWashed; +3 Ответить
8. max_zhilin 18.08.21 14:02 Сейчас в теме
Нет никакой (документированной) возможности отключить отбор по установленному автополю. Если и найдется, то это очевидно баг, требующий исправления.
Решение - не использовать поле, совпадающее по имени с измерением регистра. То есть СКД его автосоздаст, но нужно запретить его в отборах. Вместо него добавить явно поле с другим именем, например, "НоменклатураОтбор", и его явно прописать во всех где надо виртуальных таблицах. Отбор пользователю нужно делать по этому полю, для этого ему лучше дать псевдоним "Номенклатура".

    РегистрНакопления.Замены.ОстаткиИОбороты(, , , , {Номенклатура.* КАК НоменклатураОтбор}) КАК ЗаменыОстаткиИОбороты
Angel_19; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот