Имя: Пароль:
1C
 
Программно вызвать отчет на СКД и вывести результаты
0 oslokot
 
13.11.14
10:36
Приветствую всех! Подскажите новичку.

Вот есть стандартный очет в БП 3.0, "остатки по складу", он работает и все ок.
Хочу вызвать его программно из своей обработки и вывести результат в табличное поле.
Получаю только заголовок отчета и всё, фигня какая-то..
Я правильно вообще делаю? вот простой код:

ОстаткиПоСкладу = Отчеты.ОстаткиПоСкладу.Создать();
ОстаткиПоСкладу.КонецПериода = ТекущаяДата();
ОстаткиПоСкладу.СкомпоноватьРезультат(ТабличныйДокумент);
1 Cube
 
13.11.14
10:38
(0) "ОстаткиПоСкладу.КонецПериода = ТекущаяДата();"
Так ты параметры вряд ли установишь...
2 oslokot
 
13.11.14
10:38
(1) а как это делается?
3 Cube
 
13.11.14
10:41
(2) В общем случае так:

    ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
    ЗначениеПараметра.Значение = НачалоДня(ДатаНач);
    ЗначениеПараметра.Использование = Истина;

Предупреждаю: тупой копипаст у тебя не прокатит...
4 oslokot
 
13.11.14
10:54
(3) Спасибо. Но отчет все равно возвращает пустой результат.
Сделал вот так:
    Отчет = Отчеты.ОстаткиПоСкладу.Создать();
    ЗначениеПараметра = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");    
    ЗначениеПараметра.Значение = КонецДня(ТекущаяДата());
    ЗначениеПараметра.Использование = Истина;
    Отчет.СкомпоноватьРезультат(ТабличныйДокумент);


Конечно же параметр "КонецПериода" находит, присваивает значение. В отладчике смотрел.
5 oslokot
 
13.11.14
10:54
Что еще ему надо?
6 Cube
 
13.11.14
11:55
(5) ХЗ, в релизе 3.0.31.16 нет отчета "остатки по складу", а другого релиза под рукой нет.
7 oslokot
 
13.11.14
12:02
(6) я забыл добавить группировки :)
Все заработало, спасибо!
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший