7.7 Анализ продаж

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Peroman, 24 июн 2010.

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Сделал отчетик по продажам:

    Код:
    Процедура Сформировать()
    //ТЗН = СоздатьОбъект("ТаблицаЗначений");
    ТЗН1= СоздатьОбъект("ТаблицаЗначений");
    Док = СоздатьОбъект("Документ.ПакетПродаж");
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    Таб.ВывестиСекцию("Заголовок");
    
    
    Док.ВыбратьДокументы(НачДата,КонДата);
    ТЗН.НоваяКолонка("Контрагент");
    ТЗН.НоваяКолонка("Склад");
    ТЗН.НоваяКолонка("Номенклатура");	
    ТЗН.НоваяКолонка("Количество","Число");
    ТЗН.НоваяКолонка("Сумма","Число");
    
    
    Если ПустоеЗначение(ВыбКонтрагенты) = 0 Тогда
    Пока Док.ПолучитьДокумент() = 1 Цикл
    Если Док.Контрагент = ВыбКонтрагенты  Тогда
    Реализация = Док.ТекущийДокумент();
    Реализация.ВыбратьСтроки();
    //ТЗН.Контрагент=Реализация.Контрагент;
    //ТЗН.НоваяСтрока();                                             
    
    Пока Реализация.ПолучитьСтроку() = 1 Цикл
    ТЗН.Номенклатура = Реализация.Номенклатура;
    ТЗН.Количество = Реализация.Количество;
    ТЗН.Сумма = Реализация.Сумма;
    ТЗН.НоваяСтрока();
    КонецЦикла;
    Иначе продолжить;
    КонецЕсли;	
    КонецЦикла;
    
    ТЗН.Свернуть("Контрагент,Номенклатура","Количество,Сумма"); 
    
    Сч=0;
    
    ТЗН.ВыбратьСтроки();
    ТЗН1.НоваяКолонка("Проц","Число");
    
    Пока ТЗН.ПолучитьСтроку() = 1 Цикл
    Ном =ТЗН.Номенклатура;
    Если ПустоеЗначение(Ном) = 0 Тогда
    Таб.ВывестиСекцию("Номенклатура");
    СуммаВсего=ТЗН.Итог("Сумма");
    КоличествоВсего = ТЗН.Итог("Количество");
    Если ТЗН.Сумма<>0 Тогда
    Проц=ТЗН.Сумма/СуммаВсего*100;
    ТЗН1.Проц=Проц;
    ТЗН1.НоваяСтрока();
    КонецЕсли;
    Сч=Сч+1; 
    КонецЕсли;
    КонецЦикла;
    ПроцВсего=ТЗН1.Итог("Проц");
    КонецЕсли;
    Таб.ВывестиСекцию("Итого");
    Таб.Показать();
    
    КонецПроцедуры
    
    
    
    Всё вроде хорошо но мне нужно добавить ещё 2 условия, это фильтр по складу и нужно чтобы Номенклатура выводилась сначала по группам, чтобы и процент продаж был виден по группам. Что-то никак не могу сообразить как енто сделать
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Все ваши "хочухи" за 20 секунд решаются через конструктор запросов....
  3. filimon9013
    Offline

    filimon9013

    Регистрация:
    16 фев 2011
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    вот рассказал бы нам, неучам, как((
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Какая конфигурация - подскажу
  5. 2man
    Offline

    2man Опытный в 1С

    Регистрация:
    26 ноя 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Вот фильтр по складу:
    Код:
    		Пока Док.ПолучитьДокумент() = 1 Цикл
    Если Док.Контрагент = ВыбКонтрагенты  Тогда
    Если (выбСклад.Выбран()=1) и (Док.Склад<>выбСклад) Тогда //Док.Склад - реквизит с типом Справочник.МестаХранения в документе ПакетПродаж
    Продолжить;
    КонецЕсли;
    Реализация = Док.ТекущийДокумент();
    Реализация.ВыбратьСтроки();
    //ТЗН.Контрагент=Реализация.Контрагент;
    //ТЗН.НоваяСтрока();                                             
    
    Пока Реализация.ПолучитьСтроку() = 1 Цикл
    ТЗН.Номенклатура = Реализация.Номенклатура;
    ТЗН.Количество = Реализация.Количество;
    ТЗН.Сумма = Реализация.Сумма;
    ТЗН.НоваяСтрока();
    КонецЦикла;
    Иначе продолжить;
    КонецЕсли;	
    КонецЦикла;
    
    У вас процедура работает только если контрагент выбран, а если не выбран тогда что?

Поделиться этой страницей