Была поставлена задача разделения данных по амортизации на 131 счету согласно счету учета ОС.
Для этого используется следующий запрос:
ВЫБРАТЬ
СчетаБухгалтерскогоУчетаОССрезПоследних.ОсновноеСредство.Ссылка КАК ссылка,
СчетаБухгалтерскогоУчетаОССрезПоследних.ОсновноеСредство.Код
ПОМЕСТИТЬ ОС
ИЗ
РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних КАК СчетаБухгалтерскогоУчетаОССрезПоследних
ГДЕ
СчетаБухгалтерскогоУчетаОССрезПоследних.СчетУчета В ИЕРАРХИИ(&СчетУчета)
И СчетаБухгалтерскогоУчетаОССрезПоследних.Активность = ИСТИНА
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ХозрасчетныйОстаткиИОбороты.Период КАК Период,
СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК СуммаОборотДт,
СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК СуммаОборотКт,
СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт) КАК СуммаКонечныйОстатокКт,
СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт) КАК СуммаНачальныйОстатокКт
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НП, &КП, Месяц, ДвиженияИГраницыПериода, Счет = &Счет, , Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОС КАК ОС
ПО ХозрасчетныйОстаткиИОбороты.Субконто1 = ОС.ссылка
СГРУППИРОВАТЬ ПО
ХозрасчетныйОстаткиИОбороты.Период
УПОРЯДОЧИТЬ ПО
Период
Если отчет формируется за месяц, то данные выбираются правильно. Если же берем более длинный период (как минимум, 3 месяца), то возникают проблемы с "внутренним" месяцем.
При подробном рассмотрении выплыла следующая заморочка. Если ОС полностью изношено, но не списано (т.е. по ОС нет никаких движений за период отчета), то запрос по 3 месяцам получает только две записи - за первый и последний месяц. Внимание, вопрос: это такая особенность 1С и следует собирать данные как-то по другому или можно как-то переписать запрос?
Правильно поставленный вопрос содержит до 90% ответа.