Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тип соединения в запросе
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
APB
Есть регистр накопления, хранящий информацию о плане/факте продаж. Измерения - Контрагент, Факт (булевое значения, указывающее, план или факт хранится в данной строке), ресурс Сумма.

Необходимо получить запросом таблицу с указанием контрагента и планом/фактом продаж в соответствующих колонках. Делаю это следующим образом:

ВЫБРАТЬ
ВЫБОР
КОГДА ВложенныйЗапрос.Контрагент ЕСТЬ NULL
ТОГДА арвПланФактПродаж.Контрагент
ИНАЧЕ ВложенныйЗапрос.Контрагент
КОНЕЦ КАК Контрагент,
арвПланФактПродаж.Сумма КАК План,
ВложенныйЗапрос.Сумма КАК Факт
ИЗ
   (ВЫБРАТЬ
   арвПланФактПродаж.Контрагент КАК Контрагент,
   арвПланФактПродаж.Сумма
   ИЗ
   РегистрНакопления.арвПланФактПродаж КАК арвПланФактПродаж
   ГДЕ
   арвПланФактПродаж.Период МЕЖДУ &Дн И &Дк
   И арвПланФактПродаж.Факт = &истина) КАК ВложенныйЗапрос
   ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.арвПланФактПродаж КАК арвПланФактПродаж
   ПО (арвПланФактПродаж.Контрагент = ВложенныйЗапрос.Контрагент)
ГДЕ
арвПланФактПродаж.Период МЕЖДУ &Дн И &Дк
И арвПланФактПродаж.Факт = &ложь


ДН и ДК - начало и конец периода.

В итоге получаю таблицу, в которой отображены все планы продаж и только те факты продаж, которые были запланированы sad.gif Как я понимаю, проблема в типе соединения в запросе. Подскажите, пожалуйста, правильный тип запроса, либо иной метод реализации задачи. Спасибо.


 ! 

Правила, п.13 (3 раза)
 

logist
ВЫБРАТЬ
|Т.Контрагент,
|Т.Сумма КАК План,
|0 КАК Факт
|Из РегистрНакопления.арвПланФактПродаж.Обороты(&ДН, &ДК, Авто, Факт = Истина) КАК Т
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|Т.Контрагент,
|0,
|Т.Сумма
|Из РегистрНакопления.арвПланФактПродаж.Обороты(&ДН, &ДК, Авто, Факт = Ложь) КАК Т




p.s. использовать измерение булево для понятия суммы не корректно, правильно - хранить два ресурса План и Факт
Vofka
|ВЫБРАТЬ
|    Контрагент,
|    План,
|    Факт
|ИЗ
|(
|    ВЫБРАТЬ
|        Т.Контрагент,
|        Т.Сумма КАК План,
|        0 КАК Факт
|    Из
|        РегистрНакопления.арвПланФактПродаж.Обороты(&ДН, &ДК, Авто, Факт = Истина) КАК Т
|
|    ОБЪЕДИНИТЬ ВСЕ
|
|    ВЫБРАТЬ
|        Т.Контрагент,
|        0,
|        Т.Сумма
|    Из
|        РегистрНакопления.арвПланФактПродаж.Обороты(&ДН, &ДК, Авто, Факт = Ложь) КАК Т
|) КАК ВложенныйЗапрос
|СГРУППИРОВАТЬ ПО
|    Контрагент
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.