Доброе время суток. Помогите, пожалуйста. Стоит задача отобрать документы только те, где совпадает выбранная пользователем номенклатура, то есть если пользователь указал Номенклатура1, надо найти документы, где есть только Номенклатура1, а не все остальные документы, где кроме Номенклатура1 есть еще и другая Номенклатура откинуть. ТО есть отбор пользователя должен полностью совпадать с заведенной табличной части документа.
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
РеализацияТоваровУслугТовары.Номенклатура В (&Массив)
(1) не поняла про "и взять те, где второй документ есть нулл"
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка
ПОМЕСТИТЬ Отбор
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
РеализацияТоваровУслугТовары.Номенклатура В (&Массив)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Ссылка
ПОМЕСТИТЬ ВнеОтбора
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
Не РеализацияТоваровУслугТовары.Номенклатура В (&Массив)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Отбор.Ссылка КАК Ссылка
ИЗ
Отбор КАК Отбор
ЛЕВОЕ СОЕДИНЕНИЕ ВнеОтбора КАК ВнеОтбора
ПО Отбор.Ссылка = ВнеОтбора.Ссылка
(2) В массиве два товара: Иголка и Нитка. По такому отбору найдет расходные с двумя товарами: Иголка и Нитка (то что надо), но и любое сочетание, например, Иголка и катушка или Нитка и наперсток. Не катит
(6) Правильное в твоем (3). Но нужно условие как подсказано в (1):
ВЫБРАТЬ
Отбор.Ссылка КАК Ссылка,
ВнеОтбора.Ссылка
ИЗ
Отбор КАК Отбор
ЛЕВОЕ СОЕДИНЕНИЕ ВнеОтбора КАК ВнеОтбора
ПО Отбор.Ссылка = ВнеОтбора.Ссылка
ГДЕ
ВнеОтбора.Ссылка ЕСТЬ NULL
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший