Имя: Пароль:
1C
 
СКД-Отчет. Дублирование сумм
,
0 apprentice
 
02.10.17
14:20
Добрый день!
Делаю отчет в СКД, вот запрос
ВЫБРАТЬ
    ПродажаТоваровТовары.Номенклатура,
    ПродажаТоваровТовары.Количество,
    ПродажаТоваровТовары.Сумма,
    ОстаткиНоменклатурыОбороты.СуммаПриход КАК Приход,
ИЗ
    Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Обороты(&Дата1, &Дата2, , ) КАК ОстаткиНоменклатурыОбороты
        ПО ПродажаТоваровТовары.Номенклатура = ОстаткиНоменклатурыОбороты.Номенклатура
ГДЕ
    ПродажаТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    И ПродажаТоваровТовары.Ссылка.Проведен
В настройке делаю группировку по номенклатуре, все остальные поля перемещаю в ресурсы.
В итоге получается отчет, где выводится номенклатура, количество и сумма по продажам за определенный период(со сверткой по номенклатуре). В колонке приход должны быть затраты, т.е. сумма закупок товара.
То есть если за этот период по докам прихода(они пишут в регистр) закупили на 1000р, то там должно быть 1000. А выходит 1000*к, где к - количество документов продажи. То есть система считает для каждого документа продажи оборот приход 1000, а потом их суммирует. Как этого избежать?
1 DrShad
 
02.10.17
14:22
писать запросы для наборов данных нормально
2 apprentice
 
02.10.17
14:24
Спасиб, подскажи как научится?
3 apprentice
 
02.10.17
14:24
Мануал бы
4 DrShad
 
02.10.17
14:24
курсы Гилева смотри
5 apprentice
 
02.10.17
14:46
А адекватный ответ может кто-то дать?
6 DrShad
 
02.10.17
14:48
начнем с того что запросы к документам это зло
7 apprentice
 
02.10.17
14:49
Увы, условие задания
8 DrShad
 
02.10.17
14:51
задание в студию
9 apprentice
 
02.10.17
14:54
Вообще должно быть не сильно сложно. Задача из методички введение в конфигурирование.решение оперативных задач.
Практикум №12       
К данному отчету необходимо добавить колонки с вычислением «Прибыли» (разница суммы продажи и списанной себестоимости) по каждому периоду. Для этого Вам придется в Запрос1 и Запрос2 получить по имеющимся там товарам еще поля со списанной себестоимостью (расход) из таблицы оборотов по регистру «ОстаткиНомеклатуры» (или из таблицы «ОстатковИОборотов»). Подсказка: лучше это делать посредством левого внешнего соединения.
10 apprentice
 
02.10.17
14:54
Запрос к отчету, из методички
"ВЫБРАТЬ

|ИЗ

ПродажиТек.Номенклатура КАК Номенклатура, ПродажиТек.Номенклатура. Представление, СУММА(ПролажиТек.Количество) КАК КолТек, СУММА(ПродажиТек.Сумма) КАК СумТек, СУММА(О) КАК КолПред, СУММА(О) КАК СумПред, СУММА(О) КАК Ост
Документ.Расходная.Товары КАК ПродажиТек

|ГДЕ
|    ПродажиТек.Ссылка.Дата МЕЖДУ &ДатаН1 И&ДатаК1 И
|    ПродажиТек.Ссылка.Проведен = &Проведен
[СГРУППИРОВАТЬ ПО
|    ПродажиТек. Номенклатура
ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    Продажи Пред. Номенклатура,
]    ПродажиПред.Номенклатура.Представление,
|    СУММА(О),
|    СУММА(О),
|    СУММА(ПродажиПред.Количество),
|    СУММА(ПродажиПред.Сумма),
|    СУММА(О)
|ИЗ
Документ. Расходная. Товары КАК ПродажиПред
|ГДЕ
|    ПродажиПред.Ссылка.Дата МЕЖДУ &ДатаН2 И &ДатаК2 И
|    ПродажиПред.Ссылка.Проведен = &Проведен
|
СГРУППИРОВАТЬ ПО
|    ПродажиПред.Номенклатура


Решение задач анализа показателей движения. Использование реквизитов
регистра остатков и оборотных регистров
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
|    ОстаткиНоменклатурыОстатки. Номенклатура,
|    ОстаткиНоменклатурыОстатки.Номенклатура.Представление,
|    СУММА(О),
|    СУММА(О),
|    СУММА(О),
СУММА(О),
СУММА(ОстаткиНоменклатурыОстатки.КоличествоОстаток) |ИЗ
|    РегистрНакопления.ОстаткиНоменклатуры.Остатки&ДатаК],      )      КАК
ОстаткиНоменклатурыОстатки
|СГРУППИРОВАТЬ ПО
|    ОстаткиНоменклатурыОстатки.Номенклатура
(ИТОГИ ПО
|    ОБЩИЕ,
|          Номенклатура
11 DrShad
 
02.10.17
14:58
и в примере у тебя объединение, а ты делаешь соединение?
12 apprentice
 
02.10.17
15:04
Ну во-первых так в подсказке к условию
Во вторых, в примере несколько запросов собраны в один, но даже если взять первый(Не объединять), ничего не меняется
13 apprentice
 
02.10.17
15:05
Там выше неправильно вставилось, вот образец запроса

ВЫБРАТЬ

ПродажиТоваровТовары.Номенклатура КАК Номенклатура, ПродажиТоваровТовары.Количество КАК КолТек, ПродажиТоваровТовары.Сумма КАК СумТек,
О КАК КолПред,
0 КАК СумПред,
О КАК ОстТек

ИЗ Документ.ПродажиТоваров.Товары КАК ПродажиТоваровТовары

|ГДЕ
|    ПродажиТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И&Дата1 И
|    ПродажиТек.Ссылка.Проведен
14 DrShad
 
02.10.17
15:06
что не меняется? у тебя принципиально разные выборки получаются
15 apprentice
 
02.10.17
15:09
Так в том и проблема
Вот из табличной части документа выборка делается, и к ней надо прикрутить "поля со списанной себестоимостью (расход) из таблицы оборотов по регистру «ОстаткиНомеклатуры»".
16 SerF_2011
 
02.10.17
15:11
(0) Попробуй пакетным запросом. Сначала выбери номенклатуру из доков, сгруппируй по номенклатуре и помести во временную таблицу. Вторым запросом в пакете временную таблицу соединяй с регистром.
17 apprentice
 
02.10.17
15:28
Спасибо огромное  SerF_2011