На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:

  • Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
  • Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
  • Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.

Высказать своё мнение о модераторах раздела можно здесь: evGenius
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Такой отчет возможен на компоновке данных?
    Есть 1 таблица.
    Тип СделкиСделкаСотрудникВремя

    Время должно агрегироваться в сумму.
    Тип сделки всего 2, поэтому я хочу чтобы все сделки одного типа схлоповались под +, а сотрудники добавлялись как столбец, при этом Итог считался как построчно, так и по столбцу.

    Если мы развернули определенный тип, то выходят все сделки данного типа при этом у них время посчитано отдельно.

    Прикреплённый файлПрикреплённый файлpic1.png (37,39 Кбайт, скачиваний: 100)
      Так а в чем проблема? Таблица в настройках СКД, группировка по строкам по типу и сделке, по колонкам - по сотруднику.
        как-то можно онлайн править СКД, чтобы каждый раз конфигуратором не переоткрывать базу?
        Что то по типу консоли запрос, только для СКД?
          Форму отчета накидал. Куда мне вставить собственно само время не пойму, чтобы оно было на пересечении сделка\сотрудник, сейчас там пусто.
          Прикреплённый файлПрикреплённый файлP2.png (6,49 Кбайт, скачиваний: 1291)
          Прикреплённый файлПрикреплённый файлP3.png (12,04 Кбайт, скачиваний: 1217)

          Добавлено
          забыл про ресурсы, получилось. СКД просто сказка

          Добавлено
          А вот такой вопрос, я что-то подзабыл за 3 года бездействия в 1С, Как мне сделать параметры отбора для этих данных, чтобы пользователи могли выбирать по каким им данным строить отчет?
            Цитата ^D^ima @
            Как мне сделать параметры отбора для этих данных, чтобы пользователи могли выбирать по каким им данным строить отчет?

            В настройках отчета СКД (где делаешь группировки и пр.) есть закладка ОТБОР.
            Цитата ^D^ima @
            Прикреплённый файлP3.png

            Правее вкладки "Выбранные поля".

            Добавлено
            Цитата ^D^ima @
            как-то можно онлайн править СКД, чтобы каждый раз конфигуратором не переоткрывать базу?

            Внешний отчет ;)
              Вчера все победил, СКД сила, после голых таблиц SQL.
                Цитата ^D^ima @
                СКД сила

                Особенно когда глубоко в ней разберешься.
                  Цитата ^D^ima @
                  Что то по типу консоли запрос, только для СКД?

                  Консоль CКД, так и называется.
                  Прикреплённый файлПрикреплённый файлdcsconsole.zip (60,47 Кбайт, скачиваний: 857)
                    Друзья, как мне подсчитать в запросе количество рабочих дней?

                    ExpandedWrap disabled
                      ГДЕ
                          Календарь.Дата МЕЖДУ &ДатаНачала И &ДатаКонца

                    Я могу вернуть &ДатаНачала - &ДатаКонца но не ясно как вычленить рабочие дня?
                      Цитата ^D^ima @
                      Друзья, как мне подсчитать в запросе количество рабочих дней?

                      Используя производственный календарь. Обычно это регистр сведений

                      Добавлено
                      Как то так

                      ExpandedWrap disabled
                        ВЫБРАТЬ
                            ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь КАК ПроизводственныйКалендарь,
                            ДанныеПроизводственногоКалендаря.Дата КАК Дата,
                            ДанныеПроизводственногоКалендаря.Год КАК Год,
                            ДанныеПроизводственногоКалендаря.ВидДня КАК ВидДня
                        ИЗ
                            РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
                        ГДЕ
                            ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &ПроизводственныйКалендарь
                            И ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
                            И ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
                            
                        ИТОГИ
                            КОЛИЧЕСТВО(Дата)
                        ПО
                            ОБЩИЕ
                      Сообщение отредактировано: Rust -
                        Rust
                        В СКД если я это засуну как 2 запрос, то можно будет потом компоновать результаты?

                        Т.е. сделать вычисляемое поле, которые могу засунуть как данные. Запро1.Данные1-Запрос2.Данные2 , например

                        Добавлено
                        Сделал через подзапрос. Результат во временную таблицу
                          Цитата ^D^ima @
                          В СКД если я это засуну как 2 запрос, то можно будет потом компоновать результаты?

                          Да, как второй набор данных. Только надо будет указать связи наборов.
                          Цитата ^D^ima @
                          Сделал через подзапрос. Результат во временную таблицу

                          как вариант
                            Цитата Rust @
                            Да, как второй набор данных. Только надо будет указать связи наборов.

                            КАК? Пишет что несвязанные данные нельзя использовать. Не хочу второй отчет из-за этого отдельные делать
                              Взято на сайте ИТС
                              Связь наборов данных по периодам
                              В некоторых отчетах требуется получать данные из нескольких наборов, при этом связь между наборами данных требуется выполнять по периодам. В данной статье описывается, каким образом можно сделать такой отчет при помощи системы компоновки данных.

                              Допустим, нам требуется выдать в отчет данные по остаткам товаров на складах по месяцам и для каждого месяца для каждого товара выдать объем продаж по товарам за этот период.
                              Для реализации такого отчета создадим два набора данных:

                              1. Набор данных с остатками по периодам.

                              2. Набор данных с продажами товаров за период.

                              Для того чтобы получить остатки по товарам по периодам, воспользуемся виртуальной таблицей ОстаткиИОбороты регистра накопления:
                              ExpandedWrap disabled
                                ВЫБРАТЬ
                                 ТоварныеЗапасыОстаткиИОбороты.Период КАК НачалоПериода,
                                 ТоварныеЗапасыОстаткиИОбороты.Товар,
                                 ТоварныеЗапасыОстаткиИОбороты.КоличествоНачальныйОстаток
                                ИЗ
                                 РегистрНакопления.ТоварныеЗапасы.ОстаткиИОбороты(, , Месяц, , ) КАК ТоварныеЗапасыОстаткиИОбороты

                              Продажи за период можно получить при помощи виртуальной таблицы Обороты регистра накопления:
                              ExpandedWrap disabled
                                ВЫБРАТЬ
                                 ПродажиОбороты.Товар,
                                 ПродажиОбороты.КоличествоОборот
                                ИЗ
                                 РегистрНакопления.Продажи.Обороты(&НачалоПериодаПродаж, &КонецПериодаПродаж, , ) КАК ПродажиОбороты

                              Так как система компоновки данных позволяет выполнять связь между наборами данных только по их полям, нам нужно обеспечить в обоих наборах данных поля начала и конца периода. Для этого переделаем запросы наборов данных следующим образом:

                              Набор данных остатков:
                              ExpandedWrap disabled
                                ВЫБРАТЬ
                                 ТоварныеЗапасыОстаткиИОбороты.Период КАК НачалоПериода,
                                 КОНЕЦПЕРИОДА(ТоварныеЗапасыОстаткиИОбороты.Период, МЕСЯЦ) КАК КонецПериода,
                                 ТоварныеЗапасыОстаткиИОбороты.Товар,
                                 ТоварныеЗапасыОстаткиИОбороты.КоличествоНачальныйОстаток
                                ИЗ
                                 РегистрНакопления.ТоварныеЗапасы.ОстаткиИОбороты(, , Месяц, , ) КАК ТоварныеЗапасыОстаткиИОбороты

                              Набор данных продаж:
                              ExpandedWrap disabled
                                ВЫБРАТЬ
                                 &НачалоПериодаПродаж КАК НачалоПериода,
                                 &КонецПериодаПродаж КАК КонецПериода,
                                 ПродажиОбороты.Товар,
                                 ПродажиОбороты.КоличествоОборот
                                ИЗ
                                 РегистрНакопления.Продажи.Обороты(&НачалоПериодаПродаж, &КонецПериодаПродаж, , ) КАК ПродажиОбороты

                              Теперь мы имеем возможность связать эти наборы данных друг с другом по полям - периодам.
                              Из описания связей видно, что для записей набора данных Остатки будут получаться записи набора данных ПродажиЗаПериод для нужного периода и нужных товаров. При этом значения полей НачалоПериода и КонецПериода набора данных Остатки будет использоваться в качестве значений параметров виртуальной таблицы Обороты.
                              Картинка с примером
                              Сообщение отредактировано: Rust -
                                Есть 2 Набора данных на базе зепроса:
                                ExpandedWrap disabled
                                  ВЫБРАТЬ
                                      Календарь.Сделка.ТипСделки КАК СделкаТипСделки,
                                      Календарь.Сделка КАК Сделка,
                                      Календарь.Сотрудник КАК Сотрудник,
                                      СУММА(Календарь.ДлительностьЗаписи) КАК ДлительностьЗаписи,
                                      Календарь.Подразделение КАК Подразделение,
                                      Календарь.Дата КАК Дата
                                  ИЗ
                                      Документ.Календарь КАК Календарь
                                  ГДЕ
                                      Календарь.Сделка.Ссылка <> &Ссылка
                                      И Календарь.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
                                   
                                  СГРУППИРОВАТЬ ПО
                                      Календарь.Сделка.ТипСделки,
                                      Календарь.Сделка,
                                      Календарь.Сотрудник,
                                      Календарь.Подразделение,
                                      Календарь.Дата


                                ExpandedWrap disabled
                                  ВЫБРАТЬ
                                      КОЛИЧЕСТВО(ДанныеПроизводственногоКалендаря.Дата) КАК КоличествоРабочихДней
                                  ПОМЕСТИТЬ КоличествоРабочихДнейПериод
                                  ИЗ
                                      РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
                                  ГДЕ
                                      ДанныеПроизводственногоКалендаря.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
                                      И ДанныеПроизводственногоКалендаря.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
                                  ;
                                   
                                  ////////////////////////////////////////////////////////////////////////////////
                                  ВЫБРАТЬ
                                      КоличествоРабочихДнейПериод.КоличествоРабочихДней КАК КоличествоРабочихДней,
                                      КоличествоРабочихДнейПериод.КоличествоРабочихДней * 8 КАК КоличествоРабочихЧасов,
                                      СУММА(Календарь.ДлительностьЗаписи) / (КоличествоРабочихДнейПериод.КоличествоРабочихДней * 8) * 100 КАК ПроцентУчтенный,
                                      Календарь.Сделка.ТипСделки КАК СделкаТипСделки,
                                      Календарь.Сотрудник КАК Сотрудник,
                                      СУММА(Календарь.ДлительностьЗаписи) КАК ДлительностьЗаписиОбщий,
                                      Календарь.Подразделение КАК Подразделение
                                  ИЗ
                                      Документ.Календарь КАК Календарь,
                                      КоличествоРабочихДнейПериод КАК КоличествоРабочихДнейПериод
                                  ГДЕ
                                      Календарь.Сделка.Ссылка <> &Ссылка
                                      И Календарь.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
                                   
                                  СГРУППИРОВАТЬ ПО
                                      Календарь.Сделка.ТипСделки,
                                      Календарь.Сотрудник,
                                      Календарь.Подразделение,
                                      КоличествоРабочихДнейПериод.КоличествоРабочихДней




                                Вопрос в том откуда берется длительность во 2 таблице?

                                Прикреплённый файлПрикреплённый файлOtchet.png (23,65 Кбайт, скачиваний: 1305)
                                Прикреплённый файлПрикреплённый файлnastroyki.png (18,31 Кбайт, скачиваний: 1277)
                                Прикреплённый файлПрикреплённый файлResyrsy.png (11,81 Кбайт, скачиваний: 1240)
                                Прикреплённый файлПрикреплённый файлSvyazi.png (7,49 Кбайт, скачиваний: 1250)

                                Добавлено
                                У меня наборы данных пересекаются только некоторым отбором на форме.
                                А так это 2 отдельные таблицы - 1 и 2.

                                Неясно по поводу закладки "Ресурсы". Что туда надо записывать?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0559 ]   [ 23 queries used ]   [ Generated: 16.04.24, 22:10 GMT ]