Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 16:06

Построение отчета

Автор Feramount, 27 окт 2012, 20:15

0 Пользователей и 1 гость просматривают эту тему.

Feramount

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

Отчет выводит нормально, но количество товаров по каждому складу выводи как нулевое значение, хотя товары на складе есть.В чем ошибка?

Herby

В метод Остатки() нужно передавать объекты, а не наименования товара и склада.
Компьютер не умеет читать мысли, для него текст это текст, он не поймет что передаваемый текст это
на самом деле элемент справочника "Товары" или склада.

и зачем  каждый раз в цикле создавать объект  РегОстатков=СоздатьОбъект("Регистр.РегистрОстатков")?
Достаточно один раз создать перед циклами.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск