A
A
Alexey A2016-09-17 15:49:05
SQL
Alexey A, 2016-09-17 15:49:05

1C selection of items from the order and from the directory?

Tell me how to make a selection of the entire range from the directory and from the order, and then combine them.
There is such data:
Directory:
Product1
Product2
Product3
Product4
And
Customer Order:
Product2 - 5 pcs.
Product4 - 3 pcs.
It should look like this in the report:
Product1 - 0 pcs.
Product2 - 5 pcs.
Product3 - 0 pcs.
Product4 - 3 pcs.
Tried Left Join, but something doesn't work.

The code
ВЫБРАТЬ
  Номенклатура.Ссылка КАК Номенклатура,
  Номенклатура.Наименование КАК НоменклатураНаименование
ПОМЕСТИТЬ ВТНом
ИЗ
  Справочник.Номенклатура КАК Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
  ЗаказКлиентаТовары.Номенклатура.Ссылка КАК Номенклатура,
  ЗаказКлиентаТовары.Номенклатура.Наименование,
  ЕСТЬNULL(ЗаказКлиентаТовары.Количество, 0) КАК Количество,
  ЗаказКлиентаТовары.Сумма
ИЗ
  ВТНом КАК ВТНом
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
    ПО ВТНом.Номенклатура.Ссылка = ЗаказКлиентаТовары.Номенклатура
ГДЕ
  ЗаказКлиентаТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода


It turns out anyway:
Product2 - 5 pcs.
Product4 - 3 pcs.
I would be grateful for tips!
UPD:
I changed the code according to the advice, but still writes only the nomenclature that was implemented, and not all.
Code 2
ВЫБРАТЬ
  ЗаказКлиентаТовары.Номенклатура.Ссылка КАК Номенклатура,
  ЗаказКлиентаТовары.Номенклатура.Наименование,
  СУММА(ЕСТЬNULL(ЗаказКлиентаТовары.Количество, 0)) КАК Количество,
  СУММА(ЗаказКлиентаТовары.Сумма) КАК Сумма,
  СпрНоменклатура.Ссылка КАК СпрНоменклатура,
  СпрНоменклатура.Наименование КАК СпрНаименование
ИЗ
  Справочник.Номенклатура КАК СпрНоменклатура
    ПОЛНОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
    ПО СпрНоменклатура.Ссылка = ЗаказКлиентаТовары.Номенклатура
ГДЕ
  ЗаказКлиентаТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода

СГРУППИРОВАТЬ ПО
  ЗаказКлиентаТовары.Номенклатура.Ссылка,
  ЗаказКлиентаТовары.Номенклатура.Наименование,
  СпрНоменклатура.Ссылка,
  СпрНоменклатура.Наименование

Answer the question

In order to leave comments, you need to log in

1 answer(s)
K
kalapanga, 2016-09-17
@allewa

You may have more than one order, but several for a period. Therefore, you need to select the entire item from the orders and calculate the total quantity of each item for all orders, i.e. should be grouped by nomenclature. Next, take the entire nomenclature from the directory and attach the received quantities to it.
And now something confusing is written in general. Why do you need a temporary table, which is a copy of the Nomenclature reference book?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question