×
×
Закрытая тема
Показано с 1 по 3 из 3
  1. #1
    Клерк
    Регистрация
    22.10.2005
    Сообщений
    1

    Проблема с остатками

    Есть регистр Товары в котором измерения наименование, контрагент, а ресурс - количество
    Вот модуль отчета остатка товаров

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

    Если Число(ВыбраннаяДата)=0 Тогда
    Предупреждение("Не выбрана дата!");
    Возврат;
    КонецЕсли;

    РегистрТовары=СоздатьОбъект("Регистр.Товары");
    РегистрТовары.ВременныйРасчет();

    Если ВыбраннаяДата<ПолучитьДатуТА() Тогда
    РассчитатьРегистрыПо(ВыбраннаяДата);
    Иначе
    РассчитатьРегистрыПо(ПолучитьПозициюТА());
    КонецЕсли;

    Таб=СоздатьОбъект("Таблица");
    Таб.ВывестиСекцию("Заголовок");

    Товары=СоздатьОбъект("Справочник.Товары");
    Товары.ВыбратьЭлементы();
    Пока Товары.ПолучитьЭлемент()=1 Цикл
    Если Товары.ЭтоГруппа()=1 Тогда
    Таб.ВывестиСекцию("Группа");
    Иначе
    РегистрТовары.Наименование=Товары.Наименование;
    РегистрТовары.ОстаткиПолучить();
    Если РегистрТовары.Количество>0 Тогда
    Таб.ВывестиСекцию("Товар");
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;

    Таб.ТолькоПросмотр(1);
    Таб.Показать("Остатки товаров","");
    КонецПроцедуры

    ВыбраннаяДата=ТекущаяДата();

    Он не выдает остатки на дату, только нули везде.
    Подскажите в чем фишка.
    Использование запросов нежелательно.
    Поделиться с друзьями

  2. #2
    Fosihas
    Гость
    Попробуте заменить на
    Ост = РегистрТовары.СводныйОстаток(Товары.ТекущийЭлемент(),,,,,"Количество");
    Если Ост > 0 Тогда
    Таб.ВывестиСекцию("Товар");
    КонецЕсли;
    Вместо:
    РегистрТовары.Наименование=Товары.Наименование;
    РегистрТовары.ОстаткиПолучить();
    Если РегистрТовары.Количество>0 Тогда
    Таб.ВывестиСекцию("Товар");
    КонецЕсли;

  3. #3
    Аноним
    Гость
    Цитата Сообщение от Fosihas
    Попробуте заменить на
    Ост = РегистрТовары.СводныйОстаток(Товары.ТекущийЭлемент(),,,,,"Количество");
    Если Ост > 0 Тогда
    Таб.ВывестиСекцию("Товар");
    КонецЕсли;
    Вместо:
    РегистрТовары.Наименование=Товары.Наименование;
    РегистрТовары.ОстаткиПолучить();
    Если РегистрТовары.Количество>0 Тогда
    Таб.ВывестиСекцию("Товар");
    КонецЕсли;
    Спасибо Fosihas. Респект.
    Чуть переделал для себя и в итоге получилось вот так:

    РегистрТовары.СводныеОстатки(Товары.ТекущийЭлемент());
    Если РегистрТовары.Количество>0 Тогда
    Таб.ВывестиСекцию("Товар");
    КонецЕсли;

    Если не сложно, расскажи в двух словах разницу между остатками и сводными остатками.

Закрытая тема

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы можете создавать новые темы
  • Вы можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •