Почему я не стал делать отчет обычным программным способом? Мне необходимы данные среднегодовой помесячно, как их получить запросом или с СКД в том виде котором мне нужны, я пока не знаю! Поэтому я и сделал на основании среднегодовой, проблема еще в том, что этот отчет построен на наборе данных - объект (я привык к запросам).
В первую очередь мне необходимо было получить среднюю балансовую (в типовом варианте, выводится только средняя остаточная стоимость), для этого я вычисляемое поле добавил поле "среднегодоваябалансовая" с выражением "СуммаБаланс", а в ресурсах выбрав созданное поле прописал: Сумма(СреднегодоваяБалансовая)/(ВЫБОР КОГДА Месяц(&ПериодОтчета) = 1 ТОГДА 13 ИНАЧЕ Месяц(&ПериодОтчета) КОНЕЦ)). Следующее мне нужно было получить с регистра бухгалтерии обороты по 10960 счету, с отбором по субконто:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет2,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто12,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто22,
ЖурналПроводокЕПСБУОбороты.Субконто3 КАК Субконто32,
ЖурналПроводокЕПСБУОбороты.КорСчет КАК КорСчет2,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто12,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто22,
ЖурналПроводокЕПСБУОбороты.КорСубконто3 КАК КорСубконто32,
ЖурналПроводокЕПСБУОбороты.КПСКор КАК КПСКор2,
ЖурналПроводокЕПСБУОбороты.КЭККор КАК КЭККор2,
ЖурналПроводокЕПСБУОбороты.Организация КАК Организация2,
ЖурналПроводокЕПСБУОбороты.Валюта КАК Валюта2,
ЖурналПроводокЕПСБУОбороты.ИФО КАК ИФО2,
ЖурналПроводокЕПСБУОбороты.КФО КАК КФО2,
ЖурналПроводокЕПСБУОбороты.КПС КАК КПС2,
ЖурналПроводокЕПСБУОбороты.КЭК КАК КЭК2,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций КАК ЖурналОпераций2,
ЖурналПроводокЕПСБУОбороты.Подразделение КАК Подразделение2,
ЖурналПроводокЕПСБУОбороты.ПодразделениеКор КАК КорПодразделение2,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот10960НЕТ,
ЖурналПроводокЕПСБУОбороты.СуммаОборотКт КАК БУОборотКт2,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотДт КАК ВалютнаяСуммаОборотДт2,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотКт КАК ВалютнаяСуммаОборотКт2,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотДт КАК КоличествоОборотДт2,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотКт КАК КоличествоОборотКт2,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотДт КАК НеУчитываетсяНУОборотДт2,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотКт КАК НеУчитываетсяНУОборотКт2,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотДт КАК ЕНВДОборотДт2,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотКт КАК ЕНВДОборотКт2,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотДт КАК НДСОборотДт2,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотКт КАК НДСОборотКт2,
ЖурналПроводокЕПСБУОбороты.Период КАК Период2,
1 КАК Показатель2
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "109.60"
И (НЕ ЖурналПроводокЕПСБУОбороты.КорСубконто1.Наименование ПОДОБНО "%НИ%"
ИЛИ НЕ ЖурналПроводокЕПСБУОбороты.КорСубконто1.Наименование ПОДОБНО "%Амортиз%")
{ГДЕ
ЖурналПроводокЕПСБУОбороты.Субконто1.*,
ЖурналПроводокЕПСБУОбороты.Субконто2.*,
ЖурналПроводокЕПСБУОбороты.Субконто3.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто1.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто2.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто3.*,
ЖурналПроводокЕПСБУОбороты.Организация.*,
ЖурналПроводокЕПСБУОбороты.Валюта.*,
ЖурналПроводокЕПСБУОбороты.Подразделение.*,
ЖурналПроводокЕПСБУОбороты.ИФО.*,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций.*,
ЖурналПроводокЕПСБУОбороты.КЭК.*,
ЖурналПроводокЕПСБУОбороты.КПС.*,
ЖурналПроводокЕПСБУОбороты.КПСКор.*,
ЖурналПроводокЕПСБУОбороты.КЭККор.*,
ЖурналПроводокЕПСБУОбороты.КФО.*}
;
обороты по 1063И с отбором исключающим корсчет 104.34:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет3,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто13,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто23,
ЖурналПроводокЕПСБУОбороты.Субконто3 КАК Субконто33,
ЖурналПроводокЕПСБУОбороты.КорСчет КАК КорСчет33,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто13,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто23,
ЖурналПроводокЕПСБУОбороты.КорСубконто3 КАК КорСубконто33,
ЖурналПроводокЕПСБУОбороты.КПСКор КАК КПСКор,
ЖурналПроводокЕПСБУОбороты.КЭККор КАК КЭККор,
ЖурналПроводокЕПСБУОбороты.Организация КАК Организация,
ЖурналПроводокЕПСБУОбороты.Валюта КАК Валюта,
ЖурналПроводокЕПСБУОбороты.ИФО КАК ИФО,
ЖурналПроводокЕПСБУОбороты.КФО КАК КФО,
ЖурналПроводокЕПСБУОбороты.КПС КАК КПС,
ЖурналПроводокЕПСБУОбороты.КЭК КАК КЭК,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций КАК ЖурналОпераций,
ЖурналПроводокЕПСБУОбороты.Подразделение КАК Подразделение,
ЖурналПроводокЕПСБУОбороты.ПодразделениеКор КАК КорПодразделение,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот1063ИНЕТ,
ЖурналПроводокЕПСБУОбороты.СуммаОборотКт КАК БУОборотКт,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотДт КАК ВалютнаяСуммаОборотДт,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотКт КАК ВалютнаяСуммаОборотКт,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотДт КАК КоличествоОборотДт,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотКт КАК КоличествоОборотКт,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотДт КАК НеУчитываетсяНУОборотДт,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотКт КАК НеУчитываетсяНУОборотКт,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотДт КАК ЕНВДОборотДт,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотКт КАК ЕНВДОборотКт,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотДт КАК НДСОборотДт,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотКт КАК НДСОборотКт,
ЖурналПроводокЕПСБУОбороты.Период КАК Период,
1 КАК Показатель
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "106.3И"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "104.34"
{ГДЕ
ЖурналПроводокЕПСБУОбороты.Субконто1.*,
ЖурналПроводокЕПСБУОбороты.Субконто2.*,
ЖурналПроводокЕПСБУОбороты.Субконто3.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто1.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто2.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто3.*,
ЖурналПроводокЕПСБУОбороты.Счет.*,
ЖурналПроводокЕПСБУОбороты.КорСчет.*,
ЖурналПроводокЕПСБУОбороты.Организация.*,
ЖурналПроводокЕПСБУОбороты.Валюта.*,
ЖурналПроводокЕПСБУОбороты.Подразделение.*,
ЖурналПроводокЕПСБУОбороты.ИФО.*,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций.*,
ЖурналПроводокЕПСБУОбороты.КЭК.*,
ЖурналПроводокЕПСБУОбороты.КПС.*,
ЖурналПроводокЕПСБУОбороты.КПСКор.*,
ЖурналПроводокЕПСБУОбороты.КЭККор.*,
ЖурналПроводокЕПСБУОбороты.КФО.*}
;
обороты по капзатратам:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет4,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто14,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот10621,
ЖурналПроводокЕПСБУОбороты.Организация КАК Организация3
ПОМЕСТИТЬ ВТ10621
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "106.21"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто13,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто23,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто13,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто23,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот10631,
ЖурналПроводокЕПСБУОбороты.Организация КАК Организация2
ПОМЕСТИТЬ ВТ10631
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "106.31"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "101.00"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "304.06"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто13,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто23,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто13,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто23,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот1063П
ПОМЕСТИТЬ ВТ1063П
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "106.3П"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "105.00"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто13,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто23,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто13,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто23,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот1063I
ПОМЕСТИТЬ ВТ1063I
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "106.3I"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "111.6I"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "106.3И"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "102.3I"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто13,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто23,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто13,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто23,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот1066I
ПОМЕСТИТЬ ВТ1066I
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "106.6I"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "111.6I"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет5,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто12,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто22,
ЖурналПроводокЕПСБУОбороты.Субконто3 КАК Субконто32,
ЖурналПроводокЕПСБУОбороты.КорСчет КАК КорСчет5,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто12,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто22,
ЖурналПроводокЕПСБУОбороты.КорСубконто3 КАК КорСубконто32,
ЖурналПроводокЕПСБУОбороты.КПСКор КАК КПСКор2,
ЖурналПроводокЕПСБУОбороты.КЭККор КАК КЭККор2,
ЖурналПроводокЕПСБУОбороты.Организация КАК Организация2,
ЖурналПроводокЕПСБУОбороты.Валюта КАК Валюта2,
ЖурналПроводокЕПСБУОбороты.ИФО КАК ИФО2,
ЖурналПроводокЕПСБУОбороты.КФО КАК КФО2,
ЖурналПроводокЕПСБУОбороты.КПС КАК КПС2,
ЖурналПроводокЕПСБУОбороты.КЭК КАК КЭК2,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций КАК ЖурналОпераций2,
ЖурналПроводокЕПСБУОбороты.Подразделение КАК Подразделение2,
ЖурналПроводокЕПСБУОбороты.ПодразделениеКор КАК КорПодразделение2,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот10960,
ЖурналПроводокЕПСБУОбороты.СуммаОборотКт КАК БУОборотКт2,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотДт КАК ВалютнаяСуммаОборотДт2,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотКт КАК ВалютнаяСуммаОборотКт2,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотДт КАК КоличествоОборотДт2,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотКт КАК КоличествоОборотКт2,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотДт КАК НеУчитываетсяНУОборотДт2,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотКт КАК НеУчитываетсяНУОборотКт2,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотДт КАК ЕНВДОборотДт2,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотКт КАК ЕНВДОборотКт2,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотДт КАК НДСОборотДт2,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотКт КАК НДСОборотКт2,
ЖурналПроводокЕПСБУОбороты.Период КАК Период2,
1 КАК Показатель2
ПОМЕСТИТЬ ВТОборот10960
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "109.60"
И (НЕ ЖурналПроводокЕПСБУОбороты.КорСубконто1.Наименование ПОДОБНО "%НИ%"
ИЛИ НЕ ЖурналПроводокЕПСБУОбороты.КорСубконто1.Наименование ПОДОБНО "%Амортиз%")
{ГДЕ
ЖурналПроводокЕПСБУОбороты.Субконто1.*,
ЖурналПроводокЕПСБУОбороты.Субконто2.*,
ЖурналПроводокЕПСБУОбороты.Субконто3.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто1.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто2.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто3.*,
ЖурналПроводокЕПСБУОбороты.Организация.*,
ЖурналПроводокЕПСБУОбороты.Валюта.*,
ЖурналПроводокЕПСБУОбороты.Подразделение.*,
ЖурналПроводокЕПСБУОбороты.ИФО.*,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций.*,
ЖурналПроводокЕПСБУОбороты.КЭК.*,
ЖурналПроводокЕПСБУОбороты.КПС.*,
ЖурналПроводокЕПСБУОбороты.КПСКор.*,
ЖурналПроводокЕПСБУОбороты.КЭККор.*,
ЖурналПроводокЕПСБУОбороты.КФО.*};
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет6,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто1,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто2,
ЖурналПроводокЕПСБУОбороты.Субконто3 КАК Субконто3,
ЖурналПроводокЕПСБУОбороты.КорСчет КАК КорСчет6,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто1,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто2,
ЖурналПроводокЕПСБУОбороты.КорСубконто3 КАК КорСубконто3,
ЖурналПроводокЕПСБУОбороты.КПСКор КАК КПСКор,
ЖурналПроводокЕПСБУОбороты.КЭККор КАК КЭККор,
ЖурналПроводокЕПСБУОбороты.Организация КАК Организация,
ЖурналПроводокЕПСБУОбороты.Валюта КАК Валюта,
ЖурналПроводокЕПСБУОбороты.ИФО КАК ИФО,
ЖурналПроводокЕПСБУОбороты.КФО КАК КФО,
ЖурналПроводокЕПСБУОбороты.КПС КАК КПС,
ЖурналПроводокЕПСБУОбороты.КЭК КАК КЭК,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций КАК ЖурналОпераций,
ЖурналПроводокЕПСБУОбороты.Подразделение КАК Подразделение,
ЖурналПроводокЕПСБУОбороты.ПодразделениеКор КАК КорПодразделение,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот1063И,
ЖурналПроводокЕПСБУОбороты.СуммаОборотКт КАК БУОборотКт,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотДт КАК ВалютнаяСуммаОборотДт,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотКт КАК ВалютнаяСуммаОборотКт,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотДт КАК КоличествоОборотДт,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотКт КАК КоличествоОборотКт,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотДт КАК НеУчитываетсяНУОборотДт,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотКт КАК НеУчитываетсяНУОборотКт,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотДт КАК ЕНВДОборотДт,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотКт КАК ЕНВДОборотКт,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотДт КАК НДСОборотДт,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотКт КАК НДСОборотКт,
ЖурналПроводокЕПСБУОбороты.Период КАК Период,
1 КАК Показатель
ПОМЕСТИТЬ ВТОборот1063И
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "106.3И"
И НЕ ЖурналПроводокЕПСБУОбороты.КорСчет.Код = "104.34"
{ГДЕ
ЖурналПроводокЕПСБУОбороты.Субконто1.*,
ЖурналПроводокЕПСБУОбороты.Субконто2.*,
ЖурналПроводокЕПСБУОбороты.Субконто3.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто1.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто2.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто3.*,
ЖурналПроводокЕПСБУОбороты.Счет.*,
ЖурналПроводокЕПСБУОбороты.КорСчет.*,
ЖурналПроводокЕПСБУОбороты.Организация.*,
ЖурналПроводокЕПСБУОбороты.Валюта.*,
ЖурналПроводокЕПСБУОбороты.Подразделение.*,
ЖурналПроводокЕПСБУОбороты.ИФО.*,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций.*,
ЖурналПроводокЕПСБУОбороты.КЭК.*,
ЖурналПроводокЕПСБУОбороты.КПС.*,
ЖурналПроводокЕПСБУОбороты.КПСКор.*,
ЖурналПроводокЕПСБУОбороты.КЭККор.*,
ЖурналПроводокЕПСБУОбороты.КФО.*};
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТОборот1063И.Оборот1063И) КАК Оборот1063И
ПОМЕСТИТЬ ВТ7
ИЗ
ВТОборот1063И КАК ВТОборот1063И
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТОборот10960.Оборот10960) КАК Оборот10960
ПОМЕСТИТЬ ВТ6
ИЗ
ВТОборот10960 КАК ВТОборот10960
;
/////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТ10621.Оборот10621) КАК Оборот10621
ПОМЕСТИТЬ ВТ1
ИЗ
ВТ10621 КАК ВТ10621
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТ10631.Оборот10631) КАК Оборот10631
ПОМЕСТИТЬ ВТ2
ИЗ
ВТ10631 КАК ВТ10631
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТ1063П.Оборот1063П) КАК Оборот1063П
ПОМЕСТИТЬ ВТ3
ИЗ
ВТ1063П КАК ВТ1063П
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТ1063I.Оборот1063I) КАК Оборот1063I
ПОМЕСТИТЬ ВТ4
ИЗ
ВТ1063I КАК ВТ1063I
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТ1066I.Оборот1066I) КАК Оборот1066I
ПОМЕСТИТЬ ВТ5
ИЗ
ВТ1066I КАК ВТ1066I
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ВТ6.Оборот10960 + ВТ7.Оборот1063И + (ВТ1.Оборот10621 + ВТ2.Оборот10631 + ВТ3.Оборот1063П + ВТ4.Оборот1063I + ВТ5.Оборот1066I)) КАК Строка10Отчета
ИЗ
ВТ1 КАК ВТ1,
ВТ2 КАК ВТ2,
ВТ3 КАК ВТ3,
ВТ4 КАК ВТ4,
ВТ5 КАК ВТ5,
ВТ6 КАК ВТ6,
ВТ7 КАК ВТ7
;
обороты по 10960КФО4:
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
ЖурналПроводокЕПСБУОбороты.Счет КАК Счет7,
ЖурналПроводокЕПСБУОбороты.Субконто1 КАК Субконто17,
ЖурналПроводокЕПСБУОбороты.Субконто2 КАК Субконто27,
ЖурналПроводокЕПСБУОбороты.Субконто3 КАК Субконто37,
ЖурналПроводокЕПСБУОбороты.КорСчет КАК КорСчет7,
ЖурналПроводокЕПСБУОбороты.КорСубконто1 КАК КорСубконто17,
ЖурналПроводокЕПСБУОбороты.КорСубконто2 КАК КорСубконто27,
ЖурналПроводокЕПСБУОбороты.КорСубконто3 КАК КорСубконто37,
ЖурналПроводокЕПСБУОбороты.КПСКор КАК КПСКор4,
ЖурналПроводокЕПСБУОбороты.КЭККор КАК КЭККор4,
ЖурналПроводокЕПСБУОбороты.Организация КАК Организация4,
ЖурналПроводокЕПСБУОбороты.Валюта КАК Валюта4,
ЖурналПроводокЕПСБУОбороты.ИФО КАК ИФО4,
ЖурналПроводокЕПСБУОбороты.КФО КАК КФО4,
ЖурналПроводокЕПСБУОбороты.КПС КАК КПС4,
ЖурналПроводокЕПСБУОбороты.КЭК КАК КЭК,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций КАК ЖурналОпераций4,
ЖурналПроводокЕПСБУОбороты.Подразделение КАК Подразделение4,
ЖурналПроводокЕПСБУОбороты.ПодразделениеКор КАК КорПодразделение4,
ЖурналПроводокЕПСБУОбороты.СуммаОборотДт КАК Оборот10960КФО4,
ЖурналПроводокЕПСБУОбороты.СуммаОборотКт КАК БУОборотКт4,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотДт КАК ВалютнаяСуммаОборотДт4,
ЖурналПроводокЕПСБУОбороты.ВалютнаяСуммаОборотКт КАК ВалютнаяСуммаОборотКт4,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотДт КАК КоличествоОборотДт4,
ЖурналПроводокЕПСБУОбороты.КоличествоОборотКт КАК КоличествоОборотКт4,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотДт КАК НеУчитываетсяНУОборотДт4,
ЖурналПроводокЕПСБУОбороты.СуммаНеУчитываетсяНУОборотКт КАК НеУчитываетсяНУОборотКт4,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотДт КАК ЕНВДОборотДт4,
ЖурналПроводокЕПСБУОбороты.СуммаЕНВДОборотКт КАК ЕНВДОборотКт4,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотДт КАК НДСОборотДт4,
ЖурналПроводокЕПСБУОбороты.СуммаНДСОборотКт КАК НДСОборотКт4,
ЖурналПроводокЕПСБУОбороты.Период КАК Период4,
1 КАК Показатель4
ИЗ
РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Обороты(&НачПериода, &КонПериода, Месяц {(&Периодичность)}, , , {(ВалютаКор).* КАК КорВалюта, (ПодразделениеКор).* КАК КорПодразделение, (КПСКор).* КАК КорКПС, (КЭККор).* КАК КорКЭК, (Организация).* КАК Организация, (КПС).* КАК КПС, (КЭК).* КАК КЭК, (Подразделение).* КАК Подразделение, (Валюта).* КАК Валюта, (Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (КорСубконто1).* КАК КорСубконто1, (КорСубконто2).* КАК КорСубконто2, (КорСубконто3).* КАК КорСубконто3}, , ) КАК ЖурналПроводокЕПСБУОбороты
ГДЕ
ЖурналПроводокЕПСБУОбороты.Счет.Код = "109.60"
И ЖурналПроводокЕПСБУОбороты.КФО = ЗНАЧЕНИЕ(Перечисление.КВД.Субсидии)
{ГДЕ
ЖурналПроводокЕПСБУОбороты.Субконто1.*,
ЖурналПроводокЕПСБУОбороты.Субконто2.*,
ЖурналПроводокЕПСБУОбороты.Субконто3.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто1.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто2.*,
ЖурналПроводокЕПСБУОбороты.КорСубконто3.*,
ЖурналПроводокЕПСБУОбороты.Организация.*,
ЖурналПроводокЕПСБУОбороты.Валюта.*,
ЖурналПроводокЕПСБУОбороты.Подразделение.*,
ЖурналПроводокЕПСБУОбороты.ИФО.*,
ЖурналПроводокЕПСБУОбороты.ЖурналОпераций.*,
ЖурналПроводокЕПСБУОбороты.КЭК.*,
ЖурналПроводокЕПСБУОбороты.КПС.*,
ЖурналПроводокЕПСБУОбороты.КПСКор.*,
ЖурналПроводокЕПСБУОбороты.КЭККор.*,
ЖурналПроводокЕПСБУОбороты.КФО.*}
Количество актов на обучение:
ВЫБРАТЬ
КОЛИЧЕСТВО(АктОбОказанииУслугУслугиОказанные.Номенклатура.НаименованиеПолное) КАК КоличествоАктов,
АктОбОказанииУслугУслугиОказанные.Ссылка.Организация КАК Организация
ИЗ
Документ.АктОбОказанииУслуг.УслугиОказанные КАК АктОбОказанииУслугУслугиОказанные
ГДЕ
АктОбОказанииУслугУслугиОказанные.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода
И (АктОбОказанииУслугУслугиОказанные.Номенклатура.НаименованиеПолное ПОДОБНО "%Обучение%"
ИЛИ АктОбОказанииУслугУслугиОказанные.Номенклатура.НаименованиеПолное ПОДОБНО "%Образовательные%"
ИЛИ АктОбОказанииУслугУслугиОказанные.Номенклатура.НаименованиеПолное ПОДОБНО "%Услуги по обеспечению%")
СГРУППИРОВАТЬ ПО
АктОбОказанииУслугУслугиОказанные.Ссылка.Организация
;
Ну и руководителя:
ВЫБРАТЬ
ОтветственныеЛицаОрганизацийСрезПоследних.ОтветственноеЛицо КАК ОтветственноеЛицо
ИЗ
РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних КАК ОтветственныеЛицаОрганизацийСрезПоследних
ГДЕ
ОтветственныеЛицаОрганизацийСрезПоследних.ВидОтветственногоЛица = ЗНАЧЕНИЕ(Перечисление.ОтветственныеЛицаОрганизаций.Руководитель)
И ОтветственныеЛицаОрганизацийСрезПоследних.Период = &ПериодОтчета
Все эти запросы (наборы данных) мне пришлось делать в отдельности, таким образом у меня всего 7 наборов данных (позже я из объединил, через набор данных объединение, а иначе будет ругаться на связь между различными наборами данных): все имена полей, повторяющихся реквизитов (счет, субконто и т.п.), я переименовал по разному, для того, чтобы при настройке отбора, учитывался определенный запрос (у меня используется отбор по первому набору данных, по счету и по дате принятия).
Таким образом данные я получил и все они сходились с данными, которые мне необходимы (круто подумал я, дело за малым и отчет готов, но не тут то было).
Для формирования отчета мне пришлось рисовать собственный (произвольный макет), начал с названия отчета, в нее входит название отчета, название организации, дата (текущая) формирования отчета.
Для названия и текущей даты, я создал пользовательские поля (ТекущаяДата" и "Название"), создал Параметр "ТекущаяДата" (в выражении написал следующее:Формат(ТекущаяДата(), "ДЛФ=Д") (выводит дату без времени)), также для названия создал параметр "ВыводНаДату" (с выражением: Формат(&ПериодОтчета, "ДЛФ=Д"))(выводит дату периода отчета без времени).
После в "Настройках" создал группировку "ДетальныеЗаписи(НазваниеОтчета) - как видите присвоил имя (НазваниеОтчета), в других настройках этой группировки установил Макет оформления (Без оформления), Количество записей = 1, чтобы не дублировались поля. На вкладке Макеты, создал макет группировки, выбрал "НазваниеОтчета", Заголовок, диапазон выделил: наименование, организацию, дату печати (см. рисунок выше). При проверке на предварительный просмотр в конфигураторе, все нормально отображалось, но при открытии в пользовательском режиме, у меня макет автоматически сужался и обрезался, долго мучался с этим, но в конце нашел решение: в условном оформлении всего отчета установил минимальную ширину = 9без всяких условий и оформляемых полей, область использования "Везде".
После начал рисовать таблицу, нарисовал и создал 6 макетов группировок в макете с параметром "Заголовок" и 6 группировок в настройках самого отчета, сначала без параметров, просто посмотреть результат, но и тут не все пошло гладко: таблица отображалась с зазорами (пустые строки) между группировками, при выборе другого варианта макета (то не выводятся данные, то выводятся не там где нужно, то задваивание), в итоге: создал еще одну группировку как в настройке, так и в макете. В настройках назвал ее Шапка, затем те 6 группировок, сделал подчиненные ей (перетащил на группировку шапка), в макете этой группировки, указал диапазон шапки таблицы, подкорректировал диапазон следующей группировки (исключил шапку таблицы) и все заработало, таблица стала единой.
Ну и в конце нарисовал в макете подвал Руководитель подпись расшифровка, но к сожалению вывести расшифровку пока не получается, если кто знает как вывести, то буду благодарен. если просто вывожу поле, то ФИО отображается, а если через группировку подвал, то не заполняется
Разумеется макет внешний: следовательно добавил в модуль следующий код:
Функция СведенияОВнешнейОбработке() Экспорт
РегистрационныеДанные = Новый Структура();
РегистрационныеДанные.Вставить("Наименование", "СвойОтчет");
РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
РегистрационныеДанные.Вставить("Версия", "v 3.0");
РегистрационныеДанные.Вставить("Информация", "СвойОтчет");
РегистрационныеДанные.Вставить("Вид", "ДополнительныйОтчет");
тз = Новый ТаблицаЗначений;
тз.Колонки.Добавить("Идентификатор");
тз.Колонки.Добавить("Использование");
тз.Колонки.Добавить("Представление");
НоваяСтрока = тз.Добавить();
НоваяСтрока.Идентификатор = "ОткрытьОтчет";
НоваяСтрока.Использование = "ОткрытиеФормы";
НоваяСтрока.Представление = "СвойОтчет";
РегистрационныеДанные.Вставить("Команды", тз);
Возврат РегистрационныеДанные;
КонецФункции
Ну и код для набора данных:
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
// ДокументРезультат.ОриентацияСтраницы=ОриентацияСтраницы.Портрет;
//ДокументРезультат.АвтоМасштаб=Истина;
СтандартнаяОбработка = Ложь;
// заполняем основной набор данных
РабочиеНастройки = КомпоновщикНастроек.ПолучитьНастройки();
ОсновнойНаборДанных = ПолучитьОсновнойНаборДанных(РабочиеНастройки);
Если ОсновнойНаборДанных = Неопределено Тогда
Возврат;
КонецЕсли;
ВнешниеНаборыДанных = Новый Структура("ОсновнойНаборДанных", ОсновнойНаборДанных);
ВозможностьИспользованияВнешнихФункций = Истина;
// вывод отчета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, РабочиеНастройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных , ДанныеРасшифровки,
ВозможностьИспользованияВнешнихФункций);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
//КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Параметр", "Значение параметра");
//СхемаОст = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//
//КомпоновщикНастроекНастройки = Новый КомпоновщикНастроекКомпоновкиДанных;
//КомпоновщикНастроекНастройки.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаОст));
//КомпоновщикНастроекНастройки.ЗагрузитьНастройки(СхемаОст.НастройкиПоУмолчанию);
//
//КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачПериода", ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки());
//КомпоновщикНастроекНастройки.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки());
//
//КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаОст, КомпоновщикНастроекНастройки.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
//
//ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
//ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
//ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
//
//ДанныеТЗ = Новый ТаблицаЗначений;
//ПроцессорВывода.УстановитьОбъект(ДанныеТЗ);
//ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
//
//
//ТоннажПоЭкспедиторам.Очистить();
//// ДанныеТЗ.ВыбратьСтроку();
//Для каждого СтрокаТЗ Из ДанныеТЗ Цикл
// Если ЗначениеЗаполнено(СтрокаТЗ.Экспедитор) и СтрокаТЗ.Доставка=Неопределено Тогда
// нСтр = ТоннажПоЭкспедиторам.Добавить();
// ЗаполнитьЗначенияСвойств(нСтр,СтрокаТЗ);
// нСтр.Сотрудник=СтрокаТЗ.Экспедитор;
//Иначе
// Продолжить;
//КонецЕсли;
//КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ПолучитьОсновнойНаборДанных(РабочиеНастройки) Экспорт
ПараметрПериодОтчета = РабочиеНастройки.ПараметрыДанных.НайтиЗначениеПараметра(
Новый ПараметрКомпоновкиДанных("ПериодОтчета"));
ПериодОтчета = ?(ПараметрПериодОтчета.Использование, ПараметрПериодОтчета.Значение, Дата(1,1,1));
Если Не ЗначениеЗаполнено(ПериодОтчета) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Не заполнена дата отчета'"));
Возврат Неопределено;
КонецЕсли;
МассивПериодов = Новый Массив;
НачалоПериода = ?(Месяц(ПериодОтчета) = 1, НачалоГода(ДобавитьМесяц(ПериодОтчета, -1)), НачалоГода(ПериодОтчета));
КоличествоМесяцев = ?(Месяц(ПериодОтчета) = 1, 13, Месяц(ПериодОтчета));
Для Счетчик = 0 По КоличествоМесяцев - 1 Цикл
Период = НачалоМесяца(ДобавитьМесяц(НачалоПериода, Счетчик));
Если Счетчик = 12 Тогда
Период = Новый Граница(Период - 1, ВидГраницы.Включая);
КонецЕсли;
МассивПериодов.Добавить(Период);
КонецЦикла;
ТаблицаРезультат = ТаблицаОсновногоНабора();
СхемаКомпоновки = ЭтотОбъект.ПолучитьМакет("ДанныеЗаМесяц");
УчетПоПодразделениям = УправлениеОсновнымиСредствамиПовтИсп.ВедетсяУчетОСПоПодразделениям();
Если Не УчетПоПодразделениям Тогда
ТекстЗапроса = СхемаКомпоновки.НаборыДанных["ОсновнойНабор"].Запрос;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "СтоимостьОбъектовОСОстатки.Подразделение", "Значение(Справочник.Подразделения.ПустаяСсылка)");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "(Подразделение).*,", "");
СхемаКомпоновки.НаборыДанных["ОсновнойНабор"].Запрос = ТекстЗапроса;
КонецЕсли;
НастройкиСхемы = Новый КомпоновщикНастроекКомпоновкиДанных;
НастройкиСхемы.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновки));
НастройкиСхемы.ЗагрузитьНастройки(СхемаКомпоновки.НастройкиПоУмолчанию);
ОбщийМодульСКД.СкопироватьОтборНастроекКомпоновкиДанных(НастройкиСхемы.Настройки.Отбор, РабочиеНастройки.Отбор);
НастройкиСхемы.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное);
Для Каждого Период Из МассивПериодов Цикл
ПериодСтавок = ?(ТипЗнч(Период) = Тип("Граница"), Период.Значение, КонецДня(Период));
НастройкиСхемы.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Период", Период);
НастройкиСхемы.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ПериодСтавок", ПериодСтавок);
ТаблицаЗаМесяц = ПолучитьДанныеЗаМесяц(СхемаКомпоновки, НастройкиСхемы.Настройки);
Для Каждого СтрокаТаблицы Из ТаблицаЗаМесяц Цикл
НоваяСтрока = ТаблицаРезультат.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицы);
НоваяСтрока.Период = ?(ТипЗнч(Период) = Тип("Граница"), Период.Значение, Период);
КонецЦикла;
КонецЦикла;
Возврат ТаблицаРезультат;
КонецФункции
Функция ТаблицаОсновногоНабора()
// итоговая таблица
ТаблицаРезультат = Новый ТаблицаЗначений;
Колонки = ТаблицаРезультат.Колонки;
Колонки.Добавить("Организация" , Новый ОписаниеТипов("СправочникСсылка.Организации"));
Колонки.Добавить("ОсновноеСредство" , Новый ОписаниеТипов("СправочникСсылка.ОсновныеСредства"));
Колонки.Добавить("ИнвентарныйНомер" , Новый ОписаниеТипов("СправочникСсылка.ИнвентарныеНомераОС"));
Колонки.Добавить("ИФО" , Новый ОписаниеТипов("СправочникСсылка.ИсточникиФинансовогоОбеспечения"));
Колонки.Добавить("КФО" , Новый ОписаниеТипов("ПеречислениеСсылка.КВД"));
Колонки.Добавить("КПС" , Новый ОписаниеТипов("СправочникСсылка.КлассификационныеПризнакиСчетов"));
Колонки.Добавить("Счет" , Новый ОписаниеТипов("ПланСчетовСсылка.ЕПСБУ"));
Колонки.Добавить("ЦМО" , Новый ОписаниеТипов("СправочникСсылка.ЦМО"));
Колонки.Добавить("Подразделение" , Новый ОписаниеТипов("СправочникСсылка.Подразделения"));
Колонки.Добавить("СуммаБаланс" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(18,2)));
Колонки.Добавить("СуммаАмортизации" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(18,2)));
Колонки.Добавить("СуммаОбесценения" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(18,2)));
Колонки.Добавить("СуммаОстаток" , Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(18,2)));
Колонки.Добавить("Количество" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("НалоговыйОрган" , Новый ОписаниеТипов("СправочникСсылка.РегистрацииВНалоговомОргане"));
Колонки.Добавить("КодПоОКАТО" , Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(11)));
Колонки.Добавить("НалоговаяБаза" , Новый ОписаниеТипов("ПеречислениеСсылка.НалоговаяБазаПоНалогуНаИмущество"));
Колонки.Добавить("НалоговаяСтавка" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("КодВидаИмущества" , Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(2)));
Колонки.Добавить("ПорядокНалогообложения" , Новый ОписаниеТипов("ПеречислениеСсылка.ПорядокНалогообложенияИмущества"));
Колонки.Добавить("КодНалоговойЛьготыОсвобождениеОтНалогообложения", Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(7)));
Колонки.Добавить("ДоляСтоимостиЧислитель" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("ДоляСтоимостиЗнаменатель" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("ДоляВПравеОбщейСобственностиЧислитель" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("ДоляВПравеОбщейСобственностиЗнаменатель" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("ДоляПлощадиЗнаменатель" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("ДоляПлощадиЧислитель" , Новый ОписаниеТипов("Число"));
Колонки.Добавить("ДатаПринятияКУчету" , Новый ОписаниеТипов("Дата"));
Колонки.Добавить("Период" , Новый ОписаниеТипов("Дата"));
Возврат ТаблицаРезультат;
КонецФункции
Функция ПолучитьДанныеЗаМесяц(СхемаКомпоновки, Настройки)
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки,
Настройки,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(Новый ТаблицаЗначений);
Возврат ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецФункции
#КонецОбласти
#КонецЕсли
Функция Сформировать() Экспорт
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьЗаголовок = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьСтрока);
Возврат ТабДок;
КонецФункции