Имя: Пароль:
1C
1С v8
Все документы расчетов с долгами на каждую дату в запросе
0 Vanechka
 
16.05.13
11:56
Здравствуйте! хочу получить в запросе остаток долга по документу расчетов (УТ 10.3), по взаиморасчетам с контрагентами
1.01.01
    Реал № 1 долг 1000 р
    Реал № 2 долг 1000 р
2.01.01
    Реал № 1 долг 1000 р
    Реал № 2 долг 1000 р
3.01.01
    Реал № 1 долг 1000 р
    Реал № 2 долг 1000 р
4.01.01
    Реал № 1 долг 1000 р
    Реал № 2 долг 1000 р
5.01.01
    Реал № 1 долг 1000 р
    Реал № 2 долг 1000 р
6.01.01
    Реал № 1 долг 1000 р
    Реал № 2 долг 1000 р
7.01.01
    тут долг закрыли

то есть на каждую дату выводить все документы расчетов, по которым есть долг - ума не приложу как это сделать в одном запросе?
1 Rovan
 
гуру
16.05.13
11:57
2 Vanechka
 
16.05.13
11:58
(1) - подойдет, ту просто регистр накопления!?
3 Rovan
 
гуру
16.05.13
12:08
(2) чуть по-другому:
делаешь суммирование до нужной даты
4 Vanechka
 
16.05.13
12:10
(3) - а можешь пример кинуть?
5 Vanechka
 
16.05.13
12:25
ап
6 Vanechka
 
16.05.13
12:31
ну вот и все молчат - ни у кого нет никаких мыслей что - ли товарищи!?
7 roman52
 
16.05.13
12:39
(6) раскуривай (1), готовый пример не поможет, т.к. нужно понять суть
8 Vanechka
 
16.05.13
12:44
(7) - но все же...
9 Rovan
 
гуру
16.05.13
12:54
(8) напиши хоть что-то самостятельно... подскажем что дальше делать
10 roman52
 
16.05.13
12:57
у меня УТ нет, поэтому держи пример примера как считать расход с начала месяца в БУХ
ВЫБРАТЬ//расход с начала месяца
   РегламентированныйПроизводственныйКалендарь.ДатаКалендаря,    СУММА(Месяц.КоличествоОборотКт) КАК Количество
ИЗ                                                                                  
   РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
   ЛЕВОЕ СОЕДИНЕНИЕ
   (
   ВЫБРАТЬ
       ОборотыМесяц.Период КАК Период,
       ОборотыМесяц.КоличествоОборотКт
   ИЗ                                                                                  
       РегистрБухгалтерии.Хозрасчетный.Обороты({&Дата1}, {&Дата2}, ДЕНЬ, Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ГотоваяПродукция), , Субконто1 В (&Номенклатуры), , ) КАК ОборотыМесяц                
   ) КАК Месяц ПО        РегламентированныйПроизводственныйКалендарь.ДатаКалендаря>=Месяц.Период
ГДЕ
   РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &Дата1 И &Дата2
СГРУППИРОВАТЬ ПО
   РегламентированныйПроизводственныйКалендарь.ДатаКалендаря


ключевое место "ПО        РегламентированныйПроизводственныйКалендарь.ДатаКалендаря!!!>=!!!М"
11 roman52
 
16.05.13
12:59
КАК Месяц ПО        РегламентированныйПроизводственныйКалендарь.ДатаКалендаря!!!>=!!!Месяц.Период
12 Vanechka
 
16.05.13
14:53
(10)(11) Да спасибо, попробую
13 Vanechka
 
16.05.13
18:38
Вот что получилось если кому интересно


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

УПОРЯДОЧИТЬ ПО
   ДатаКалендаря
ИТОГИ
   СУММА(Остаток)
ПО
   ДатаКалендаря,
   ДокументРасчетовСКонтрагентом