Имя: Пароль:
1C
1С v8
Как правильно составить запрос.
0 sqr4
 
17.04.14
21:27
Вот собственно запрос

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

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

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

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

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

УПОРЯДОЧИТЬ ПО
    Ссылка
Остатки задваиваются, затраиваются и т.д не могу понять как правильно составить запрос, чтобы они не задваивались, а адекватно рассчитывались по номенклатуре.
Запрос нужен для отчета на СКД, конфигурация УТ 11.1.2.. Прошу помощи
1 Лефмихалыч
 
17.04.14
21:47
запрос - хлам.
И за "Запрос нужен для отчета на СКД" спасибо, кэп, это очень помогло помочь тебе - все сразу стало понятно.

какую информацию-то запросом получить хочешь?
2 NcSteel
 
17.04.14
21:49
Во втором пакете нет условий соединения по таблице РасчетыСКлиентами.
3 elCust
 
17.04.14
21:53
ГДЕ
    ЗаказыКлиентовОстаткиИОбороты.ЗаказКлиента = ЗаказКлиентаТовары.Ссылка
    И РасчетыСКлиентамиОстаткиИОбороты.ЗаказКлиента = ЗаказКлиентаТовары.Ссылка

Научитесь верно делать отбор в виртуальной таблице. Вот потом и руко!опят. Сразу правильно делайте все.
4 sqr4
 
17.04.14
22:02
Анализ заказов покупателей, отбирает все заказы за период. Дело в том, что суммы Оплачено и Осталось оплатить, рассчитываются по заказу в целом. При попытке вывода номенклатуры с количеством, эти поля умножаются на количество строк табличной части документа, это если группировать по Заказу клиента. Если группировать по номенклатуре, а затем по заказу покупателя, то количество выводится неадекватное.
5 sqr4
 
17.04.14
22:05
http://files.mail.ru/C0B76B9095F6446BBC11C3FB59230FEA получается такая выборка. Как в двух разных вариантах отчета. получить адекватные данные, чтобы они рассчитывались по нужным полям
6 NcSteel
 
17.04.14
22:06
(4) Тебе уже дали ответ.
7 sqr4
 
17.04.14
22:27
ну не знаю, такой пример
8 NcSteel
 
17.04.14
22:27
(7) ты сейчас с кем?
9 sqr4
 
17.04.14
22:27
заказ 1 - ном1 - остаток - 10
Заказ 1 - Ном2 - Остаток - 10
10 sqr4
 
17.04.14
22:30
Блин, не могу сформулировать. В регистре ТоварыОрганизаций, будет получен остаток для номенклатуры, который соединится с номенклатурой из заказов покупателей, т.к Одна номенклатура будет встречатся в нескольких заказах в итоге, будет жуткое задвоение
11 elCust
 
18.04.14
00:11
(10) По порядку. Какие данные ты имеешь прям пиши строками пример 3-4 строки нескольких таблиц. Потом пиши таблицу результата. Все описывай с именами колонок. Дальше будем смотреть. Но видимо уже завтра.
12 Лефмихалыч
 
18.04.14
00:36
(10) ну, будет, да. А надо-то тебе чего?
13 Лефмихалыч
 
18.04.14
00:37
ты хочешь что ли остатки зарезервировать по какому-нить FIFO, автор? Анхрена остатки на документы помножать?
14 sqr4
 
18.04.14
18:17
(13) Они сами помножаются, я не знаю как этого избежать
15 neo_matrix_123
 
18.04.14
20:14
необходимо получить данные, по каким заказам есть остатки товаров по товарам организаций? если да, то количество остатка по товарам по одной и той-не номенклатуре из заказа будет неизбежно задваиваться, что-бы вы ни делали. поскольку выводиться будет суммарный остаток. нечто подобное у меня есть, но по внутренним заказам. выводится складской остаток на заданных складах. там ровно такая-же ситуация - остаток всегда по разным заказам для одной и той-же номенклатуры одинаков. если не используется схема резервирования, - увы;-(, но это так. можно конечно написать приблуду, которая после сортировки таблицы заказов будет рассчитывать и вычислять остаток по товарам по каждой следующей строке. но это бред, по-моему