Имя: Пароль:
1C
 
Как вывести начальный и конечный остаток в одну колонку по датам в СКД отчете
0 Raydon
 
29.07.25
08:43
Есть СКД отчет, в запросе вывел начальный остаток ДС нулевой датой, а также по указанному периоду на каждый день есть обороты, ну то есть списание и поступление. Нужно вывести на каждую дату начальный остаток, пришло, ушло и в конце сальдо, ну то есть сколько денег осталось, потом эту сумму вывести как начальную на следующую уже дату. Структура отчета табличная, где строки это все основные данные, а колонки это даты. Подскажите пожалуйста, как можно сделать, уже по разному пробовал, пока не получается.
УТ11.5 1С 8.3.24.1586
1 Мультук
 
гуру
29.07.25
08:52
(0)

В УТ11.5 есть типовой отчёт  "Движения денежных средств"
В 99% случаев его хватает "на все случаи жизни"
2 Ненавижу 1С
 
гуру
29.07.25
08:52
(0) есть виртуальные таблицы ОстаткиИОбороты, там можно задать периодичность ДЕНЬ
3 Raydon
 
29.07.25
09:06
(1) да, согласен, но тут немного кое-что другое надо, поэтому приходится вот новый отчет делать
4 Raydon
 
29.07.25
08:59
(2) о, спасибо за информацию, пойду изучать и пробовать
5 Raydon
 
29.07.25
09:01
(2) а, я понял о чем вы, не, к сожалению тут это не поможет, так как запрос собран из разных регистров и документов
6 Raydon
 
29.07.25
09:03
У меня получилось сделать через функцию скдшную ВычислитьВыражение, но теперь не могу конечный остаток с 1 колонки перекинуть на начальный остаток 2 колонки
7 Fish
 
гуру
29.07.25
09:07
(6) А почему не хочешь запросом это сделать?
8 Мультук
 
гуру
29.07.25
09:19
(5)
Покажите текст запроса
9 Raydon
 
29.07.25
09:21
(7) Пробовал запросом, но корректно не получается все равно. У меня есть временная таблица с остатком ДС на начало указанного периода,  таблица с поступлениями ДС и еще одна таблица с  задолженностями.
Как к остатку с нулевой датой в запросе присвоить обороты, чтобы на каждый день получать конечный остаток. К сожалению в каждой дате будет своя туса, то есть по нарастающей это не сделаешь
10 Raydon
 
29.07.25
09:27
(8)

ВЫБРАТЬ
  ДенежныеСредстваНаличныеОстатки.СуммаОстаток КАК СуммаОстаток,
  ДенежныеСредстваНаличныеОстатки.Организация КАК Организация,
  "Касса" КАК ДС,
  ДенежныеСредстваНаличныеОстатки.Касса КАК Касса
  ПОМЕСТИТЬ ТаблицаОстатки
ИЗ
  РегистрНакопления.ДенежныеСредстваНаличные.Остатки(ДОБАВИТЬКДАТЕ(&КонецПериода, ДЕНЬ, 1), ) КАК ДенежныеСредстваНаличныеОстатки

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

ВЫБРАТЬ
  ДенежныеСредстваНаличныеОстатки.СуммаОстаток,
  ДенежныеСредстваНаличныеОстатки.Организация,
  "Собственные",
  ДенежныеСредстваНаличныеОстатки.БанковскийСчет
ИЗ
  РегистрНакопления.ДенежныеСредстваБезналичные.Остатки(ДОБАВИТЬКДАТЕ(&КонецПериода, ДЕНЬ, 1), ) КАК ДенежныеСредстваНаличныеОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
  СУММА(ТаблицаОстатки.СуммаОстаток) КАК СуммаОстаток,
  ТаблицаОстатки.Организация КАК Организация,
  ТаблицаОстатки.ДС КАК ДС,
  ТаблицаОстатки.Касса КАК Касса    
  Поместить ТаблицаСДСВНаличии
ИЗ
  ТаблицаОстатки КАК ТаблицаОстатки

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

;
ВЫБРАТЬ
  СУММА(РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДолгКонечныйОстаток) КАК ДолгОстаток,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Партнер КАК Партнер,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДатаПлановогоПогашения КАК ДатаПлановогоПогашения,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Организация КАК Организация,
  NULL КАК Просрочено
ПОМЕСТИТЬ ТаблицаОбщая
ИЗ
  РегистрНакопления.РасчетыСКлиентамиПоСрокам.ОстаткиИОбороты КАК РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ
ГДЕ
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДатаВозникновения >= ДАТАВРЕМЯ(2022, 1, 1)
  И РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДолгКонечныйОстаток > 0
  И РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДатаПлановогоПогашения МЕЖДУ &НачалоПериода И &КонецПериода  
  И РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Партнер.ОсновнойМенеджер.Наименование <> ""

СГРУППИРОВАТЬ ПО
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Партнер,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДатаПлановогоПогашения,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Организация
  
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
  NULL,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Партнер КАК Партнер,
  ДАТАВРЕМЯ(1, 1, 1) КАК ДатаПлановогоПогашения,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Организация КАК Организация,
  СУММА(РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДолгКонечныйОстаток)
ИЗ
  РегистрНакопления.РасчетыСКлиентамиПоСрокам.ОстаткиИОбороты КАК РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ
ГДЕ
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДатаВозникновения >= ДАТАВРЕМЯ(2022, 1, 1)
  И РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДолгКонечныйОстаток > 0
  И РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДатаПлановогоПогашения < &НачалоПериода
  И РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Партнер.ОсновнойМенеджер.Наименование <> ""

СГРУППИРОВАТЬ ПО
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Партнер,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.ДатаПлановогоПогашения,
  РасчетыСКлиентамиПоСрокамОстаткиИОборотыПМ.АналитикаУчетаПоПартнерам.Организация
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
  СУММА(ТаблицаОбщая.ДолгОстаток) КАК ДолгОстаток,
  ТаблицаОбщая.Партнер КАК Партнер,
  ТаблицаОбщая.ДатаПлановогоПогашения КАК ДатаПлановогоПогашения,
  ТаблицаОбщая.Организация КАК Организация,
  СУММА(ТаблицаОбщая.Просрочено) КАК Просрочено
  Поместить ТаблицаДЗ
ИЗ
  ТаблицаОбщая КАК ТаблицаОбщая

СГРУППИРОВАТЬ ПО
  ТаблицаОбщая.Партнер,
  ТаблицаОбщая.ДатаПлановогоПогашения,
  ТаблицаОбщая.Организация
; 

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

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

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

ВЫБРАТЬ      
  КредитныеДС.Кредитные,
  NULL,    
  КредитныеДС.Организация,
  "Кредитные",
  "ДС",    
  NULL,  
  ДАТАВРЕМЯ(1, 1, 1),
  NULL,
  КредитныеДС.Договор,
  КредитныеДС.Партнер
ИЗ
  КредитныеДС КАК КредитныеДС

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

ВЫБРАТЬ
  ТаблицаДЗ.ДолгОстаток,
  ТаблицаДЗ.Просрочено,
  ТаблицаДЗ.Организация,
  "Поступления (ДЗ)",
  "Поступления (ДЗ)",  
  NULL,  
  ТаблицаДЗ.ДатаПлановогоПогашения,
  NULL,
  NULL,
  ТаблицаДЗ.Партнер
ИЗ
  ТаблицаДЗ КАК ТаблицаДЗ  

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

ВЫБРАТЬ
  - ТаблицаЗРС.СуммаДокумента,  
  ТаблицаЗРС.Просрочено,
  ТаблицаЗРС.Ссылка.Организация,
  ТаблицаЗРС.СтатьяДвиженияДенежныхСредств,
  "Списание (КЗ)",  
  NULL,
  ТаблицаЗРС.ПлановаяДатаПлатежа,
  ТаблицаЗРС.Ссылка,
  NULL,
  ТаблицаЗРС.Ссылка.Партнер
ИЗ
  ТаблицаЗРС КАК ТаблицаЗРС
11 Fish
 
гуру
29.07.25
09:23
(9) А в чём проблема? Соединяешь таблицу саму с собой и берешь остатки на предыдущую дату, как начальный остаток на текущую.
Но (8) прав. Не видя изначального текста запроса, что-то советовать сложно.
12 Raydon
 
29.07.25
11:00
(11) запрос предоставил выше