- •11.1. Регистры- источники данных для запроса
- •11.2. Примеры запросов к регистрам бухгалтерии
- •Структура регистра бухгалтерии
- •Движения без субконто
- •Движения с указанием субконто
- •Значения субконто
- •Остатки по счетам
- •Валютные остатки по счетам
- •Обороты по счетам
- •Обороты между счетами
- •Оборотно-сальдовая ведомость
- •Обороты ДтКт
Значения субконто
Приводится фрагмент из процедуры Печать() модуля документа «ПередачаОборудованияВМонтаж» для печати списка оборудования (элементы - справочника «Номенклатура»), переданного в монтаж с помощью данного документа для увеличения стоимости объекта строительства.
Используется соединение основной таблицы регистра бухгалтерии «Хозрасчетный» с его дополнительной таблицей, хранящей значения субконто
Пример 3.
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("Вид", ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
Запрос.Текст =
"ВЫБРАТЬ
|ХозрасчетныйСубконто.Значение.НаименованиеПолное КАК
| ОборудованиеНаименование,
|ХозрасчетныйСубконто.Значение КАК Оборудование,
|Хозрасчетный.Сумма КАК СтоимостьВсего,
|Хозрасчетный.КоличествоКт КАК Количество
|ИЗ
|РегистрБухгалтерии.Основной КАК Хозрасчетный
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Основной.Субконто КАК
| ХозрасчетныйСубконто
|ПО Хозрасчетный.Регистратор = ХозрасчетныйСубконто.Регистратор И
|Хозрасчетный.НомерСтроки = ХозрасчетныйСубконто.НомерСтроки
|
|ГДЕ
| Хозрасчетный.Регистратор = &Ссылка И
| (Хозрасчетный.Активность) И
| ХозрасчетныйСубконто.Вид = &Вид";
ВыборкаПоОборудованию = Запрос.Выполнить().Выбрать();
Остатки по счетам
Абсолютно необходимая информация для бухгалтера - остатки по счетам. Сформируем отчет, который будет показывать остатки по счетам для каждой организации и консолидированный остаток по счету. Для этого нам понадобится следующий запрос:
Пример 4.
|BЫБPATb
|ОсновнойОстатки.Организация КАК Организация,
|ОсновнойОстатки.Счет КАК Счет,
|ОсновнойОстатки.СуммаОстаток КАК СуммаОстаток
|ИЗ
|РегистрБухгалтерии.Основной.Остатки КАК ОсновнойОстатки
|УПОРЯДОЧИТЬ ПО
|ОсновнойОстатки.Счет.Код
|ИТОГИ СУММА(СуммаОстаток) ПО
|Организация,
|Счет
Валютные остатки по счетам
Так как в нашем регистре есть измерение Валюта, то возможно получить остатки по каждой валюте в разрезе счетов и организаций. Это можно сделать следующим запросом:
Пример 5а.
|ВЫБРАТЬ
|ОсновнойОстатки.Организация КАК Организация,
|ОсновнойОстатки.Счет КАК, Счет,
|ОсновнойОстатки.Валюта КАК Валюта,
|ОсновнойОстатки.ВалютнаяСуммаОстаток КАК Остаток
|ИЗ
|РегистрБухгалтерии.Основной.Остатки КАК ОсновнойОстатки
|УПОРЯДОЧИТЬ ПО
|ОсновнойОстатки.Счет.Код
|ИТОГИ СУММА(Остаток) ПО
|Организация,
|Счет,
|Валюта
Пример 5б. (вызов регистра-источника с параметрами)
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Счет71", ПланыСчетов.Хозрасчетный.РасчетыСПодотчетнымиЛицами);
Запрос.УстановитьПараметр("Сотрудник", Шапка.ПодотчетноеЛицо);
Запрос.УстановитьПараметр("Организация",Шапка.Организация);
Запрос.УстановитьПараметр("ДатаИтогов", Ссылка.МоментВремени());
Запрос.Текст = "
|ВЫБРАТЬ
|ХозрасчетныйОстатки.Счет,
|ХозрасчетныйОстатки.СуммаОстатокДт,
|ХозрасчетныйОстатки.СуммаОстатокКт
|ИЗ
|РегистрБухгалтерии. Хозрасчетный.Остатки(&ДатаИтогов, Счет В ИЕРАРХИИ (&Счет71), ,
| Организация = &Организация И Субконто1 = &Сотрудник) КАК ХозрасчетныйОстатки";
ПредыдущийАванс = Запрос.Выполнить().Выбрать();