7.7 Отчет по продажам ТМЦ

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем man37, 21 июл 2016.

  1. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    ТиС 9.2
    Переделываю отчет по продажам ТМЦ.
    Не доходит, как вывести в отчет только те дни, в которые была хотя бы одна продажа определенного менеджера.
    Другими словами: мне нужно определить в какой день работал данный менеджер (если он не работал, то и не было продаж) и в отчет вывести только эти дни.
  2. LordMaverick
    Online

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.443
    Симпатии:
    376
    Баллы:
    104
    по периоду "День" он и выведет только дни в которых было событие
  3. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Отчет по дням есть, и есть группировка по менеджерам (кто на сколько продал), а мне надо оставить только выбранного и вывести те дни, где есть хотя бы одна его продажа.
  4. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Если поставить условие Менеджер = ВыбМенеджер то выводит только его продажи за день.
  5. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    А почему нельзя свести все данные в таблицу значений и там делать нужные выборки? Обожаю таблицы значений! :)
  6. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Вот и проблема то в том, что не знаю как из ТЗ удалить дни, когда не было этого менеджера.
    Может кинешь примерчик?
  7. LordMaverick
    Online

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.443
    Симпатии:
    376
    Баллы:
    104
    код можно?
    запроса и обхода группировок
  8. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    С Вас примерная таблица, которая получается в результате запросов, а я постараюсь получить нужные отборы.
  9. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    ТЗ до безобразия простая:
    Пока Запрос.Группировка()=1 Цикл
    ТЗ.НовыяСтрока();
    ТЗ.День = Запрос.День;
    ТЗ.Менеджер = Запрос.Проект;
    ТЗ.Продажи = Запрос.Продажи;
    КонецЦикла;
    Может что-то и не так написал, компа под рукой нет, только телефон.
  10. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Ничего не понимаю... В чем тогда сложность?
    Код:
        ТЗ.НоваяКолонка("КолВо","Число");
        ТЗ.ВыбратьСтроки();
        Пока ТЗ.ПолучитьСтроку() = 1 Цикл
            ТЗ.КолВо = 1;
        КонецЦикла;
        ТЗ.Свернуть("Менеджер,День","КолВо");
         ТЗ.Сортировать("Менеджер,День");
    
    Так Вы получите отсортированную таблицу по менеджерам и их дням с количеством продаж. Делайте с ней, что угодно.
    man37 нравится это.
  11. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    По дням и со всеми менеджерами я вывел, но как удалить те дни, где нет ВыбМенеджера, вот в чем у меня проблема.
  12. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    412
    Симпатии:
    72
    Баллы:
    54
    Переделайте цикл в обратную сторону и удалите лишние строки:

    Код:
    ТЗ.НоваяКолонка("КолВо","Число");
        ТЗ.ВыбратьСтроки();
        сч = ТЗ.КоличествоСтрок();
        Пока сч >0 Цикл
           ТЗ.ПолучитьСтроку(сч);
           Если ТЗ.Менеджер = ВыбМенеджер Тогда
                ТЗ.КолВо = 1;
            Иначе
                 ТЗ.УдалитьСтроку(сч);
            КонецЕсли;
            сч = сч -1;
        КонецЦикла;
        ТЗ.Свернуть("Менеджер,День","КолВо");
    
    man37 нравится это.
  13. TopicStarter Overlay
    man37
    Offline

    man37 Опытный в 1С

    Регистрация:
    10 дек 2013
    Сообщения:
    197
    Симпатии:
    5
    Баллы:
    29
    Пока не пробовал, но похоже то что надо.
    Спасибо!

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