Имя: Пароль:
1C
1С v8
Программно получить остатки по бухгалтерскому счету
0 Iori
 
08.09.21
11:07
У меня проблема, остаток по счету полученный мною програмно, не сходится с остатком по этому же счету в оборотно сальдовой ведомости.  
Вот код функции, который использую для получения остатка по счету, ТекСчет - не является группой, ТекДата - установлена в конец дня.
Может кто подскажет, где у меня ошибка...

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

    Запрос.УстановитьПараметр("КонПериода", ТекДата);
    Запрос.УстановитьПараметр("Счет", ТекСчет);

    РезультатЗапроса = Запрос.Выполнить();
    выборка=РезультатЗапроса.выбрать();
    Если выборка.Следующий() Тогда
        Возврат выборка.СуммаОстатокДт;    
    КонецЕсли;
    
    Возврат 0;
КонецФункции
1 ДенисЧ
 
08.09.21
11:09
В последюю секунду даты есть документы?
2 ДенисЧ
 
08.09.21
11:09
И да... Белые люди в запросе к РБ обычно ещё и организацию показывают...
3 agntosha
 
08.09.21
11:12
конец периода дополни границей
4 hhhh
 
08.09.21
11:14
(0) надо ТекДата + 1

у вас остаток на начало секунды. А в оборотке остаток на конец секунды. Это два разных остатка
5 Dmitrii
 
гуру
08.09.21
11:15
1. Для КонПериода использовать границу или НачалоДня(КонецДня(ТекДата)+1).
2. Убедиться, что в оборотно-сальдовой ведомости показываются остатки свёрнутые.
3. Проверить остальные параметры (Организация, Подразделение).
6 Iori
 
08.09.21
11:22
(1) да есть четыре документа  23:59:59. попробую границу установить
7 Iori
 
08.09.21
11:27
Все заработало. Спасибо всем за подсказку.