1. 1C / Говнокод #19520

    −96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    Запас=0; ВПутиУжеЗаказано=0;Остаток=0;Резерв=0;
    	
    	Для Каждого ВыбСклад из СписокСкладов Цикл
    		Скл=Справочники.Склады.НайтиПоНаименованию(СокрЛП(ВыбСклад.Ссылка.Наименование));
    		СтруктураОтбора = Новый Структура(); // для отбора остатков взаиморасчетов
    		СтруктураОтбора.Вставить("Номенклатура", Номенклатура);
    		СтруктураОтбора.Вставить("Склад", Скл);
    		Остаток =Остаток+ РегистрыНакопления.ТоварыНаСкладах.Остатки(КонецДня(КонДата),
    		СтруктураОтбора,"Номенклатура,Склад","Количество").Итог("Количество");
    		Резерв = Резерв+РегистрыНакопления.ТоварыВРезервеНаСкладах.Остатки(КонецДня(КонДата),
    		СтруктураОтбора,"Номенклатура,Склад","Количество").Итог("Количество");
    	КонецЦикла;
    		
    	СтрокаЗапаса=СокрЛП(Остаток);
    	СтрокаЗапаса=СтрЗаменить(СтрокаЗапаса," ","");
    	Запас=?(СтрокаЗапаса="",0,Число(СтрокаЗапаса));

    Лихие манипуляции со стоками. Следите за руками!

    Запостил: saturn5, 24 Февраля 2016

    Комментарии (4) RSS

    • *Строками. Конечно, если захлопнуть глаза на это:

      Резерв = Резерв+РегистрыНакопления.ТоварыВРезерве НаСкладах.Остатки(КонецДня(КонДата),
      СтруктураОтбора,"Номенклатура,Склад","Ко личество").Итог("Количество");
      Ответить
      • Комментарий // для отбора остатков взаиморасчетов
        очень кстати!
        Ответить
        • Чет в голос с этого кода. Автор там прикалывается так?
          Ответить
    • Скл=Справочники.Склады.НайтиПоНаименован ию(СокрЛП(ВыбСклад.Ссылка.Наименование))
      Надо взять на вооружение, наверно работает быстро, правильно, а главное рационально.
      Ответить

    Добавить комментарий