Имя: Пароль:
1C
1С v8
Как лучше сделать отчет по взаиморасчетам по ФИФО
0 palm1c
 
04.02.13
16:57
Добрый день.

Нужно написать отчет по взаиморасчетам с контрагентами, чтобы в отчет выводились по ФИФО документы движения, которые образовали конечный остаток долга на выбранную дату.

Прошу советов мудрых, как это лучше и правильней реализовать.

Пока что не знаю, как можно запросом получить таблицу с документами, в сумме сделавшими движения на определенную сумму - а именно сумму долга для каждого контрагента.

Буду рад Вашим мыслям по этому поводу.
Спасибо.
1 shuhard
 
04.02.13
17:01
(0) взять готовый что-то не позволяет ?
2 LegO
 
04.02.13
17:02
вести Учет по Заказам или по Документам расчетов с контрагентами.
3 palm1c
 
04.02.13
17:03
(2) Нет, не подходит. Так добавляем еще один разрез учета, по которому должны сходится взаиморасчеты+обязательное заполнение этой аналитики.
4 Михаил Козлов
 
04.02.13
17:04
Если конфигурация - КА, то РН "Расчеты организации по реализации".
5 Fragster
 
гуру
04.02.13
17:05
(3) нам нужен учет по документам но без учета по документам...
6 Fragster
 
гуру
04.02.13
17:05
ну запили ФИФО в проведение документов оплаты и последовательность
7 palm1c
 
04.02.13
17:07
(5) По ФИФО же!
8 LegO
 
04.02.13
17:08
Для 7.7 делал недавно.
Тупо выгружал в Таблицу значений и закрывал расходами первые незакрытые приходы.
Отчет работал не быстро, но работал.
9 Джинн
 
04.02.13
17:10
(8) Ну да. 2-4 часа - это разве время? Так, баловство...
10 LegO
 
04.02.13
17:14
(9) Ваши предложения или так попиз..ть зашли?
11 тшл
 
04.02.13
17:16
(0)Курс по СКД. Дмитрий Салихов. В нем твой отчет раскрыт полностью.
12 zippygrill
 
04.02.13
17:17
примерно как в (8) делал и я. сложный но получился.
13 palm1c
 
04.02.13
17:19
(8) То есть в ТЗ выгружались все движения регистра с отбором по измерениям?
14 palm1c
 
04.02.13
17:19
(11) Спасибо.
15 zippygrill
 
04.02.13
17:21
(13) как-бы да, ну и потом этот результат можешь разделить на 2 таблицы, расход и приход, конечно в рамках контрагент и договоров.
16 zippygrill
 
04.02.13
17:22
*контрагента
17 DrShad
 
04.02.13
17:23
(3) бред ибо документы расчетов в типовых конфах закрываются автоматом по ФИФО
18 Fragster
 
гуру
04.02.13
17:24
(17) тогда вообще ничего пилить не надо
19 DrShad
 
04.02.13
17:27
вот именно, просто нужно знать типовой функционал и кстати в типовых БП 2.0 документ расчетов как субконто является обязательным для счетов расчетов с покупателями/поставщиками
20 palm1c
 
04.02.13
18:02
(17),(19) Бред, ибо вести взиморасчеты по документам расчетов не собираюсь.
21 sanja26
 
04.02.13
18:06
(20) ну и запаришься считать. все пройдено давно. Будут расхождения, т.к. будешь использовать деление. Отчет будет просто монструозным и постепенно начнет выдавать бред
Казалось бы в чем сложность бухгалтеру распределить оплаты в конце дня...
22 sanja26
 
04.02.13
18:08
только (6) тогда
23 DrShad
 
04.02.13
18:08
(21) не нужно буху ничего распределять и уж тем более в конце дня, просто нужно соблюдать последовательность доков, а оплаты будут автоматом по ФИФО закрывать реализацию
24 DrShad
 
04.02.13
18:11
(20) ну и пилите тогда, Шура, пилите - она золотая, блеать
25 Академик_
Келдыш
 
04.02.13
18:43
Нормаль все будет. У меня по фефо так работает. Причем отсрочка в каждой реализации-поступлении.
26 Академик_
Келдыш
 
04.02.13
18:44
Гребет только все до начала времен.
27 Академик_
Келдыш
 
04.02.13
18:45
(23) а теперь первым января взамизачет в студию!
28 Джинн
 
04.02.13
18:50
(10) Наши предложения - не заниматься онанизмом и использовать типовой функционал.
29 DrShad
 
04.02.13
18:53
(27) какой взаимозачет?
30 DrShad
 
04.02.13
19:04
(27) ну что там насчет взаимозачета? бросай бухать
31 ssh2006
 
04.02.13
19:06
(0) Делал отчет по дебиторской задолженности на заданную дату, для случая когда взаиморасчеты в УТ ведут только по заказам. Неоплаченные документы определяются по фифо, если в договоре задана острочка, то показывается просрочка в календарных днях. Идея была подсмотрена где-то на инфостарте. Мой вариант запроса:

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Документы.Контрагент КАК Контрагент,
   Документы.ДоговорКонтрагента КАК ДоговорКонтрагента,
   Документы.ЗаказПокупателя КАК ЗаказПокупателя,
   Документы.ПериодСекунда КАК ПериодСекунда,
   Документы.Документ КАК Документ,
   Документы.Сумма КАК Сумма,
   СУММА(Документы1.Сумма) КАК СуммаИтог
ПОМЕСТИТЬ ДокументыСНарастающимИтогом
ИЗ
   Документы КАК Документы
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документы КАК Документы1
       ПО Документы.ЗаказПокупателя = Документы1.ЗаказПокупателя
           И Документы.Контрагент = Документы1.Контрагент
           И Документы.ДоговорКонтрагента = Документы1.ДоговорКонтрагента
           И (ВЫБОР
               КОГДА Документы.ПериодСекунда = Документы1.ПериодСекунда
                   ТОГДА Документы.Документ <= Документы1.Документ
               ИНАЧЕ Документы.ПериодСекунда < Документы1.ПериодСекунда
           КОНЕЦ)

СГРУППИРОВАТЬ ПО
   Документы.Контрагент,
   Документы.Документ,
   Документы.ДоговорКонтрагента,
   Документы.ЗаказПокупателя,
   Документы.ПериодСекунда,
   Документы.Сумма
;

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