• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Обход материалов через БухИтоги. Как быть с группами?

  • Автор темы AlexeyP
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

AlexeyP

У меня пара вопросов. Извините, если они будут глупыми, но я только начинаю изучать язык 1С.
Я делаю обработку, которая выводит остатки по материалам и, если они есть, создает документ Перемещение материалов.
У нас поквартально в бухгалтерии списываются материалы в больших количествах, вот я и подумал, почему бы не автоматизировать этот процесс...

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

Выкладываю код основной процедуры.

Процедура ВывестиОстатки()
БИ=СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы, , 1);
БИ.ИспользоватьСубконто(ВидыСубконто.МестаХранения, ВыбСклад, 1);
БИ.ВыполнитьЗапрос(, ДатаДок, "10",,,,,4);
БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1) = 1 цикл
БИ.ВыбратьСубконто(2);
Пока БИ.ПолучитьСубконто(2) = 1 цикл
Если БИ.ЭтоГруппа() = 0 Тогда
ТЗ.НоваяСтрока();
ТЗ.Материал=БИ.ПредставлениеСубконто();
ТЗ.ЕдИзм=БИ.Субконто().ЕдиницаИзмерения;
ТЗ.Остаток=БИ.СКД("К");
ТЗ.Списать=ТЗ.Остаток;
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры



Да, и еще: если в справочнике материал помечен на удаление, по нему же не делжны извлекаться итоги?
 
H

Hryv

Привязка идет не столько к справочнику, сколько к итогам

В твоем конкретном случае выберутся все элементы справочника, по которым есть количественные остатки и/или обороты по 10 счету
Не зависимо от иерархии справочника
При этом группы можно совсем отключить см. описание ИспользоватьСубконто()
 
A

AlexeyP

Спасибо большое!
Обработку написал. Узнал много нового ;)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!