Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Отчет за период с выводом на экран разбивкой по месяцам          
Constantus Подменю пользователя
сообщение 31.08.17, 10:31
Сообщение #1

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Пусть имеется некий отчет, сделанный в Обработке с помощью запроса на базе некоего Макета...

Заголовок: с 01.01.2017 по 31.12.2017

Контрагент | Кол-во продаж |


Отчет работает. Как можно автоматически сделать этот же отчет, но только с разбивкой колонки "Кол-во продаж" по месяцам?

Аналогично типовому отчету "Продажи" с группировкой колонок по периоду "Месяц"

Т.е., у меня в макете прорисована колонка "Кол-во продаж", а тут получается ее надо будет типа клонировать...



Bernet Подменю пользователя
сообщение 31.08.17, 10:38
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Constantus @ Сегодня, 11:31 * ,
В макет добавляете область. В шапке будете выводить например Месяц, в строке таб. части необходимую сумму. Область называете "ПродажиМесяц".
Запрос необходимо изменить таким образом чтобы был итог по ПериодуМесяцу. При обходе результата запроса в блоке обхода по месяцам каждый раз получаете область "ПродажиМесяц" - в шапке выводите просто месяц, в строке таб части выводите сумму.
В табличный документ выводите с помощью функции Присоеденить(), а не Вывести() чтобы не было переноса строки


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Constantus Подменю пользователя
сообщение 31.08.17, 10:55
Сообщение #3

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Bernet @ Сегодня, 13:38 * ,

А если у меня отчет делается по документам, а не регистрам, соответственно там нет итогов по ПериодМесяц?

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаказПокупателя.Ссылка
        |ИЗ
        |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
        |ГДЕ
        |    ЗаказПокупателя.Проведен = ИСТИНА
        |    И ЗаказПокупателя.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ)
        |    И ЗаказПокупателя.Контрагент.Родитель = &Родитель
        |    И ЗаказПокупателя.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)";
    
    Запрос.УстановитьПараметр("Дата1", ДатаНачала);
    Запрос.УстановитьПараметр("Дата2", ДатаОкончания);
    Запрос.УстановитьПараметр("Родитель", ВыборкаСсылка.Ссылка);


Далее у меня идет перебор всех записей по данным условиям и их подсчет... Кол-во записей и выводится как итог кол-ва всех заказов... Как быть в этом случае с разбивкой по периоду?

salton Подменю пользователя
сообщение 31.08.17, 11:08
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 92
Из: Полтава
Спасибо сказали: 24 раз
Рейтинг: 0

А может всетаки сделать по регистрам с отбором по типу док ЗаказПокупателя?

Bernet Подменю пользователя
сообщение 31.08.17, 11:21
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Constantus @ Сегодня, 11:55 * ,
Запрос будет иметь примерно такой вид
Запрос = Новый Запрос;
Запрос.Текст =
    "ВЫБРАТЬ
    |    НАЧАЛОПЕРИОДА(ЗаказПокупателя.Ссылка.Дата, МЕСЯЦ) КАК ПериодМесяц,
    |    КОЛИЧЕСТВО( РАЗЛИЧНЫЕ ЗаказПокупателя.Ссылка) КАК Количество
    |ИЗ
    |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |ГДЕ
    |    ЗаказПокупателя.Проведен = ИСТИНА
    |    И ЗаказПокупателя.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата2, ДЕНЬ)
    |    И ЗаказПокупателя.Контрагент.Родитель = &Родитель
    |    И ЗаказПокупателя.Товары.Номенклатура В ИЕРАРХИИ(&Номенклатура)
    |СГРУППИРОВАТЬ ПО
    |    НАЧАЛОПЕРИОДА(ЗаказПокупателя.Ссылка.Дата, МЕСЯЦ)
    |ИТОГИ
    |ПО
    |    ПериодМесяц
    |";


выборка такой:
// в шапке по аналогии получаете область и выводите дату, столько раз сколько у вас месяцев в периоде

ВыборкаПоМесяцам = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоМесяцам.Следующий() Цикл // ПРИСОЕДИНЕНИЕ КОЛОНКИ С КАЖДЫМ МЕСЯЦЕМ
    
    ОбластьМесяц = Макет.ПолучитьОбласть("ПериодМесяц");
    ОбластьМесяц.Параметры.Колво = ВыборкаПоМесяцам.Количество;
    ТабДок.Присоеденить(ОбластьМесяц);
    
КонецЦикла;


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Спасибо сказали: Constantus, salton,

Constantus Подменю пользователя
сообщение 31.08.17, 12:34
Сообщение #6

Ветеран
*******
Группа: Пользователи
Сообщений: 962
Спасибо сказали: 8 раз
Рейтинг: 0

Bernet @ Сегодня, 14:21 * ,


Метод объекта не обнаружен (Присоеденить)
ТабДок.Присоеденить(ОбластьМесяц);

Пишет вот такое...

Bernet Подменю пользователя
сообщение 31.08.17, 13:17
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0

Constantus @ Сегодня, 13:34 * ,
ТабДок - это должен быть ваш табличный документ или поле табличного документа на форме, я дли примера написал, у вас имя скорее всего отличается,
ОбластьМесяц - это область из макета, назовите её "ПериодМесяц", получите как в коде:
Цитата
ОбластьМесяц = Макет.ПолучитьОбласть("ПериодМесяц");
и затем выводите куда надо


Signature
Дописываю конфигурации на платформе 8.х.
- Управление торговым предприятием для Украины
- Управление производственным предприятием для Украины
- Управление небольшой фирмой для Украины
- Бухгалтерия для Украины;
- Общепит для Украины
- Ресторан (Рарус)
- Розница

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 18.04.24, 10:23
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!