Столкнулся с проблемой. Необходимо запросом получить все штрихкода и цены номенклатуры по заданным параметрам, если таковые присутствуют.
Вот код:
тмпТипЦен = ЭлементыФормы.ТипЦен.Значение;
тмпТипМинЦен = ЭлементыФормы.ТипМинимальныхЦен.Значение;
Запрос = Новый Запрос;
Запрос.Текст="
|ВЫБРАТЬ
| ШК.Владелец.Ссылка КАК Номенклатура,
| ШК.Владелец.Весовой КАК Весовой,
| ШК.Владелец.БазоваяЕдиницаИзмерения КАК ЕдИзм,
| ШК.Штрихкод КАК ШтрКод,
| ЕСТЬNULL(ЦенНом.Цена,0) КАК Цена,
| ЕСТЬNULL(МинЦенНом.Цена,0.01) КАК МинЦена
|ИЗ
| РегистрСведений.Штрихкоды КАК ШК
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ЦеныНоменклатуры КАК ЦенНом
| ПО ШК.Владелец.Ссылка = ЦенНом.Номенклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ЦеныНоменклатуры КАК МинЦенНом
| ПО ШК.Владелец.Ссылка = МинЦенНом.Номенклатура.Ссылка
|ГДЕ
| ЦенНом.ТипЦен = &ТипЦен
| И
| МинЦенНом.ТипЦен = &ТипМинЦен";
Запрос.УстановитьПараметр("ТипЦен",тмпТипЦен);
Запрос.УстановитьПараметр("ТипМинЦен",тмпТипМинЦен);
Рез = Запрос.Выполнить().Выбрать();
По логике, должно возвращать все штрихкода, но возвращает лишь те, для номенклатуры которых установлены цены.
Платформа 8.2.13.219
Посидел помучился. Вобщем если у кого будет такая же проблема, вот решение:
ВЫБРАТЬ
ШК.Владелец.Ссылка КАК Номенклатура,
ШК.Владелец.Весовой КАК Весовой,
ШК.Владелец.БазоваяЕдиницаИзмерения КАК ЕдИзм,
ШК.Штрихкод КАК ШтрКод,
Цены.Цена КАК Цена,
Цены.МинЦена КАК МинЦена
ИЗ
РегистрСведений.Штрихкоды КАК ШК
ЛЕВОЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ
ЦенНом.Номенклатура КАК Номе,
ЕСТЬNULL(ЦенНом.Цена,0) КАК Цена,
ЕСТЬNULL(МинЦенНом.Цена,0.01) КАК МинЦена
ИЗ
РегистрСведений.ЦеныНоменклатуры КАК ЦенНом
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрСведений.ЦеныНоменклатуры КАК МинЦенНом
ПО ЦенНом.Номенклатура.Ссылка = МинЦенНом.Номенклатура.Ссылка
ГДЕ
ЦенНом.ТипЦен = &ТипЦен
И
МинЦенНом.ТипЦен = &ТипМинЦен) КАК Цены
ПО ШК.Владелец.Ссылка = Цены.Номе.Ссылка