Имя: Пароль:
1C
1С v8
Как получить дебетовый остаток, а не кредитовый с минусом ?
0 Koliaff
 
25.04.12
12:55
Запрос71 = Новый Запрос;
Запрос71.Текст = "ВЫБРАТЬ
                |    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаОборот,
                |    ХозрасчетныйОстаткиИОбороты.Период КАК Период
                |ИЗ
                |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
                |            &НачПериода,
                |            &КонПериода,
                |            Месяц,
                |            ,
                |            Счет В ИЕРАРХИИ (&Счет76)
                |                ИЛИ Счет В ИЕРАРХИИ (&Счет71)
                |                ИЛИ Счет В ИЕРАРХИИ (&Счет97),
                |            ,
                |            ) КАК ХозрасчетныйОстаткиИОбороты
                |ИТОГИ
                |    СУММА(СуммаОборот)
                |ПО
                |    Период";
                 
                 
Запрос71.УстановитьПараметр("НачПериода",НачПериода);
Запрос71.УстановитьПараметр("КонПериода",КонПериода);
Запрос71.УстановитьПараметр("Счет71",ПланыСчетов.Хозрасчетный.НайтиПоКоду("71"));
Запрос71.УстановитьПараметр("Счет76",ПланыСчетов.Хозрасчетный.НайтиПоКоду("76"));
Запрос71.УстановитьПараметр("Счет97",ПланыСчетов.Хозрасчетный.НайтиПоКоду("97"));
============================
Запросом надо получить сумму дебетовых остатков по счетам 71,76,97.
По 71 счету на конец периода кредитовый остаток (счет 71 активно-пассивный). 1С-ка понимает кредитовый остаток как отрицательный дебетовый и отнимает его от суммы дебетовых остатков по счетам 76 и 97. Как это обойти ?
1 butterbean
 
25.04.12
12:58
минус кредитовый
2 butterbean
 
25.04.12
12:58
(1)+ а ты хочешь скалдывать Дт и Кт что-ли??
3 fisher
 
25.04.12
13:00
Ну, обработай эту ситуацию через ВЫБОР
4 Плот
 
25.04.12
13:01
(0) Ниче не понял. На конец периода у тебя по счету Кт остаток?
5 Happy Bear
 
25.04.12
13:02
(0) через развернутое сальдо
6 Koliaff
 
25.04.12
13:04
(butterbean) нет мне нужен остаток по дебету, если его нет то ноль. А не так как программа делает подставляет мне кредитовый остаток по этому счету только с минусом.
(fisher) муторно это все, надо три таблицы соединять в таком случае и выбор будет громадным с разветвлениями, т.к. 76 тоже активно-пассивный счет.
(Плот) Да, на конец периода кредитовый остаток ! Но в запросе этот кредитовый остаток превращает в отрицательный дебетовый .
(Happy Bear) попробую сейчас...
7 Плот
 
25.04.12
13:07
(6) В таком случае, почему не возьмешь Дт оборот?
8 Koliaff
 
25.04.12
13:09
(Happy Bear) Нет, результат тот же.
Запрос71.Текст = "ВЫБРАТЬ
                |    ХозрасчетныйОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт КАК СуммаОборот,
                |    ХозрасчетныйОстаткиИОбороты.Период КАК Период
                |ИЗ
                |    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
                |            &НачПериода,
                |            &КонПериода,
                |            Месяц,
                |            ,
                |            Счет В ИЕРАРХИИ (&Счет76)
                |                ИЛИ Счет В ИЕРАРХИИ (&Счет71)
                |                ИЛИ Счет В ИЕРАРХИИ (&Счет97),
                |            ,
                |            ) КАК ХозрасчетныйОстаткиИОбороты
                |ИТОГИ
                |    СУММА(СуммаОборот)
                |ПО
                |    Период";
9 Koliaff
 
25.04.12
13:10
(Happy Bear) Я вообще развернутый остаток взял, а ты имел ввиду развернутое сальдо ? Поясни...
10 Koliaff
 
25.04.12
13:11
(Плот) Дебетовый оборот <> Дебетовый остаток
11 butterbean
 
25.04.12
13:12
(8) вроде надо счет добавить в выбранные поля
12 Плот
 
25.04.12
13:15
(8) ХозрасчетныйОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокКт КАК СуммаОборот + (3)
13 Koliaff
 
25.04.12
13:19
Через "выбор" не хочу, не красиво все это ... Неужели нельзя как-нибудь получить сумму дебетовых остатов по счетам, хоть они и активно-пассивные из одной таблицы ?
14 Koliaff
 
25.04.12
13:20
(butterbean) Добавил новое поле "счет", результат не изменился, кредитовый остаток по 71 счету отнимает...
15 Плот
 
25.04.12
13:25
(14) Все таки мне кажется, что ты хочешь получить ДО. Что ты хочешь получить в конечном итоге?
16 Koliaff
 
25.04.12
13:31
(Плот) Да мне в конечном итоге нужно получить сумму дебетовых остатков по счетам 71,76,97.

В оборотно-сальдовой ведомости вот такая картина :

Счет | Остаток Дт | Остаток Кт|
71   |     0      |     X     |
76   |     Y      |     0     |
97   |     Z      |     0     |
=====================================

т.е. мне надо сложить Y+Z, т.к. дебетовый остаток по 71 счету равен нулю. А программа мне отнимает отрицательный Кт остаток по 71 счету, т.е. формула превращается в Y+Z-Х.
17 Koliaff
 
25.04.12
13:33
71   |     0      |     X     |
76   |     Y      |     0     |
97   |     Z      |     0     |

Для наглядности ...
18 Никола_
Питерский
 
25.04.12
13:39
Есть такое поле как развернутый остаток, разве это не то что тебе нужно ?
19 Koliaff
 
25.04.12
13:43
(Никола_Питерский) Запрос с этим полем делал, результат не изменился. Или как его использовать ? в (8) привел текст запроса с этим полем. Результат не изменился по сравнению с (0).
20 butterbean
 
25.04.12
13:49
(19) может просто изменения не сохранились?? проверь - должно все работать
21 Koliaff
 
25.04.12
13:53
(butterbean) Проверил, результат не изменился. Вычитает кредитовый остаток по 71 счету. Платформа 8.2.14.537
22 Дядя Лёша
 
25.04.12
13:55
Добавь в запрос
ХозрасчетныйОстаткиИОбороты.Счет
23 Koliaff
 
25.04.12
14:03
(Дядя Лёша) Ага, работает. Даже с полем СуммаКонечныйОстатокДт, не говоря о СуммаКонечныйРазвернутыйОстатокДт. Подскажи почему так ?
(butterbean) Сори, ты первый это предлагал )
Вопрос закрыт, кроме Дядя Лёша и butterbean
Всем спасибо за обсуждение
24 butterbean
 
25.04.12
14:04
(23) >> Вопрос закрыт, кроме Дядя Лёша и butterbean
типа: "а вас Штирлиц я попрошу остаться" :-)
25 butterbean
 
25.04.12
14:05
по сабжу: без выбора счета остаток считается только с разворотом по периоду целиком, без учета счетов, ну и без разворота сальдо по ним соотвественно
26 Никола_
Питерский
 
25.04.12
14:22
Выдержка из книги "Реализация прикладных задач в системе 1С:Предприятие 8.2"

При решении задачи получения развернутых остатков всегда нужно исходить из формулы:
Остаток по <Итог> развернутый по <ПоляДетальнойВыборки>

Поля развернутых остатков, присутствующие в виртуальных таблицах в детальной выборке запроса,
полностью повторяют содержимое полей остатков(свернутых). Развернутые остатки имеют смысл только
при наличии в запросе итогов.