Имя: Пароль:
1C
 
8.2 Как получить сальдо начальной и конечной задолженности контрагента
0 Admin_Net_1C
 
21.12.10
06:51
Сильно не пинайте плиз, платформу 8.2 только осваиваю. Пишу учебную ИБ, в которой есть следующие объекты:
1) ПланСчетов.Управленческий. Есть два предопределенных счета 60 Поставщики (АП) и 62 Покупатели (АП). У обоих одно субконто типа СправочникСсылка.Контрагенты.
2) РегистрБухгалтерии.РегистрБухгалтерииУправленческий, с ресурсом Сумма (Ч15.2), по которому делаю движения следующие документы (пример с суммами):
ПоступлениеТоваров Дт 41 Кт 60 <Контрагент> 400р.
Операция Дт 60 <Контрагент> Кт 51 300р.
Выписка Дт 60 <Контрагент> Кт 51 100р.
Реализация Дт 62 <Контрагент> Кт 90 2000р.
Выписка Дт 51 Кт 62 <Контрагент> 1000р.
Создал документ АктСверкиВзаиморасчетов, в котором необходимо отразить суммы начального и конечного долга контрагента и движения в разрезе документов.  Контрагент естественно может выступать как поставщиком так и покупателем по отношению к фирме. Движения получил с помощью запроса к виртуальной таблице "ДвиженияССубконто":
<Документ> <УвеличениеДолга> <УменьшениеДолга>
Поступление товаров  <Null> 400р.
Операция <Null> 300р.
Выписка <Null> 100р.
Реализация 2000р.<Null>
Выписка <Null> 1000р.
Таким образом, конечный долг клиента составляет 2000 - (400+300+100+1000) = 200р. Вопрос, каким запросом получить начальное и конечное сальдо задолженности контрагента? Перепробовал массу вариантов, всю голову сломал уже, не получается (
1 Admin_Net_1C
 
21.12.10
08:55
ап
2 Prikum
 
21.12.10
08:57
Про виртуальные таблицы слышал? Ты хоть типовую открой и сразу увидешь!
3 Prikum
 
21.12.10
08:58
РегистрБухгалтерии.Управленческий.ОстаткиИОбороты(...)
4 Admin_Net_1C
 
21.12.10
09:00
(3) представь себе только изучаю еще и даже про такую слышал, ты такой умный объясни, как вывести сальдо задолжности, если по контрагенту движения как по 60, так и по 62 счету... суть вопроса в этом, а не какой ВТ воспользоваться
5 Prikum
 
21.12.10
09:02
а типа связать таблицы не судьба? или за тебя весь запрос написать?
6 Defender aka LINN
 
21.12.10
09:03
(4) И?
7 Admin_Net_1C
 
21.12.10
09:05
(5) сомневаюсь что сможешь... связать судьба, только что с чем... вот запрос на выборку движений:

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

УПОРЯДОЧИТЬ ПО
   РегистраторМоментВремени

может объяснишь на пальцах как в нем еще и сальдо задолжности получить, если не затруднит?
8 Prikum
 
21.12.10
09:19
(7) В ДвиженияССубконто не содержит остатков
9 Admin_Net_1C
 
21.12.10
09:21
(8) ты не поверишь, но для меня это не новость. Запрос я привел, чтобы было понятно кким образом получаю движения, а про остатки см (1)
10 Admin_Net_1C
 
21.12.10
09:44
может еще кто взглянет...
11 mikecool
 
21.12.10
09:52
(9) ниче не понял - все знаешь, а сказать не можешь?
12 Admin_Net_1C
 
21.12.10
09:53
(11) возможно и так, еще раз повторюсь 8.2 только начал изучать... что конкретно не понятно в сабже и в процессе обсуждения?
13 Prikum
 
21.12.10
09:55
На что еще глядеть? Тебе же сказал в данной таблице нет остатков, связывай с той где они есть!
14 Prikum
 
21.12.10
09:55
Да и открой типовую БП и посмотри как там это реализовано!
15 mikecool
 
21.12.10
09:57
(12) тебе в (4) уже подсказали, что непонятно?
16 Mnemonic1C
 
21.12.10
10:01
(10) В ДвиженияССубконто нет сальдо, свяжи с ВТ ОстаткиИОбороты по субконто "Контрагент"
17 Prikum
 
21.12.10
10:03
(16) Уже предлагали, не хочет!
18 Admin_Net_1C
 
21.12.10
10:24
(15)-(17) пойдем другим путем. Запрос на выборку начального и конечного остатка:

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

в результате СуммаКонечныйОстаток = 1000, должно быть 200

вопрос, как связать этот запрос с ВТ ОстаткиИОбороты, чтобы получить конечное сальдо = 200?
19 Prikum
 
21.12.10
10:27
ПоступлениеТоваров Дт 41 Кт 60 <Контрагент> 400р. Вы должны 400
Операция Дт 60 <Контрагент> Кт 51 300р. Вы должны 100
Выписка Дт 60 <Контрагент> Кт 51 100р.  Вы должны 0
Реализация Дт 62 <Контрагент> Кт 90 2000р. Вам должны 2000
Выписка Дт 51 Кт 62 <Контрагент> 1000р. Вам должны 1000

Остаток 1000, что не так?
20 Admin_Net_1C
 
21.12.10
10:35
(19) все понял, не правильно сформировал движения взаиморасчетов в (0), спасибо
21 Prikum
 
21.12.10
10:37
Иногда листик бумажки и карандаш, очень помогают! ;)
22 Admin_Net_1C
 
21.12.10
10:48
(21) знаю ) просто запарился с чьей точки зрения долг контрагента рассматривать, вот и намешал в движениях что попало

всем спасибо, тема закрыта
23 Escander
 
21.12.10
11:19
Admin_Net_1C, не спортивно!
24 Prikum
 
21.12.10
21:44
(23) а ты что поболтать хочешь?