Содержание:
2. Остатки регистра бухгалтерии
1. План счетов в 1С
Для начала вспомним, что российский план счетов в 1С устроен иерархически (аналогично иерархическому справочнику). Синтетические счета бухгалтерского учета – это верхний уровень иерархии, который используется в отчетности и для получения общих показателей экономического состояния предприятия. Также и контроль методом двойной записи осуществляется по синтетическим счетам.
В проводках же обычно задействованы аналитические счета бухгалтерского учета, то есть подчиненные и детализирующие субсчета.
По самим синтетическим счетам проводок может и не быть.
Таким образом, при получении достоверных остатков по синтетическим счетам необходимо собирать остатки по иерархии субсчетов.
2. Остатки регистра бухгалтерии
Получить остатки регистра бухгалтерии с учетом иерархии можно запросом с использованием конструкции Счет В Иерархии.
Например:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
| ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт,
| ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&МоментВремени, Счет В ИЕРАРХИИ (&СчетБУ), &ВидыСубконто, Организация = &Организация) КАК ХозрасчетныйОстатки";
Запрос.УстановитьПараметр("ВидыСубконто", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
Запрос.УстановитьПараметр("МоментВремени", Дата);
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("СчетБУ", ПланыСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
В примере используем виртуальную таблицу регистра бухгалтерии Остатки. Для целей эффективности заполняем параметры виртуальной таблицы:
РегистрБухгалтерии.Хозрасчетный.Остатки(<Период>, <Условиесчета>, <Субконто>, <Условие>)
· Период – на какой момент получаются остатки;
· Условие счета – ключевой параметр для получения остатков по синтетическим счетам (здесь и указываем конструкцию иерархического отбора);
· Субконто – возможность упорядоченного обращения к видам субконто;
· Условие – дополнительные условия отбора.
3. Данные виртуальной таблицы
Поясним, какие данные мы получили.
СуммаОстаток – это дебетовый остаток счета минус кредитовый остаток. Если счет только активный или только пассивный, то СуммаОстаток однозначно определяет остаток на счете, поскольку у активного счета остаток может быть только дебетовым, а у пассивного – кредитовым.
Но остаток активно/пассивного счета может быть как дебетовым, так и кредитовым. И в этом случае нельзя однозначно определить ситуацию, если значение «СуммаОстаток» положительное. Возможно, это положительный дебетовый остаток, а возможно — отрицательный кредитовый. Поэтому во избежание ошибки лучше использовать поля СуммаОстатокДт и СуммаОстатокКт.
Специалист компании «Кодерлайн»
Иван Горбунов