Имя: Пароль:
1C
1С v8
Запрос с регистрами бухгалтерии
0 Novi4ok91
 
13.06.14
07:51
Здравствуйте. Подскажите как связать в запросе регистры бухгалтерии Типовой.Обороты и Типовой.ОстаткиИОбороты. Данные по полям "сальдо" и "оплата" выводятся некорректно
1 Novi4ok91
 
13.06.14
07:52
Вот запрос:
ВЫБРАТЬ
    ТиповойОбороты.КорСубконто1.Наименование КАК НаименованиеРЭС,
    СУММА(ТиповойОбороты.СуммаОборотКт) КАК ФлБезНДС,
    ТиповойОбороты.Субконто2,
    ТиповойОбороты.Субконто3 КАК Подразделение,
    ТиповойОбороты.КорСубконто2,
    СУММА(ТиповойОстаткиИОбороты.СуммаКонечныйОстатокДт) КАК Сальдо,
    СУММА(ТиповойОстаткиИОбороты.СуммаОборотКт) КАК Оплата
ИЗ
    РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&Дата1, &Дата2, , , Счет = &Счет1, , ) КАК ТиповойОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Типовой.Обороты(&Дата1, &Дата2, , Счет = &Счет, , , , ) КАК ТиповойОбороты
        ПО ТиповойОстаткиИОбороты.Субконто1 = ТиповойОбороты.КорСубконто1
            И ТиповойОстаткиИОбороты.Субконто2 = ТиповойОбороты.КорСубконто2
            И ТиповойОстаткиИОбороты.Субконто3 = ТиповойОбороты.КорСубконто3
            И ТиповойОстаткиИОбороты.Счет = ТиповойОбороты.КорСчет

СГРУППИРОВАТЬ ПО
    ТиповойОбороты.КорСубконто1.Наименование,
    ТиповойОбороты.Субконто2,
    ТиповойОбороты.Субконто3,
    ТиповойОбороты.КорСубконто2
2 Рэйв
 
13.06.14
08:48
какая задача стоит вообще?
3 Novi4ok91
 
13.06.14
08:51
за опред период по разным контрагентам получить сумму оборота, сколько из этой суммы уже оплачено, и сколько долг перед организацией
4 Novi4ok91
 
13.06.14
08:54
сумма оборота = Начислено к оплате
5 Рэйв
 
13.06.14
09:13
зачем тебе такие сложные соединения?

Анализируй счет задолженности.
Кт остаток на начало - сколько был должен, Дт оборот - сколько оплатил,Кт остаток на конец - сколько осталось.
По моему так намного проще
6 Рэйв
 
13.06.14
09:13
+Кт оборот- начисленно к оплате
7 Рэйв
 
13.06.14
09:19
А !
Вернее наоборот. Это же дебиторская задолженность.

в (5)поменять местами Дт  и Кт
8 Novi4ok91
 
13.06.14
09:27
+5! Я так и делаю. Если отдельным запросом - данные верны, а если ещё начисления(из Типовой.Обороты) и нужные субконто, получается фигня. задолженность суммируется по подразделениям и дублируется в строках подразделений
9 Novi4ok91
 
13.06.14
09:27
необходима связь
10 Рэйв
 
13.06.14
09:39
(8)Попробуй в 2 отдельных ВТ вывести данные отдельными запросами и их уже соединить
11 Novi4ok91
 
13.06.14
09:52
попробую!спасибо!
12 Novi4ok91
 
16.06.14
06:54
Продолжаем тему. Не получилось. Посмотрите пожалуйста что не так
13 Novi4ok91
 
16.06.14
06:59
ВЫБРАТЬ
    Обороты.НаименованиеРЭС,
    Обороты.ФлБезНДС,
    Обороты.Субконто2,
    Обороты.Субконто3,
    Обороты.КорСубконто2,
    ОстаткиИОбороты.Сальдо,
    ОстаткиИОбороты.Оплата
ИЗ
    (ВЫБРАТЬ
        ТиповойОстаткиИОбороты.Счет КАК Счет,
        ТиповойОстаткиИОбороты.Субконто1 КАК Субконто1,
        ТиповойОстаткиИОбороты.Субконто2 КАК Субконто2,
        ТиповойОстаткиИОбороты.Субконто3 КАК Субконто3,
        СУММА(ТиповойОстаткиИОбороты.СуммаКонечныйОстатокДт) КАК Сальдо,
        СУММА(ТиповойОстаткиИОбороты.СуммаОборотКт) КАК Оплата
    ИЗ
        РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&Дата1, &Дата2, , , Счет = &Счет1, , ) КАК ТиповойОстаткиИОбороты
    
    СГРУППИРОВАТЬ ПО
        ТиповойОстаткиИОбороты.Счет,
        ТиповойОстаткиИОбороты.Субконто1,
        ТиповойОстаткиИОбороты.Субконто2,
        ТиповойОстаткиИОбороты.Субконто3) КАК ОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ТиповойОбороты.КорСубконто1.Наименование КАК НаименованиеРЭС,
            ТиповойОбороты.КорСубконто2 КАК КорСубконто2,
            ТиповойОбороты.КорСубконто3 КАК КорСубконто3,
            СУММА(ТиповойОбороты.СуммаОборотКт) КАК ФлБезНДС,
            ТиповойОбороты.Субконто2 КАК Субконто2,
            ТиповойОбороты.Субконто3 КАК Подразделение,
            ТиповойОбороты.КорСчет КАК КорСчет,
            ТиповойОбороты.Субконто3 КАК Субконто3
        ИЗ
            РегистрБухгалтерии.Типовой.Обороты(&Дата1, &Дата2, , Счет = &Счет, , , , ) КАК ТиповойОбороты
        
        СГРУППИРОВАТЬ ПО
            ТиповойОбороты.КорСчет,
            ТиповойОбороты.Субконто3,
            ТиповойОбороты.Субконто2,
            ТиповойОбороты.КорСубконто3,
            ТиповойОбороты.КорСубконто2,
            ТиповойОбороты.КорСубконто1.Наименование,
            ТиповойОбороты.Субконто3) КАК Обороты
        ПО ОстаткиИОбороты.Счет = Обороты.КорСчет
            И ОстаткиИОбороты.Субконто1 = Обороты.НаименованиеРЭС
            И ОстаткиИОбороты.Субконто2 = Обороты.КорСубконто2
            И ОстаткиИОбороты.Субконто3 = Обороты.КорСубконто3
14 Novi4ok91
 
16.06.14
07:00
выводятся данные только по ВТ.ОстаткиИОбороты, запрос работает очень медленно
15 Мэс33
 
16.06.14
07:17
Написал же Рэйв.
Сделай два запроса, формирующих два ВТ.
А потом выведи результаты из ВТ.
16 Novi4ok91
 
16.06.14
07:24
туплю. А как связать результаты ВТ?
17 Мэс33
 
16.06.14
07:55
как здесь делал, так и связываешь:

ПО ТиповойОстаткиИОбороты.Субконто1 = ТиповойОбороты.КорСубконто1
            И ТиповойОстаткиИОбороты.Субконто2 = ТиповойОбороты.КорСубконто2
            И ТиповойОстаткиИОбороты.Субконто3 = ТиповойОбороты.КорСубконто3
            И ТиповойОстаткиИОбороты.Счет = ТиповойОбороты.КорСчет
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан