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/faq/view/1426.html