Имя: Пароль:
1C
1С v8
Как получить остаток по счету в разрезе дебета и кредита?
,
0 snegovik
 
02.08.13
06:53
В литературе для получения остатка по счету предлагают следующий код:

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

Но ведь у некоторых счетов может быть и дебетовый, и кредитовый остаток. Как отдельно получить остаток по дебету и по кредиту, подскажите?
1 Капитан О
 
02.08.13
07:00
конструктор открывал?
2 snegovik
 
02.08.13
07:11
(1) Нет. Спасибо, посмотрел. Полагаю, надо добавить вот это:

|ГДЕ
|ХозрасчетныйОстатки.СуммаОстатокДт = &Счет";

Это если по дебету.
?
3 Капитан О
 
02.08.13
07:13
(2) скорей всего получишь ложь
4 Мимохожий Однако
 
02.08.13
07:17
(0)У некоторых счетов есть признак Активный или пассивный. У активного по кредиту будет ноль даже если ты в экселе увидишь минусовую сумму.
5 snegovik
 
02.08.13
07:26
(4) Причем тут эксель?)
И у активного не всегда будет плюс или ноль по дебету, может и заминусоваться, если учёт коряво идёт.
6 andreymongol82
 
02.08.13
07:36
(2) То есть у нас сумма должна быть равна счету. Да!
7 Мимохожий Однако
 
02.08.13
07:42
(5)Спорить о том как быть с корявым учетом можно бесконечно. Все семьи несчастны по-своему. А вот посмотреть как минуса показать на активном счете можно в любой типовой конфигурации в отчете ОСВ.
8 snegovik
 
02.08.13
07:47
Сделал вот так, вроде работает. Подводных камней нет никаких в такой конструкции?

Запрос = Новый Запрос;    
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    ХозрасчетныйОстатки.Организация,
    |    ХозрасчетныйОстатки.СуммаОстатокДт,
    |    ХозрасчетныйОстатки.СуммаОстатокКт
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
    |ГДЕ
    |    ХозрасчетныйОстатки.Организация = &Организация";
        
    Запрос.УстановитьПараметр("Период", КонецДня(Дата));
    Запрос.УстановитьПараметр("Счет"  , Сч_44_01);
    Запрос.УстановитьПараметр("Организация"  , Организация);
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Сообщить(Выборка.СуммаОстатокДт);
        Сообщить(Выборка.СуммаОстатокКт);
    КонецЦикла;
9 Мимохожий Однако
 
02.08.13
08:02
Какой признак в твоей конфигурации у счета 44.01?
10 snegovik
 
02.08.13
08:06
(9) Активный.
11 Мимохожий Однако
 
02.08.13
08:16
Сообщить(Выборка.СуммаОстатокКт); что показывает?
12 snegovik
 
02.08.13
08:17
(11) Показывает "0". Но там и по факту ноль.
13 Мимохожий Однако
 
02.08.13
08:25
Сделай проводку, чтобы вывести в минус и посмотри.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.