8.х Вывод остатков по периодам

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Svetlanka, 16 июл 2013.

  1. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте!
    Подскажите пожалуйста, можно ли в СКД вывести остатки по складам на начало года, на первое число предыдущего месяца и на первое число текущего месяца одновременно?! По двум параметрам у меня получается вывести, а с третьим параметром не могу разобраться.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А в чем собственно проблема? ну объедените три одинаковых запроса просто у каждого будет свой параметр получения остатков
  3. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Спасибо! Получилось!
  4. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    А как в этот же отчет добавить ещё остатки, так же по 3 периодам только 5 предыдущих лет. Можно ли это как то осуществить?
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Можно
    1 Так же добавить запросы и в них даты в параметрах прописать - мин год , два и т.д
    2 Либо через СКд двумя наборами , что бы динамически можно было даты менять
  6. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Когда в ручную отчет пишешь, можно установить группировку по столбцам - группировать по годам. А можно в скд тоже установить группировку по годам?
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Можно, что мешает в запрос добавить поля

    НачалоПериода(ДанныеЗапроса.Период,Месяц)
    НачалоПериода(ДанныеЗапроса.Период,Год)

    и уже если надо группируйте по месяцам, надо по годам
  8. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Я добавила новые поля, но у мне помимо группировки по годам нужно ещё и по 3 периодам на каждый год. Вот у меня возникла проблема, на первый год на который я указываю периоды правильные цены выходят, а на следующие года на все 3 периода выходят одинаковые цены(цена на начало года) . Я добавлю запрос, может вы сможете подсказать в чем дело.


    ВЫБРАТЬ
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    0 КАК НаНачГода,
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД) КАК Год,
    0 КАК НаНачМес,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток КАК НаКонМес
    ПОМЕСТИТЬ Запрос
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&КонПер, , Год, , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток,
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД)
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    0,
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД),
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток,
    0
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачПер, , Год, , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток,
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД)
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток,
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД),
    0,
    0
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачГода, , Год, , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток,
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД)
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Запрос.Номенклатура,
    СУММА(Запрос.НаНачГода) КАК НаНачГода,
    Запрос.Год,
    СУММА(Запрос.НаНачМес) КАК НаНачМес,
    СУММА(Запрос.НаКонМес) КАК НаКонМес
    ИЗ
    Запрос КАК Запрос
    СГРУППИРОВАТЬ ПО
    Запрос.Номенклатура,
    Запрос.Год
  9. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну смотрите НА СКД я бы Вашу задачу реализовал через 2 набора данных.
    1 й набор - это дата начало годов за тот период, за который Вам надо получать остатаки
    2 й это как раз вот тот набор данных получаемый из 3х объединеных запросов

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

    Задача аналогично тому, что бы получить курсы валют на каждый день или остатки на каждый день, даже если движений не было.

    Т.е у вас во второй набор будут подставляться дата из первого как параметр для получения остатков
  10. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Всё ровно выводит не правильно((( может есть какая то функция что бы выводилось именно ровно через год от периода, а не с начало года?!

    Вложения:

  11. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    не ну в запросах есть такая штука как ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>) которое к дате прибавляет
  12. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Есть, дата прибавляется. а суммы не меняются((( какая у меня ещё ошибка может быть? я новичек, поэтому может в элементарном ошиблась(((
  13. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А Где прибавляете - можно посмотреть запрос
  14. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    ВЫБРАТЬ
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток) КАК КонПер,
    NULL КАК НачГода,
    NULL КАК НачПер,
    ЦехПоНоменклатуре.ОбластьПотребления,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
    ДОБАВИТЬКДАТЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД, 1) КАК Период
    ПОМЕСТИТЬ Запрос
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&КонПер, , Год, , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦехПоНоменклатуре КАК ЦехПоНоменклатуре
    ПО ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура = ЦехПоНоменклатуре.Номенклатура
    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
    ЦехПоНоменклатуре.ОбластьПотребления,
    ДОБАВИТЬКДАТЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД, 1),
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    NULL,
    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток),
    NULL,
    ЦехПоНоменклатуре.ОбластьПотребления,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
    ДОБАВИТЬКДАТЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД, 1)
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачГода, , Год, , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦехПоНоменклатуре КАК ЦехПоНоменклатуре
    ПО ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура = ЦехПоНоменклатуре.Номенклатура
    СГРУППИРОВАТЬ ПО
    ДОБАВИТЬКДАТЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД, 1),
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ЦехПоНоменклатуре.ОбластьПотребления,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    NULL,
    NULL,
    СУММА(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.СтоимостьНачальныйОстаток),
    ЦехПоНоменклатуре.ОбластьПотребления,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,
    ДОБАВИТЬКДАТЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД, 1)
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты(&НачПер, , Год, , ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦехПоНоменклатуре КАК ЦехПоНоменклатуре
    ПО ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура = ЦехПоНоменклатуре.Номенклатура
    СГРУППИРОВАТЬ ПО
    ДОБАВИТЬКДАТЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период, ГОД, 1),
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Номенклатура,
    ЦехПоНоменклатуре.ОбластьПотребления,
    ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад
    ;
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    Запрос.Номенклатура,
    СУММА(Запрос.КонПер) КАК КонПер,
    СУММА(Запрос.НачГода) КАК НачГода,
    СУММА(Запрос.НачПер) КАК НачПер,
    Запрос.ОбластьПотребления,
    Запрос.Склад,
    Запрос.Период
    ИЗ
    Запрос КАК Запрос
    СГРУППИРОВАТЬ ПО
    Запрос.ОбластьПотребления,
    Запрос.Номенклатура,
    Запрос.Период,
    Запрос.Склад

    Вложения:

  15. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Может я параметры не правильно указываю?!

    Вложения:

  16. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну тут в запросе вы ДобавитьК Дате делаетет просто для вывода поля,А вам же разные остатки на эту числа получать надо - это надо в параметрах деать,там где остатки получаетет
  17. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    А можно немного по подробней в чем моя ошибка. И если можно немного объяснить как её исправить.

    Вложения:

  18. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Давайте еще раз, что Вам необходимо и что Мы уже сделали?
  19. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.991
    Симпатии:
    399
    Баллы:
    104
    Я так и знал, что сейчас спросишь :D
  20. TopicStarter Overlay
    Svetlanka
    Offline

    Svetlanka

    Регистрация:
    16 июл 2013
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    1
    Необходимо вывести сумму остатков с указанного года до текущего по 3 периодам. пользователь вводит 3 периода за первый год, дальше должны выводится суммы по годам по тем месяцам которые указанны. Да данный момент выводятся правильно только суммы по указанным датам, а на остальные года выводятся суммы остатков на начало года.
    Простите, может немного не корректно выражаюсь((

    Вложения:

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