Имя: Пароль:
1C
1С v8
Подскажите с запросом, пож-та
0 askharlov
 
02.10.12
23:53
Необходимо соединить приходные накладные с соответствующими расходными
В упрощенном виде конечный результат выглядит так:
               СуммаПокупки     СуммаРеализации
Приходная1          100
 Расходная1                          60
 Расходная1                          55
Приходная2          80
 Расходная3                          30
......

Соединяю расходные с приходными через субконто Партия в Хозрасчетный.Обороты

Если делаю объединение, то, естественно, получаю пустые строки:
                СуммаПокупки     СуммаРеализации
Приходная1          100
                   100  
 Расходная1                          60
 Расходная1                          55
Приходная2          80
 Расходная3                          30
......

Если делаю соединение, то дублируется сумма покупки:

                СуммаПокупки     СуммаРеализации
Приходная1          200
 Расходная1        100               60
 Расходная1        100               55

Как правильно делать запрос? И можно ли эту задачу рещить запросом?
СПАСИБО
1 DrShad
 
02.10.12
23:56
а где запрос? запросом можно решить
2 SnarkHunter
 
03.10.12
00:02
>> подскажите с запросом

На русский через промпт переводил?
3 DrShad
 
03.10.12
00:04
все, я спать
4 Jstunner
 
03.10.12
01:03
(0) задача не разрешимая с использованием только запросов
5 askharlov
 
03.10.12
09:42
(1) Вот запрос с объединением:

ВЫБРАТЬ
   ВЗПриходныеНакладные.Поставщик,
   ВЗПриходныеНакладные.Приходная,
   ВЗПриходныеНакладные.СуммаБезНДС КАК СуммаПриходнойБезНДС,
   ВЗПриходныеНакладные.СуммаСНДС КАК СуммаПриходнойСНДС,
   ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) КАК Покупатель,
   ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг.ПустаяСсылка) КАК Расходная,
   0 КАК СебестоимостьРеализации
ИЗ
   (ВЫБРАТЬ
       ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Поставщик,
       ПоступлениеТоваровУслугТовары.Ссылка КАК Приходная,
       СУММА(ВЫБОР
               КОГДА ПоступлениеТоваровУслугТовары.Ссылка.СуммаВключаетНДС
                   ТОГДА ПоступлениеТоваровУслугТовары.Сумма - ПоступлениеТоваровУслугТовары.СуммаНДС
               ИНАЧЕ ПоступлениеТоваровУслугТовары.Сумма
           КОНЕЦ) КАК СуммаБезНДС,
       СУММА(ВЫБОР
               КОГДА ПоступлениеТоваровУслугТовары.Ссылка.СуммаВключаетНДС
                   ТОГДА ПоступлениеТоваровУслугТовары.Сумма
               ИНАЧЕ ПоступлениеТоваровУслугТовары.Сумма + ПоступлениеТоваровУслугТовары.СуммаНДС
           КОНЕЦ) КАК СуммаСНДС
   ИЗ
       Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
   ГДЕ
       ПоступлениеТоваровУслугТовары.Ссылка.Проведен
       И ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
   
   СГРУППИРОВАТЬ ПО
       ПоступлениеТоваровУслугТовары.Ссылка.Контрагент,
       ПоступлениеТоваровУслугТовары.Ссылка) КАК ВЗПриходныеНакладные

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ХозрасчетныйОборотыДтКт.СубконтоКт4.Контрагент,
   ХозрасчетныйОборотыДтКт.СубконтоКт4,
   0,
   0,
   ВЫБОР
       КОГДА ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
           ТОГДА ХозрасчетныйОборотыДтКт.Регистратор.Контрагент
       ИНАЧЕ NULL
   КОНЕЦ,
   ХозрасчетныйОборотыДтКт.Регистратор,
   ХозрасчетныйОборотыДтКт.СуммаОборот
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
           ,
           ,
           Регистратор,
           СчетДт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.СебестоимостьРеализации)),
           ,
           СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары)),
           ,
           СубконтоКт4 ССЫЛКА Документ.ПоступлениеТоваровУслуг
               И СубконтоКт4 В
                   (ВЫБРАТЬ
                       ПоступлениеТоваровУслугТовары.Ссылка КАК Приходная
                   ИЗ
                       Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                   ГДЕ
                       ПоступлениеТоваровУслугТовары.Ссылка.Проведен
                       И ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода)) КАК ХозрасчетныйОборотыДтКт
6 askharlov
 
03.10.12
09:44
(4) Какие есть методы для решения? посоветуй, пож-та
7 Maxus43
 
03.10.12
09:49
почему они ввиде дерева в (0)? в запросе же нет такого.
Это отчет? на скд быстро можно сделать
8 hhhh
 
03.10.12
09:56
(6) а зачем СубконтоКт4 ССЫЛКА Документ.ПоступлениеТоваровУслуг ?? Ведь дальше в выборке всё равно только поступления. Чтобы запрос у вас повесомей был, строчки нагоняете?
9 askharlov
 
03.10.12
10:04
(7) А в запросе можно построить дерево?
Да! отчет! Делаю как раз на СКД. На СКД при объединении получаются пустые строки, как показал в примере (0), если отбором убрать эти пустые строки, то, соответственно, не считается СуммаПокупки по группировке "Приходная".
Ну и, если на СКД сделать левым соединением, то задваивается сумма покупки.

Как сделать на СКД?

Вижу вариант опуститься в запросе до номенклатуры для решения проблемы, но уж очень не хочется, так как возни добавится.

Можно ли решить задачу оперируя только суммами документов, или по любому спускаться к номенклатуре?
10 dk
 
03.10.12
10:04
а почему при объединении получаешь пустую стоку
                   100  
?
видимо с итогами объединяешь, убери итоги
11 askharlov
 
03.10.12
10:05
(8) это так, ступил малеха :-) Спасибо
12 askharlov
 
03.10.12
10:07
(10) пустая строка, так как в результате запроса строкам из Документ.ПоступлениеТоваровУслуг соответствует пустая реализация.
А как без этого при объединении?
13 askharlov
 
03.10.12
10:07
+(12) Итогов нет вообще
Ошибка? Это не ошибка, это системная функция.