Добрый день. в 7.7 не силён. такой вопрос. Делаю простой отчёт в 1с7. Пытаюсь получить реквизит субконто из справочника:
ДатаНачала = Ит.Субконто(ВидыСубконто.РасходыБудущихПериодов).ДатаНачалаСписания;
И получаю ошибку :
 ДатаНачала = Ит.Субконто(ВидыСубконто.РасходыБудущихПериодов).ДатаНачалаСписания;
{Отчет.новый2.Форма.Модуль(14)}: Значение не представляет агрегатный объект (ДатаНачалаСписания)

Если же я это значение (Ит.Субконто(ВидыСубконто.РасходыБудущихПериодов).ДатаНачалаСписания) просто вставляю в ячейку таблицы как выражение, то значение выводит нужные данные в таблице. В чём косяк?
---
Понятно: в момент времени, когда Вы обращаетесь к Ит, он еще не создан. Объект создается здесь

```1c
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
```

То есть надо перенести строку ниже, как минимум - сюда:

```1c
    Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "97",,, 1,, "С");
    ДатаНачала = НачМесяца(Ит.Субконто().ДатаНачалаСписания);
```

А по логике Вашего кода строка напрашивается в цикл:

```1c
    Пока Ит.ПолучитьСубконто(ВидыСубконто.РасходыБудущихПериодов) = 1 Цикл
    ДатаНачала = НачМесяца(Ит.Субконто().ДатаНачалаСписания);
    // Получили дату, теперь надо ререшить, что с ней делать дальше
    Сформировать_Колонки(Ит, Таб, "Субконто1");

    КонецЦикла;
```

Вот здесь есть http://1c-pro.ru/threads/vidy-subkonto.47036/ чей-то пример кода с этим субконто
---
```1c
    Процедура Сформировать_Колонки(Ит, Таб, Стр)

    ДатаНачала = НачМесяца(Ит.Субконто().ДатаНачалаСписания);

    Таб.ВывестиСекцию(Стр+"|Начало");
    Ит.ВыбратьСчета(1);
    Пока Ит.ПолучитьСчет() = 1 Цикл
    Таб.ПрисоединитьСекцию(Стр+"|Счет");
    КонецЦикла;
    Таб.ПрисоединитьСекцию(Стр+"|Итог");
    КонецПроцедуры

    Процедура Сформировать()
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Сформировать");
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
    Ит.ИспользоватьСубконто(ВидыСубконто.РасходыБудущихПериодов,, 1);
    Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "97",,, 1,, "С");
    Таб.ВывестиСекцию("Заголовок");
    Сформировать_Колонки(Ит, Таб, "Шапка");
    Таб.Опции(0,0,Таб.ВысотаТаблицы(),0);
    Ит.ВыбратьСубконто(ВидыСубконто.РасходыБудущихПериодов);
    Пока Ит.ПолучитьСубконто(ВидыСубконто.РасходыБудущихПериодов) = 1 Цикл

    Сформировать_Колонки(Ит, Таб, "Субконто1");
    КонецЦикла;
    Сформировать_Колонки(Ит, Таб, "Подвал");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать",");
    КонецПроцедуры
    //}}БУХГАЛТЕРСКИЙ ЗАПРОС

    Процедура ПриОткрытии()

    //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА(Сформировать)
    ВыбНачПериода = НачалоПериодаБИ();
    ВыбКонПериода = КонецПериодаБИ();
    //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА

    КонецПроцедуры
```
---
Посмотрите в отладчике, какой объект получается Ит.Субконто(ВидыСубконто.РасходыБудущихПериодов)
---
Так а как посмотреть, если у меня отчёт не формируется? Сразу же при нажатии формировать ругается на ошибку и отчёт не формирует. Т.е. я не дохожу до точки останова, чтобы посмотреть тип.
---
Запустите 1С в режиме "Отладчик", откройте свой отчет и поставьте точку останова на строку перед ошибкой. Потом F11 - запуск в режиме "Предприятие".

Ну, а дальше "Табло" и вводите то, что надо увидеть.
---
Спасибо) По факту никакого значения не получаю. Ввожу ДатаНачала = Ит.Субконто().ДатаНачалаСписания; Получаю ответ : ДатаНачала =
---
Ввожу ДатаНачала = Ит.Субконто().ДатаНачалаСписания; Получаю ответ : ДатаНачала = По сути вам уже ответили, но на будущее учтите: так вы никогда ничего не увидите.

Надо запрашивать либо "Ит.Субконто().ДатаНачалаСписания" (только без кавычек), либо имя переменной (например, ДатаНачала), но это только если ее значение уже вычислено раньше.
---
А что в Ит? Понятно, что итоги, а на момент обращения они вообще получены? В
(2)
именно это и советовали: поставьте точку останова на эту строку, запустите и посмотрите после остановки в табло что в Ит, а затем - что в Ит.Субконто(ВидыСубконто.РасходыБудущихПериодов)
---
Понятно: в момент времени, когда Вы обращаетесь к Ит, он еще не создан. Объект создается здесь

```1c
    Ит = СоздатьОбъект("БухгалтерскиеИтоги");
```

То есть надо перенести строку ниже, как минимум - сюда:

```1c
    Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода, "97",,, 1,, "С");
    ДатаНачала = НачМесяца(Ит.Субконто().ДатаНачалаСписания);
```

А по логике Вашего кода строка напрашивается в цикл:

```1c
    Пока Ит.ПолучитьСубконто(ВидыСубконто.РасходыБудущихПериодов) = 1 Цикл
    ДатаНачала = НачМесяца(Ит.Субконто().ДатаНачалаСписания);
    // Получили дату, теперь надо ререшить, что с ней делать дальше
    Сформировать_Колонки(Ит, Таб, "Субконто1");

    КонецЦикла;
```

Вот здесь есть http://1c-pro.ru/threads/vidy-subkonto.47036/ чей-то пример кода с этим субконто
---
Спасибо, разобрался.
---
И ещё небольшой вопрос, как теперь полученную дату передать в процедуру Сформировать_Колонки(Ит, Таб, "Субконто1");? Ибо выводить её надо в секции, которая формируется в Сформировать_Колонки(Ит, Таб, "Субконто1");