Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Другие решения на платформе "1С:Предприятие 8"]

Нужна помощь с отчетом УТ 10.3

SlavaVa
читатель
офлайн
Дата регистрации: 15.06.2011
Сообщений: 9
Пост №1
 
22.10.2015 09:58

ХЕЛП!!! Подскажите как завязать в один узел данные. Конфигурация УТ 10.3. Идея такая: Есть продажи текущего периода. Аналитика период, подразделения и номенклатура - это фактические продажи. Есть месячные планы продаж, аналитика та же.
Нужно сделать разбивку месячного плана продаж по дням, но с учетом продаж прошлого периода и вывести это все в один отчет.
                   период1 | период2 | период3
подразделения      
номенклатура       план,факт по сумме и количеству,
                   отклонение факта от плана.

например есть месячный план продаж на 60 рублей, в анализируемом периоде продали на 30 рублей, причем полмесяца продаж не было, а потом по 2 штуки в день. значит в текущем плане должно быть полмесяца о руб, а затем 4 штуки в день.

я сделал отчет но он медленно формируется и выдает нехватку памяти.

Делал на СКД двумя внешними наборами данных. один набор фактические продажи текущие, другой - плановые по дням.

отчет есть по ссылке https://cloud.mail.ru/public/54tS/GbsE81FC2

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №2
 
26.10.2015 15:21

Думаю, что нужно не "набор данных - Объединение" создавать, а 2 "Набор данных - Объект" (под каждую таблицу-источник данных). А так же не забыть прописать соединение этих наборов данных, а то как можно рассчитывать "отклонение", когда неизвестно какая строка плана какой строке факта соответствует.

Ответили: пост №3
SlavaVa
читатель
офлайн
Дата регистрации: 15.06.2011
Сообщений: 9
Пост №3
 
27.10.2015 01:46
Ответ на пост №2

Денис (САМАРА), с набором данным объект и связями есть подводный камень: если в приемнике есть данные, а в источнике нет, тогда данные не попадут в отбор. А соответствие установлено по группировке период, подразделение.

Появилась идея сделать всё без внешних таблиц. Суть такова: берем месячный план текущего периода, делим его на месячный факт прошлого периода - получаем общий коэффициент. Теперь берем продажи прошлого периода по дням и умножаем их на этот коэффициент. Получаем план текущего месяца по дням с учетом продаж прошлого периода. Только два вопроса: 1. будет ли это правильной формулой и как это запросом вытащить...Есть идеи?

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №4
 
27.10.2015 10:51

Прочитал первый раз "появившуюся идею" и не понял ничего.
Прочитал второй раз и понял, что если прочитаю еще раз, то мой мозг взорвется.

P.S. А начиналось все вроде бы просто — план, факт, отклонение...

SlavaVa
читатель
офлайн
Дата регистрации: 15.06.2011
Сообщений: 9
Пост №5
 
28.10.2015 02:07

Попробую объяснить. Есть план продаж, установленный на месяц. Допустим 100 тысяч рублей. Руководство хочет видеть исполнение этого плана, например по дням. Ежедневные фактические продажи-то мы видим. Вопрос как распределить сумму 100 тысяч на каждый день месяца? Равными долями не вариант. Решено использовать в качестве функции распределения фактические продажи за такой же период в прошлом году. Тут сразу усложняем - не обязательно в прошлом году, а в любом указанном периоде, такой же длины. Например формируем отчет с 1 января по 31 января, а в качестве периода сравнения указываем с 1 декабря прошедшего года по 31 декабря.
Теперь идея:
Например, половину месяца в декабре продаж не было вовсе, а во второй половине продали на 60 тысяч. То есть за 100% "плана" прошлого периода взято 60 тысяч. в текущем периоде план 100 тысяч. Выводим коэффициент для расчета 100 тыс / 60 тыс. получаем 1.667. То есть по сравнению с прошлым периодом план подняли на 1.667. Значит чтобы получить ежедневный план нужно ежедневные продажи умножить на 1.667.

Вопрос 1: верно ли это? (проверил - вроде бы верно)
Вопрос 2: как сделать?

SlavaVa
читатель
офлайн
Дата регистрации: 15.06.2011
Сообщений: 9
Пост №6
 
28.10.2015 04:55

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


Код
Запрос=новый запрос();
      Текст="ВЫБРАТЬ                           // таблица соответствия текщуго периода прошлому
                   |      СоотвПериодов.НП, СоотвПериодов.НПП
                   |ПОМЕСТИТЬ СоотвПериодов
                   |ИЗ &СоотвПериодов КАК СоотвПериодов;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ                                          //текущие планы продаж. минимум помесячно. для расчета коэффициентов.
                   |      ПланыПродажОбороты.Период,
                   |      СоотвПериодов.НПП КАК ПериодПП,
                   |      ПланыПродажОбороты.Подразделение,
                   |      ПланыПродажОбороты.Номенклатура,
                   |      ПланыПродажОбороты.Номенклатура.НоменклатурнаяГруппа,
                   |      СУММА(ПланыПродажОбороты.СтоимостьОборот + ПланыПродажОбороты.НДСОборот) КАК СуммаТекПлан,
                   |      СУММА(ПланыПродажОбороты.КоличествоОборот) КАК КоличествоТекПлан
                   |ПОМЕСТИТЬ ПланыПродажТекПериод
                   |ИЗ
                   |      РегистрНакопления.ПланыПродаж.Обороты(&НачалоПериода, &КонецПериода,
                   |                                                              МинимумМесяц,                        
                   |                                                              ) КАК ПланыПродажОбороты
                   |            ЛЕВОЕ СОЕДИНЕНИЕ СоотвПериодов КАК СоотвПериодов
                   |            ПО ПланыПродажОбороты.Период = СоотвПериодов.НП
                   |
                   |СГРУППИРОВАТЬ ПО
                   |      ПланыПродажОбороты.Период,
                   |      СоотвПериодов.НПП,
                   |      ПланыПродажОбороты.Номенклатура,
                   |      ПланыПродажОбороты.Подразделение,
                   |      ПланыПродажОбороты.Номенклатура.НоменклатурнаяГруппа;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ                                          //факт продаж прошлого периода. Минимум помесячно. для расчета коэффициентов.
                   |      СоотвПериодов.НП КАК Период,      // + соответсвие текущему периоду.
                   |      ПродажиОбороты.Период КАК ПериодПП,
                   |      ПродажиОбороты.Подразделение,
                   |      ПродажиОбороты.Номенклатура,
                   |      ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа,
                   |      СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоПП,
                   |      СУММА(ПродажиОбороты.СтоимостьОборот + ПродажиОбороты.НДСОборот) КАК СуммаПП
                   |ПОМЕСТИТЬ ПродажиПП
                   |ИЗ
                   |      РегистрНакопления.Продажи.Обороты(&НПП, &КПП, 
                   |                                                        МинимумМесяц, 
                   |                                                        ) КАК ПродажиОбороты
                   |            ЛЕВОЕ СОЕДИНЕНИЕ СоотвПериодов КАК СоотвПериодов
                   |            ПО ПродажиОбороты.Период = СоотвПериодов.НПП
                   |
                   |СГРУППИРОВАТЬ ПО
                   |      СоотвПериодов.НП,
                   |      ПродажиОбороты.Подразделение,
                   |      ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа,
                   |      ПродажиОбороты.Период,
                   |      ПродажиОбороты.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ                           //расчет коэффициентов (отношение сумм текущего плана к факту прошлых продаж. период из верхних таблиц.
                   |      ЕСТЬNULL(ПланыПродажТекПериод.Период, ПродажиПП.Период) КАК Период,
                   |      СУММА(ВЫБОР
                   |                  КОГДА ПродажиПП.СуммаПП = 0
                   |                              ИЛИ ПродажиПП.СуммаПП ЕСТЬ NULL 
                   |                        ТОГДА 0
                   |                  ИНАЧЕ ЕСТЬNULL(ПланыПродажТекПериод.СуммаТекПлан, 0) / ПродажиПП.СуммаПП
                   |            КОНЕЦ) КАК КоэфСумма,
                   |      СУММА(ВЫБОР
                   |                  КОГДА ПродажиПП.КоличествоПП = 0
                   |                              ИЛИ ПродажиПП.КоличествоПП ЕСТЬ NULL 
                   |                        ТОГДА 0
                   |                  ИНАЧЕ ЕСТЬNULL(ПланыПродажТекПериод.КоличествоТекПлан, 0) / ПродажиПП.КоличествоПП
                   |            КОНЕЦ) КАК КоэфКолВо,
                   |      ЕСТЬNULL(ПланыПродажТекПериод.Подразделение, ПродажиПП.Подразделение) КАК Подразделение,
                   |      ПродажиПП.Номенклатура КАК Номенклатура,
                   |      ЕСТЬNULL(ПланыПродажТекПериод.ПериодПП, ПродажиПП.ПериодПП) КАК ПериодПП
                   |ПОМЕСТИТЬ Коэффициенты
                   |ИЗ
                   |      ПланыПродажТекПериод КАК ПланыПродажТекПериод
                   |            ПОЛНОЕ СОЕДИНЕНИЕ ПродажиПП КАК ПродажиПП
                   |            ПО ПланыПродажТекПериод.Период = ПродажиПП.Период
                   |                  И ПланыПродажТекПериод.НоменклатураНоменклатурнаяГруппа = ПродажиПП.НоменклатураНоменклатурнаяГруппа
                   |                  И ПланыПродажТекПериод.Подразделение = ПродажиПП.Подразделение
                   |
                   |СГРУППИРОВАТЬ ПО
                   |      ЕСТЬNULL(ПланыПродажТекПериод.Период, ПродажиПП.Период),
                   |      ЕСТЬNULL(ПланыПродажТекПериод.Подразделение, ПродажиПП.Подразделение),
                   |      ЕСТЬNULL(ПланыПродажТекПериод.ПериодПП, ПродажиПП.ПериодПП),
                   |      ПродажиПП.Номенклатура
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |УНИЧТОЖИТЬ ПродажиПП;                        //остались только коэффициент. минимум помесячно. 
                   |УНИЧТОЖИТЬ ПланыПродажТекПериод;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |      СоотвПериодов.НП КАК Период,
                   |      СУММА((ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот, 0) + ЕСТЬNULL(ПродажиОбороты.НДСОборот, 0)) * ЕСТЬNULL(Коэффициенты.КоэфСумма, 0)) КАК СуммаПлан,
                   |      СУММА(ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) * ЕСТЬNULL(Коэффициенты.КоэфКолВо, 0)) КАК КоличествоПлан,
                   |      СУММА(ПродажиОбороты.СтоимостьОборот + ПродажиОбороты.НДСОборот) КАК СуммаППП,
                   |      СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоППП,
                   |      СУММА(0) КАК СуммаФакт,
                   |      СУММА(0) КАК КоличествоФакт,
                   |      ПродажиОбороты.Номенклатура,
                   |      ПродажиОбороты.Подразделение
                   |ПОМЕСТИТЬ Почти
                   |ИЗ
                   |      РегистрНакопления.Продажи.Обороты(&НПП, &КПП, 
                   |                                                                  МинимумДень                      //периодичность отчета.
                   |                                                            , ) КАК ПродажиОбороты
                   |            ЛЕВОЕ СОЕДИНЕНИЕ СоотвПериодов КАК СоотвПериодов
                   |            ПО ПродажиОбороты.Период = СоотвПериодов.НПП
                   |            ЛЕВОЕ СОЕДИНЕНИЕ Коэффициенты КАК Коэффициенты
                   |            ПО (НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ) = Коэффициенты.ПериодПП)
                   |                  И ПродажиОбороты.Номенклатура = Коэффициенты.Номенклатура
                   |                  И ПродажиОбороты.Подразделение = Коэффициенты.Подразделение
                   |
                   |СГРУППИРОВАТЬ ПО
                   |      СоотвПериодов.НП,
                   |      ПродажиОбороты.Номенклатура,
                   |      ПродажиОбороты.Подразделение
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |      ПродажиОбороты.Период,
                   |      СУММА(0),
                   |      СУММА(0),
                   |      СУММА(0),
                   |      СУММА(0),
                   |      СУММА(ПродажиОбороты.СтоимостьОборот + ПродажиОбороты.НДСОборот),
                   |      СУММА(ПродажиОбороты.КоличествоОборот),
                   |      ПродажиОбороты.Номенклатура,
                   |      ПродажиОбороты.Подразделение
                   |ИЗ
                   |      РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, 
                   |                                                        МинимумДень                              //ПериодичностьОтчета
                   |                                                      , ) КАК ПродажиОбороты
                   |
                   |СГРУППИРОВАТЬ ПО
                   |      ПродажиОбороты.Период,
                   |      ПродажиОбороты.Номенклатура,
                   |      ПродажиОбороты.Подразделение
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |УНИЧТОЖИТЬ Коэффициенты
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |УНИЧТОЖИТЬ СоотвПериодов
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |      Почти.Период КАК Период,
                   |      СУММА(Почти.СуммаПлан) КАК СуммаПлан,
                   |      СУММА(Почти.КоличествоПлан) КАК КоличествоПлан,
                   |      СУММА(Почти.СуммаППП) КАК ППП_Сумма,
                   |      СУММА(Почти.КоличествоППП) КАК ППП_Количество,
                   |      СУММА(Почти.СуммаФакт) КАК СуммаФакт,
                   |      СУММА(Почти.КоличествоФакт) КАК КоличествоФакт,
                   |      Почти.Номенклатура,
                   |      Почти.Подразделение
                   |ИЗ
                   |      Почти КАК Почти
                   |
                   |СГРУППИРОВАТЬ ПО
                   |      Почти.Период,
                   |      Почти.Номенклатура,
                   |      Почти.Подразделение
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |      Период";
                         
МинимумМесяц="Месяц";
МинимумДень="День";
ПериодыОтчета(МинимумМесяц,МинимумДень);                         
Текст=СтрЗаменить(Текст,"МинимумМесяц",МинимумМесяц);                         
Текст=СтрЗаменить(Текст,"МинимумДень",МинимумДень);                         
Запрос.Текст=Текст;
Запрос.УстановитьПараметр("НачалоПериода",НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода",КонецДня(КонецПериода));
РазницаМеждуПериодами=НачалоПериода-НачалоПериодаРасчетаДинамики;
Запрос.УстановитьПараметр("СоотвПериодов",ТаблицаСоответствияПериодов(РазницаМеждуПериодами));


Запрос.УстановитьПараметр("НПП",НачалоПериодаРасчетаДинамики);
Запрос.УстановитьПараметр("КПП",КонецДня(КонецПериода-РазницаМеждуПериодами));
      Возврат Запрос.Выполнить().Выгрузить();

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №7
 
28.10.2015 13:54

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

SlavaVa
читатель
офлайн
Дата регистрации: 15.06.2011
Сообщений: 9
Пост №8
 
29.10.2015 03:12

Дело не в том кто как делает, а в том как решить поставленную задачу. требуется детализировать план "налету". Если бы все было так просто не было бы этой темы. Сравнил два регистра и вся недолга.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №9
 
29.10.2015 10:52

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

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация