Шаг 144 - Два варианта получения остатков по складу

В любом случае нам нужно получить объект бухгалтерские итоги. Состояние склада нужно на какой-то конкретный момент. Обычно это сегодня, что соответствует вопросу – что есть на складе.

Первый вариант заключается в том, что мы получим итоги и потом пробежимся по справочнику товаром извлекая из бух. итогов сумму. Обратите внимание, что мы здесь используем Расчет.

Процедура Сформировать() 

	Т = СоздатьОбъект("Таблица");

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

	Т.ТолькоПросмотр(1);
	Т.Показать();

КонецПроцедуры

Вывести можно так:

144_1.gif (2970 b)

Второй способ основан на использовании запроса:

Процедура Сформировать() 

	Т = СоздатьОбъект("Таблица");

	Итог = СоздатьОбъект("БухгалтерскиеИтоги"); 
	Итог.ИспользоватьСубконто(ВидыСубконто.Номенклатура, , 1);
	Итог.ВыполнитьЗапрос(ТекущаяДата(),ТекущаяДата(),"41");

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

	Т.ТолькоПросмотр(1);
	Т.Показать();

КонецПроцедуры

Вывести результаты можно так.

144_2.gif (2681 b)

Результат немного разный. В первом варианте будет много нулей. Конечно, их можно пропускать. Как поступать лучше я пока не знаю. Результат и тот и другой вариант дают одинаковый. Наверно есть разница в скорости работы Рассчет и ВыполнитьЗапрос.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 15.08.2002