Имя: Пароль:
1C
1С v8
Нужен совет по запросу в СКД.
,
0 ahmato
 
23.05.15
23:49
Коллеги, доброго времени суток.
Платформа: 8.2.19.80
Конфигурация: БП 2.0 релиз из последних.
Требуется совет. Ситуация:
есть 2 пула документов:
1) поступления, перемещение и авансовый отчет
2) реализация, перемещение и требование-накладная
Необходимо в одном вложенном запросе обойти первый пул, во втором второй. Связующие реквизиты: склад, номенклатура, количество, цена.
Все бы просто и хорошо если только по два документа в каждом пуле, но когда начинаю перебор по трем документам получается ерунда какая та.
Вот требуется совет, как бы Вы уважаемые коллеги подошли бы к решению этой задачи.
Ньюанс, я хочу именно перебрать сами документы, а не лезть в регистры.
1 sdv2000
 
24.05.15
00:00
подошли бы материально
2 ahmato
 
24.05.15
00:14
(1) :)))))
3 SleepyHead
 
гуру
24.05.15
06:34
Объединения в запросах отменили в 8.2.19 ?
4 iceman2112
 
24.05.15
06:48
(0) в одном вложенном запросе обойти первый пул, во втором второй
5 SleepyHead
 
гуру
24.05.15
08:13
(4) И что мешает-то?
6 SleepyHead
 
гуру
24.05.15
08:13
(4) Это автору
7 GANR
 
24.05.15
09:21
(0) Не знаю кто как, а я вообще не понимаю ЧТО нужно сделать.
8 GANR
 
24.05.15
09:24
+(7) Может надо в одном отчете на СКД 2 вложенных отчета сделать и вывести в 1 поле табличного документа? Тогда вложенные отчеты надо использовать.
9 rphosts
 
24.05.15
11:21
(0) в первом запросе отобрать в ВТ и проиндексировать по тем полям по котором соединяешь. Аналогично со вторым. Соединяй...
10 ahmato
 
26.05.15
16:10
С СКД не так часто приходится иметь дело, поэтому всем спасибо за понимание и советы. Вопрос почти решился.
Единственное момент. Запрос выполняется в консоле запросов, и в результате появляются строки где к примеру при расходном документе, может быть заполнена ячейка  прихода. Могли помочь разобраться.
Запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЕСТЬNULL(ВложенныйЗапрос.Период, ВложенныйЗапрос1.Период) КАК Период,
    ЕСТЬNULL(ВложенныйЗапрос.Проект, ВложенныйЗапрос1.Проект) КАК Проект,
    ЕСТЬNULL(ВложенныйЗапрос.Документ, ВложенныйЗапрос1.Документ) КАК Документ,
    СУММА(ВложенныйЗапрос1.Приход) КАК Приход,
    СУММА(ВложенныйЗапрос.Расход) КАК Расход
ИЗ
    (ВЫБРАТЬ
        КОНЕЦПЕРИОДА(СписаниеСРасчетногоСчета.Дата, ДЕНЬ) КАК Период,
        СписаниеСРасчетногоСчета.Ссылка КАК Документ,
        СписаниеСРасчетногоСчета.Проект КАК Проект,
        СписаниеСРасчетногоСчета.СуммаДокумента КАК Расход
    ИЗ
        Документ.СписаниеСРасчетногоСчета КАК СписаниеСРасчетногоСчета
    ГДЕ
        СписаниеСРасчетногоСчета.Проведен = ИСТИНА
        И СписаниеСРасчетногоСчета.Дата МЕЖДУ &Дата1 И &Дата2
        И СписаниеСРасчетногоСчета.Проект = &проект) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            КОНЕЦПЕРИОДА(ПоступлениеНаРасчетныйСчет.Дата, ДЕНЬ) КАК Период,
            ПоступлениеНаРасчетныйСчет.Ссылка КАК Документ,
            ПоступлениеНаРасчетныйСчет.Проект КАК Проект,
            ПоступлениеНаРасчетныйСчет.СуммаДокумента КАК Приход
        ИЗ
            Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
        ГДЕ
            ПоступлениеНаРасчетныйСчет.Проведен = ИСТИНА
            И ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &Дата1 И &Дата2
            И ПоступлениеНаРасчетныйСчет.Проект = &проект) КАК ВложенныйЗапрос1
        ПО ВложенныйЗапрос.Период = ВложенныйЗапрос1.Период
            И ВложенныйЗапрос.Проект = ВложенныйЗапрос1.Проект

СГРУППИРОВАТЬ ПО
    ЕСТЬNULL(ВложенныйЗапрос.Период, ВложенныйЗапрос1.Период),
    ЕСТЬNULL(ВложенныйЗапрос.Проект, ВложенныйЗапрос1.Проект),
    ЕСТЬNULL(ВложенныйЗапрос.Документ, ВложенныйЗапрос1.Документ)

УПОРЯДОЧИТЬ ПО
    Период
ИТОГИ
    СУММА(Приход),
    СУММА(Расход)
ПО
    ОБЩИЕ

Результат:

Период                            |Проект            |          Документ                                            | Приход           |Расход
07.05.2014 23:59:59            |Проект     |Списание с расчетного счета АС000001178 от 07.05.2014 0:00:00    |101 417 477   |62 500
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан