Вход | Регистрация

1С:Предприятие ::

Метки: 

запросы ... количество строк в результате

Я
   lamme
 
18.01.18 - 17:18
Есть заказ клиента - Товар = 10шт
есть 2 заказа поставщику этого товара на 5 и 4 шт.
Надо в результате запроса - чтобы было 3 строки

- товар -  5 - заказано 5
- товар -  4 - заказано 4
- товар -  1 - заказано 0

при соединении 2 таблиц получается просто
- товар -  10 - заказано 5
- товар -  10 - заказано 4
 
 
   lamme
 
1 - 18.01.18 - 17:18
ВЫБРАТЬ
    ЗаказКлиентаТовары.Номенклатура,
    ЗаказКлиентаТовары.Ссылка.Номер КАК НомерЗаказаКлиента,
    ЗаказКлиентаТовары.Ссылка.Дата КАК ДатаЗаказаКлиента,
    ЗаказКлиентаТовары.Ссылка.Контрагент,
    ЗаказКлиентаТовары.Ссылка.Партнер,
    ЗаказКлиентаТовары.Ссылка.СуммаДокумента КАК СуммаЗаказаКлиента,
    СостояниеЗаказаКлиента.СуммаДолга,
    ЗаказКлиентаТовары.Ссылка.Валюта,
    ЗаказКлиентаТовары.Количество КАК КоличествоВЗаказкеКлиента,
    ЕСТЬNULL(Заказы.КоличествоОстаток, 0) КАК КоличествлОстатокЗаказа,
    ЗаказКлиентаТовары.КодСтроки,
    ЗаказыПоставщику.Количество КАК КоличествоЗаказаноУПоставщика,
    ЗаказыПоставщику.Ссылка.Номер КАК НомерЗаказаПоставщику,
    ЗаказыПоставщику.Ссылка.Дата КАК ДатаЗаказаПоставщику,
    ЗаказКлиентаТовары.Ссылка КАК ЗаказКлиентаСсылка,
    ЗаказыПоставщику.Ссылка КАК ЗаказПоставщикуСсылка
    
ИЗ
    Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыКлиентовОстатки.Номенклатура КАК Номенклатура,
            ЗаказыКлиентовОстатки.ЗаказаноОстаток КАК КоличествоОстаток,
            ЗаказыКлиентовОстатки.ЗаказКлиента КАК ЗаказКлиента,
            ЗаказыКлиентовОстатки.КодСтроки КАК КодСтроки,
            ЗаказыКлиентовОстатки.Характеристика КАК Характеристика
        ИЗ
            РегистрНакопления.ЗаказыКлиентов.Остатки(, ) КАК ЗаказыКлиентовОстатки) КАК Заказы
        ПО ЗаказКлиентаТовары.Номенклатура = Заказы.Номенклатура
            И ЗаказКлиентаТовары.Ссылка = Заказы.ЗаказКлиента
            И ЗаказКлиентаТовары.КодСтроки = Заказы.КодСтроки
            И ЗаказКлиентаТовары.Характеристика = Заказы.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СостоянияЗаказовКлиентов.Заказ КАК Заказ,
            СостоянияЗаказовКлиентов.СуммаДолга КАК СуммаДолга
        ИЗ
            РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов) КАК СостояниеЗаказаКлиента
        ПО ЗаказКлиентаТовары.Ссылка = СостояниеЗаказаКлиента.Заказ
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказПоставщикуТовары.Номенклатура КАК Номенклатура,
            ЗаказПоставщикуТовары.Количество КАК Количество,
            ЗаказПоставщикуТовары.Ссылка.Сделка КАК Сделка,
            ЗаказПоставщикуТовары.КодСтроки КАК КодСтроки,
            ЗаказПоставщикуТовары.Назначение.Заказ КАК НазначениеЗаказ,
            ЗаказПоставщикуТовары.Ссылка КАК Ссылка
        ИЗ
            Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
        ГДЕ
            ЗаказПоставщикуТовары.Ссылка.Проведен = ИСТИНА) КАК ЗаказыПоставщику
        ПО ЗаказКлиентаТовары.Ссылка = ЗаказыПоставщику.НазначениеЗаказ
            И ЗаказКлиентаТовары.Номенклатура = ЗаказыПоставщику.Номенклатура
ГДЕ
    ЗаказКлиентаТовары.Номенклатура.ТипНоменклатуры = &ТипНоменклатуры
    И ЕСТЬNULL(Заказы.КоличествоОстаток, 0) <> 0
    И ЗаказКлиентаТовары.Ссылка = &Ссылка

УПОРЯДОЧИТЬ ПО
    ЗаказКлиентаСсылка
   lamme
 
2 - 18.01.18 - 17:19
нужен факт того - в виде строки - что товара недозаказан
   3achem
 
3 - 18.01.18 - 17:20
(0) Забыл написать сколько это будет стоить?
   Ненавижу 1С
 
4 - 18.01.18 - 17:25
а если будет перезаказ?
   Ненавижу 1С
 
5 - 18.01.18 - 17:25
ФИФО  в запросе короче курите
   Вафель
 
6 - 18.01.18 - 17:26
(5) лучше не стоит так делать
   vicof
 
7 - 18.01.18 - 17:28
А отчет обеспечение заказов использовать не?
   azernot
 
8 - 18.01.18 - 17:29
(0) Данную задачу эффективнее решать не в рамках запроса. Запросом получаем данные о заказах клиентов, остатках, заказах поставщикам и т.п. и потом уже осуществлять распределение по своей методике.
   lamme
 
9 - 18.01.18 - 17:30
(8)
тогда скд отваливается
не хооооочется
   azernot
 
10 - 18.01.18 - 17:31
(9) В СКД можно передать уже конечный результат распределения и использовать все вкусности СКД.
 
  Рекламное место пустует
   lamme
 
11 - 18.01.18 - 17:32
(7)
тоже идея.
пойдет

пошел посмотрю как сделали..
   Fragster
 
12 - 18.01.18 - 17:33
две таблички и однократный параллельный проход и проще для понимания и быстрее
   Fragster
 
13 - 18.01.18 - 17:33
не в запросе


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует