helpf.pro
Регистрация

v8: Как получить дебеторскую задолженность

yury832
28.09.2016 04:24Прочитано: 5486

Здравствуйте! Можно ли запросом получить документы сформировавшие дебиторскую задолженность по контрагентам на дату в УТ 10. Сумма дебеторской задолженности не всегда равна суммам документов, то есть существуют частичные оплаты по этим документам.

Yandex
Возможно, вас также заинтересует
Реклама на портале
all4cf
28.09.2016 22:01Ответ № 1

Нужно брать с регистра Взаиморасчеты по документам расчетов:

Вот пример, но его нужно допилить для вас:

Код 1C v 8.х
 ВЫБРАТЬ
РегВзаим.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
СУММА(РегВзаим.СуммаВзаиморасчетовОстаток) КАК СуммаЗадолженности,
РегВзаим.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности - РАЗНОСТЬДАТ(РегВзаим.ДокументРасчетовСКонтрагентом.Дата,ДатаОтчета, ДЕНЬ) КАК ОсталосьДней,
ДОБАВИТЬКДАТЕ(РегВзаим.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, РегВзаим.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) КАК ОплатаДоДаты
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ДатаОтчета, ) КАК РегВзаим
ГДЕ
РегВзаим.СуммаВзаиморасчетовОстаток > 0
И РегВзаим.ДоговорКонтрагента.Менеджер =Менеджер


СГРУППИРОВАТЬ ПО
РегВзаим.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности - РАЗНОСТЬДАТ(РегВзаим.ДокументРасчетовСКонтрагентом.Дата,ДатаОтчета, ДЕНЬ),
РегВзаим.ДокументРасчетовСКонтрагентом,
ДОБАВИТЬКДАТЕ(РегВзаим.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, РегВзаим.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)
yury832
29.09.2016 04:01Ответ № 2

Спасибо, за ответ. Но в организации не ведут учёт по документам расчётов с контрагентами.

Вот список регистров которые формирует документ реализация:

all4cf
29.09.2016 14:56Ответ № 3

тогда рассчитать просрочку будет сложно )(( только по регистру взаиморасчетов

нужно включать учет и перепроводить документ

yury832
29.09.2016 16:36Ответ № 4

А если через временные таблицы и операторы ВЫБОР КОГДА ... ТОГДА ... ИНАЧЕ. Нашёл на просторах интернета следующее решение, но запутался в его логике. Может быть глянете: 

"ВЫБРАТЬ

ДАТАВРЕМЯ(2016, 1, 1) КАК Дата,

"№1" КАК Документ,

15 КАК Сумма

ПОМЕСТИТЬ ВТ

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

ВЫБРАТЬ

ДАТАВРЕМЯ(2016, 1, 2),

"№2",

10

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

ВЫБРАТЬ

ДАТАВРЕМЯ(2016, 1, 3),

"№3",

13

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

ВЫБРАТЬ

ДАТАВРЕМЯ(3999, 12, 31),

"<документ не определен>",

ВЫРАЗИТЬ(&СуммаКПогашению КАК ЧИСЛО)

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

ВТ.Дата,

ВТ.Документ,

СУММА(ВТКопия.Сумма) - ВТ.Сумма КАК СуммаДо,

ВТ.Сумма,

СУММА(ВТКопия.Сумма) КАК СуммаПосле

ПОМЕСТИТЬ ВТ1

ИЗ

ВТ КАК ВТ

ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК ВТКопия

ПО ВТ.Дата >= ВТКопия.Дата

СГРУППИРОВАТЬ ПО

ВТ.Дата,

ВТ.Документ,

ВТ.Сумма

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

ВТ1.Дата,

ВТ1.Документ,

ВТ1.СуммаДо,

ВТ1.Сумма,

ВТ1.СуммаПосле,

(ВЫРАЗИТЬ(&СуммаКПогашению КАК ЧИСЛО)) - ВТ1.СуммаДо КАК ОстатокДолгаПоНакладной

ПОМЕСТИТЬ ВТ2

ИЗ

ВТ1 КАК ВТ1

ГДЕ

(ВЫРАЗИТЬ(&СуммаКПогашению КАК ЧИСЛО)) > ВТ1.СуммаДо

И (ВЫРАЗИТЬ(&СуммаКПогашению КАК ЧИСЛО)) <= ВТ1.СуммаПосле

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

ВТ.Дата,

ВТ.Документ,

ВТ.Сумма КАК СуммаНакладной,

ВЫБОР

КОГДА ВТ.Документ = ВТ2.Документ

ТОГДА ВТ2.ОстатокДолгаПоНакладной

ИНАЧЕ ВТ.Сумма

КОНЕЦ КАК СуммаКПогашениюПоНакладной

ИЗ

ВТ КАК ВТ

ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ2 КАК ВТ2

ПО ВТ.Дата <= ВТ2.Дата"

all4cf
29.09.2016 21:56Ответ № 5

тебе постоянно придется делать расчет с начала ведения учета чтобы корректно посчитать все приходы и реализации и остаток денег... 

сложно, долго и муторно ) 1 вариант решения не оспорим)

yury832
03.10.2016 06:08Ответ № 6

Заставить  большую компанию вести учёт по документам расчёта, когда у них уже всё давно и правильно работает - думаю ещё муторней.

all4cf
03.10.2016 12:09Ответ № 7

Это условие системы! Если хотят видеть просрочку по документам, то надо включать

не включат, то будут видеть только общие взаиморасчеты

Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.