Имя: Пароль:
1C
1С v8
Помогите с небольшим запросом
0 luch
 
12.03.13
13:11
Суть в следующем, есть продукция которую продаём, есть документ выпуска этой продукции, в запросе нужно отобрать эту продукцию и документ выпуска

Но есть один нюанс если документов выпуска несколько, тогда получаем несколько строк выпуска для одной продажи (происходит задваивание сумм)

как в запросе можно связать эти две таблички, чтобы подтягивался только документ выпуска с минимальной датой создания

Возможно надо задать  условие связи таблиц,  что-то не получается правильно сделать


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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СерияНоменклатуры,
   ПродажиОбороты.КоличествоОборот КАК КоличествоВес,
   ДокументПроизводство.Ссылка
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПродажиОбороты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДокументПроизводство КАК ДокументПроизводство
       ПО ПродажиОбороты.Номенклатура = ДокументПроизводство.Номенклатура
           И ПродажиОбороты.СерияНоменклатуры = ДокументПроизводство.СерияНоменклатуры

СГРУППИРОВАТЬ ПО
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СерияНоменклатуры,
   ПродажиОбороты.КоличествоОборот,
   ДокументПроизводство.Ссылка
1 mickey1cx
 
12.03.13
15:52
Как то так, например:

ВЫБРАТЬ
   ОтчетМастераСмены.Ссылка,
   ОтчетМастераСмены.Номенклатура,
   ОтчетМастераСмены.Серия,
   ОтчетМастераСмены.МоментВремени
ПОМЕСТИТЬ Отбор
ИЗ
   Документ.ОтчетМастераСмены КАК ОтчетМастераСмены
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОтчетМастераСмены КАК ОтчетМастераСменыОтбор
       ПО ОтчетМастераСмены.Номенклатура = ОтчетМастераСменыОтбор.Номенклатура
           И ОтчетМастераСмены.Серия = ОтчетМастераСменыОтбор.Серия
           И ОтчетМастераСмены.МоментВремени > ОтчетМастераСменыОтбор.МоментВремени
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СерияНоменклатуры,
   ПродажиОбороты.КоличествоОборот КАК КоличествоВес,
   ДокументПроизводство.Ссылка
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Авто, ) КАК ПродажиОбороты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДокументПроизводство КАК ДокументПроизводство
       ПО ПродажиОбороты.Номенклатура = ДокументПроизводство.Номенклатура
           И ПродажиОбороты.СерияНоменклатуры = ДокументПроизводство.СерияНоменклатуры

СГРУППИРОВАТЬ ПО
   ПродажиОбороты.Номенклатура,
   ПродажиОбороты.СерияНоменклатуры,
   ПродажиОбороты.КоличествоОборот,
   ДокументПроизводство.Ссылка
2 palpetrovich
 
12.03.13
16:11
" чтобы подтягивался только документ выпуска с минимальной датой создания" - какая-то странная задачка, кому это может понадобиться - пялится все время на один и тот-же документ? :)

а по сути, разве так не катит
ВЫБРАТЬ ПЕРВЫЕ 1
...
ну и упорядочить правильно
3 luch
 
12.03.13
19:38
(1) спасибо большое, очень помогли   :)
всё работает как надо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший