HelpF.pro

Как получить сальдо дебетовое или кредитовое?

Примеры универсальных функций 1С для получения Конечных Сальдо Дк и Дт:
Код 1C v 8.х
  //Перед использованием укажите значения переменных:
знОрганизация = Организация;
КонПериода = ТекущаяДата();

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

Результат = Запрос.Выполнить();
Результат = Результат.Выбрать();
Если Результат.Следующий() Тогда
Возврат Результат.СуммаОстатокДт;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции

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

Результат = Запрос.Выполнить();
Результат = Результат.Выбрать();
Если Результат.Следующий() Тогда
Возврат Результат.СуммаОстатокКт;
Иначе
Возврат 0;
КонецЕсли;

КонецФункции


Пример использования:
Код 1C v 8.х
 ТекЗнач = СКД("04.01")-СКК("05")+СКД("08.05"); 

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/1426.html