Имя: Пароль:
1C
1С v8
Количество в отчете увеличивается во столько раз,сколько поступлений по партиям
0 Босечка
 
11.03.15
17:45
Если в документе в ТЧ 2 одинаковых элемента справ, но разделены на разные партии, то в отчете количество увел в 2 раза. Как с этим бороться. Все ложится в регистры правильно, но отчет некорректно работает. Вот код запроса:


    Запрос.Текст =
        "ВЫБРАТЬ
        |    Продажи.Период КАК Периодпродажи,
        |    Продажи.Регистратор КАК Регистратор,
        |    Продажи.НомерСтроки,
        |    Продажи.ПодразделениеКомпании,
        |    Продажи.Покупатель КАК Покупатель,
        |    Продажи.Номенклатура КАК НоменклатураПродажи,
        |    Продажи.СтатусПартии КАК СтатусПартииПродажи,
        |    Продажи.ХозОперация,
        |    Продажи.ДоговорВзаиморасчетов,
        |    Продажи.Автомобиль,
        |    Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатурыПродажи,
        |    Продажи.СкладКомпании КАК СкладКомпанииПродажи,
        |    Продажи.СтавкаНДС,
        |    Продажи.Активность,
        |    Продажи.Партия КАК Партияпродажи,
        |    Продажи.Авторабота,
        |    Продажи.Проект,
        |    Продажи.ГТД,
        |    Продажи.ДокументПродажи КАК ДокументПродажи,
        |    Продажи.Количество КАК КоличествоПродажи,
        |    Продажи.КоличествоНормочасов,
        |    Продажи.Сумма КАК СуммаПродажи,
        |    Продажи.СуммаНДС,
        |    Продажи.СуммаСкидки,
        |    Продажи.СуммаУпр КАК СуммаУпр,
        |    Продажи.СебестоимостьУпр,
        |    Продажи.Себестоимость,
        |    Продажи.СуммаНДСВходящий,
        |    ПартииТоваровКомпании.Период КАК Период1,
        |    ПартииТоваровКомпании.Регистратор КАК Регистратор1,
        |    Продажи.Поставщик КАК Поставщик,
        |    ПартииТоваровКомпании.НомерСтроки КАК НомерСтроки1,
        |    ПартииТоваровКомпании.Активность КАК Активность1,
        |    ПартииТоваровКомпании.ВидДвижения,
        |    ПартииТоваровКомпании.СкладКомпании КАК СкладКомпанииПоступление,
        |    ПартииТоваровКомпании.Регистратор.Контрагент КАК КонтрагентПоступление,
        |    ПартииТоваровКомпании.Номенклатура КАК НоменклатураПост,
        |    ПартииТоваровКомпании.ХарактеристикаНоменклатуры,
        |    ПартииТоваровКомпании.СтатусПартии,
        |    ПартииТоваровКомпании.Партия КАК Партия,
        |    ПартииТоваровКомпании.Количество КАК КоличествоПост,
        |    ПартииТоваровКомпании.Сумма КАК СуммаПост,
        |    ПартииТоваровКомпании.СуммаУпр КАК СуммаУпр1,
        |    ПартииТоваровКомпании.СуммаНДС КАК СуммаНДС1,
        |    ПартииТоваровКомпании.ХозОперация КАК ХозОперация1,
        |    ПартииТоваровКомпании.СтавкаНДС КАК СтавкаНДС1,
        |    ПартииТоваровКомпании.Проект КАК Проект1,
        |    ПартииТоваровКомпании.ДокументПродажи КАК ДокументПродажи1
        |ИЗ
        |    РегистрНакопления.ПартииТоваровКомпании КАК ПартииТоваровКомпании
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи КАК Продажи
        |        ПО ПартииТоваровКомпании.Номенклатура = Продажи.Номенклатура
        |            И ПартииТоваровКомпании.Регистратор.Ссылка = Продажи.Регистратор.Ссылка
        |ГДЕ
        |    Продажи.Период >= &Дата1
        |    И Продажи.Период <= &Дата2
        |    И (&ВыбСклад = ЗНАЧЕНИЕ(Справочник.СкладыКомпании.ПустаяСсылка)
        |            ИЛИ Продажи.СкладКомпании = &ВыбСклад)
        |    И (&ВыбНоменклатура = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |            ИЛИ Продажи.Номенклатура В ИЕРАРХИИ (&ВыбНоменклатура))
        |    И (&ВыбПоставщик = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ИЛИ ПартииТоваровКомпании.Регистратор.Контрагент = &ВыбПоставщик)
        |    И (&ВыбПокупатель = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
        |            ИЛИ Продажи.Покупатель = &ВыбПокупатель)
        |    И (&ВыбНоменклатураЭлемент = ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
        |            ИЛИ Продажи.Номенклатура = &ВыбНоменклатураЭлемент)
        |
        |СГРУППИРОВАТЬ ПО
        |    ПартииТоваровКомпании.Регистратор.Контрагент,
        |    Продажи.Покупатель,
        |    Продажи.Номенклатура,
        |    Продажи.Период,
        |    Продажи.Регистратор,
        |    Продажи.НомерСтроки,
        |    Продажи.ПодразделениеКомпании,
        |    Продажи.СтатусПартии,
        |    Продажи.ХозОперация,
        |    Продажи.ДоговорВзаиморасчетов,
        |    Продажи.Автомобиль,
        |    Продажи.ХарактеристикаНоменклатуры,
        |    Продажи.СкладКомпании,
        |    Продажи.СтавкаНДС,
        |    Продажи.Активность,
        |    Продажи.Партия,
        |    Продажи.Авторабота,
        |    Продажи.Проект,
        |    Продажи.ГТД,
        |    Продажи.ДокументПродажи,
        |    Продажи.КоличествоНормочасов,
        |    Продажи.СуммаНДС,
        |    Продажи.СуммаСкидки,
        |    Продажи.СуммаУпр,
        |    Продажи.СебестоимостьУпр,
        |    Продажи.Себестоимость,
        |    Продажи.СуммаНДСВходящий,
        |    ПартииТоваровКомпании.Период,
        |    ПартииТоваровКомпании.Регистратор,
        |    Продажи.Поставщик,
        |    ПартииТоваровКомпании.НомерСтроки,
        |    ПартииТоваровКомпании.Активность,
        |    ПартииТоваровКомпании.ВидДвижения,
        |    ПартииТоваровКомпании.СкладКомпании,
        |    ПартииТоваровКомпании.Номенклатура,
        |    ПартииТоваровКомпании.ХарактеристикаНоменклатуры,
        |    ПартииТоваровКомпании.СтатусПартии,
        |    ПартииТоваровКомпании.Партия,
        |    ПартииТоваровКомпании.СуммаУпр,
        |    ПартииТоваровКомпании.СуммаНДС,
        |    ПартииТоваровКомпании.ХозОперация,
        |    ПартииТоваровКомпании.СтавкаНДС,
        |    ПартииТоваровКомпании.Проект,
        |    ПартииТоваровКомпании.ДокументПродажи,
        |    Продажи.Количество,
        |    Продажи.Сумма,
        |    ПартииТоваровКомпании.Количество,
        |    ПартииТоваровКомпании.Сумма
        |
        |УПОРЯДОЧИТЬ ПО
        |    Периодпродажи
        |ИТОГИ
        |    СУММА(КоличествоПродажи),
        |    СУММА(СуммаПродажи),
        |    СУММА(КоличествоПост),
        |    СУММА(СуммаПост)
        |ПО
        |    СкладКомпанииПродажи,
        |    КонтрагентПоступление,
        |    Покупатель,
        |    НоменклатураПродажи,
        |    Партия";
1 D_E_S_131
 
11.03.15
17:54
"Как с этим бороться" — сделать другой запрос.
2 Босечка
 
11.03.15
17:56
Какой?
3 Defender aka LINN
 
11.03.15
17:56
Правильный
4 Nuobu
 
11.03.15
17:56
(0) Добавить партии в левое соединение, если оно есть в продажах.
Если нет в продажах, то тогда сделать отдельный запрос, вытянув из табличной части документа по номеру строки и регистру "продажи".
5 IШаман
 
11.03.15
17:57
(1) Для начала надо разобраться с тем как все таки работает содединение, а то новый запрос будет не лучше старого.
6 IШаман
 
11.03.15
17:58
Я бы на месте ТС вообще бы не использовал в данном случае соединение, а сдела бы все чрез объединения.
7 D_E_S_131
 
11.03.15
18:00
(5) А сейчас вроде бы даже в книгах по встроенному языку убрали главу про выборку данных с помощью запросов, где это раньше "на пальцах" объяснялось.
8 Nuobu
 
11.03.15
18:02
(7) Господин Чистов вечен.
9 Михаил Козлов
 
11.03.15
18:02
(0) А что Вы хотели увидеть?
По данным регистров (партий и продаж) нельзя сказать сколько из проданного и списанного по 2-м партиям было продано по партии1 и сколько по партии2: в регистре продаж это одна строка.
10 D_E_S_131
 
11.03.15
18:05
(9) Пропорцией высчитать можно. С партии же списывается кол-во и сумма.
11 Босечка
 
11.03.15
18:07
А как же выбирать, если не с помощью запросов?
12 Босечка
 
11.03.15
18:08
В регистре продаж вообще нет информации о партиях.
13 Михаил Козлов
 
11.03.15
18:09
(10) Можно: нужно брать количество из партий, а стоимость продажи по ПАРТИИ определять из цены продажи (стоимость/количество из регистра продаж) * количество (из регистра партий).
14 D_E_S_131
 
11.03.15
18:10
А Вы преобразовывайте кол-во и сумму проданного.
КолПродано = КолСписаноПоПартии
СумПродано = СуммаПродаж * КолСписаноПоПартии / КоличествоПродаж
15 D_E_S_131
 
11.03.15
18:11
(13) Опередил
16 Nuobu
 
11.03.15
18:11
(11) А смысл?
Что за задача?
17 D_E_S_131
 
11.03.15
18:12
(16) Предположу что "валовку" посчитать.
18 Nuobu
 
11.03.15
18:12
(17) Есть отчет "Валовка".
19 D_E_S_131
 
11.03.15
18:15
(18) Это у тебя есть, а у человека может нет.
20 Nuobu
 
11.03.15
18:17
(19) Та врядли "Валовка". Скорее всего другие цели, т.к. этот отчет есть во многих типовых.
21 D_E_S_131
 
11.03.15
18:20
(20) Это у тебя типовая, а у человека может нет.
22 Босечка
 
11.03.15
18:46
У меня не типовая,
23 Михаил Козлов
 
11.03.15
18:56
(22) А регистр ПродажиСебестоимость у Вас есть? А отчет по валовой прибыли?
24 Босечка
 
11.03.15
19:19
Такого регистра нет. А отчета по валовой прибыли нет. Он есть в Торговле. А у меня Альфа авто 5. Там совсем другие регистры.
25 Босечка
 
11.03.15
19:25
(10) сделала все равно задваивает
26 D_E_S_131
 
11.03.15
21:07
(25) Покаж
27 шаэс
 
11.03.15
21:09
(24) в Альфа-Авто нет отчета по валовой прибыли?
28 Olden2610
 
11.03.15
21:15
(0) Какой-то реквизит должен его задваивать, раз вдвое больше строк.
29 Босечка
 
11.03.15
23:36
продолжение завтра....
30 Михаил Козлов
 
12.03.15
10:30
(29) Убирайте из запроса поля, пока не перестанет задваивать.