8.х Как получить остатки ДС по хоз. операции если она не является измерением!?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем web.num, 21 май 2015.

  1. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    Привет всем, подскажите как получить остатки ДС по конкретной хоз. операции (В ЗАПРОСЕ!!!), при том что хоз. операция НЕ Измерение а реквизит регистра!?
    Последнее редактирование: 21 май 2015
  2. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А что именно не получается?
  3. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    если ставишь параметр - конкретную хоз операцию, то запрос игнорирует его, приход и расход выводится нормально по параметру, а остатки показывает по всем документам, независимо от хоз операции!
  4. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну все зависит просто от того какие вам данные надо получать?
    Запрос можно глянуть какой у вас?
  5. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        ДенежныеСредства.Организация КАК Организация,
        ДенежныеСредства.Касса КАК Касса,
        ДенежныеСредства.Касса.ВалютаДенежныхСредств КАК Валюта,
        ДенежныеСредства.Регистратор КАК Регистратор,
        ДенежныеСредства.ПериодДень КАК ПериодДень,
        ДенежныеСредства.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
        ДенежныеСредства.СуммаПриход КАК СуммаПриход,
        ДенежныеСредства.СуммаРасход КАК СуммаРасход,
        ДенежныеСредства.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
        ДенежныеСредства.СуммаПриход - ДенежныеСредства.СуммаРасход КАК Остаток
    ИЗ
        РегистрНакопления.ДенежныеСредстваНаличные.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , Касса В (&СписокДоступныхКасс)) КАК ДенежныеСредства
    
    простой запрос, просто надо вытащить по конкретной хоз операции! КАК!?
  6. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    хоз операция это что? регисратор?
  7. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    "при том что хоз. операция НЕ Измерение а реквизит регистра!"
  8. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Так как реквизит называется? хоз операция?
    почему не взять образно говоря
    Приход с отбором по данному реквизиту с начала периода по вашему.
    Затем расход со знаком минус и объеденить эти два запроса - получите остаток
  9. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    Забыл добавить ) Мне нужны начальные и конечные остатки по выбранному периоду! :)
  10. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну тогда то что я вам написал за указный период+ добавляете начальный остаток путем того же прихода и расхода с даты основания до даты начала
  11. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    Это можно в запросе сделать?
  12. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    ну да
  13. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    Чет не могу сообразить как в запросе это написать, можно немного кода?
  14. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Завтра
  15. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    привет, подкинь кода кусочек )
  16. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Доброго,
    Можно сделать так :
    Код:
    ВЫБРАТЬ
        ДенежныеСредства.МоментВремени КАК МоментВремени,
        ДенежныеСредства.Период КАК Период,
        ДенежныеСредства.Организация КАК Организация,
        ДенежныеСредства.Касса КАК Касса,
        ДенежныеСредства.Касса.ВалютаДенежныхСредств КАК Валюта,
        ДенежныеСредства.Регистратор КАК Регистратор,
        ДенежныеСредства.Сумма КАК Сумма,
        ВЫБОР
            КОГДА ДенежныеСредства.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                ТОГДА ВТ_ВыборкаИзРегистра.Сумма
            ИНАЧЕ 0
        КОНЕЦ КАК СуммаПриход,
        ВЫБОР
            КОГДА ДенежныеСредства.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
                ТОГДА ВТ_ВыборкаИзРегистра.Сумма
            ИНАЧЕ 0
        КОНЕЦ КАК СуммаРасход
    ПОМЕСТИТЬ ВТ_ВыборкаИзРегистра  
    ИЗ
        РегистрНакопления.ДенежныеСредстваНаличные  КАК ДенежныеСредства
    ГДЕ
        ДенежныеСредства.Период МЕЖДУ НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
        И ДенежныеСредства.Касса В (&СписокДоступныхКасс)
    ;
    ВЫБРАТЬ
        ВТ_ВыборкаИзРегистра.Организация,
        ВТ_ВыборкаИзРегистра.Касса,
        ВТ_ВыборкаИзРегистра.Валюта,
        ВТ_ВыборкаИзРегистра.Период,
        ВТ_ВыборкаИзРегистра.Сумма,
        СУММА(ВыборкаОбщая.СуммаПриход) КАК СуммаПриход,
        СУММА(ВыборкаОбщая.СуммаРасход) КАК СуммаРасход,
        СУММА(ВыборкаОбщая.СуммаПриход - ВыборкаОбщая.СуммаРасход) КАК СуммаОстаток
    ИЗ
        ВТ_ВыборкаИзРегистра
        ЛЕВОЕ СОЕДИНЕНИЕ
            ВТ_ВыборкаИзРегистра КАК ВыборкаОбщая
        ПО ВыборкаОбщая.Организация = ВТ_ВыборкаИзРегистра.Организация
            И ВыборкаОбщая.Касса = ВТ_ВыборкаИзРегистра.Касса
            И ВыборкаОбщая.Валюта = ВТ_ВыборкаИзРегистра.Валюта
            И ВыборкаОбщая.МоментВремени <= ВТ_ВыборкаИзРегистра.МоментВремени
    СГРУППИРОВАТЬ ПО
        ВТ_ВыборкаИзРегистра.Организация,
        ВТ_ВыборкаИзРегистра.Касса,
        ВТ_ВыборкаИзРегистра.Валюта,
        ВТ_ВыборкаИзРегистра.Период,
        ВТ_ВыборкаИзРегистра.Сумма
    
    Конечно, заранее протестировать в консоли запросов и подогнать под свои нужды

    По идее запрос в таком виде должен давать остатки на каждый "период"
  17. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Я предполагал что то типа

    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    ДенежныеСредства.Организация КАК Организация,
    ДенежныеСредства.Касса КАК Касса,
    ДенежныеСредства.Касса.ВалютаДенежныхСредств КАК Валюта,
    ДенежныеСредства.Регистратор КАК Регистратор,
    ДенежныеСредства.ПериодДень КАК ПериодДень,
    ДенежныеСредства.СуммаПриход КАК Остаток,
    ИЗ
    РегистрНакопления.ДенежныеСредстваНаличные.ОстаткиИОбороты(, &НачалоПериода, Авто, , Касса В (&СписокДоступныхКасс)) КАК ДенежныеСредства
    
    Объеденить все
    
    ВЫБРАТЬ
    ДенежныеСредства.Организация КАК Организация,
    ДенежныеСредства.Касса КАК Касса,
    ДенежныеСредства.Касса.ВалютаДенежныхСредств КАК Валюта,
    ДенежныеСредства.Регистратор КАК Регистратор,
    ДенежныеСредства.ПериодДень КАК ПериодДень,
    -1*ДенежныеСредства.СуммаРасход КАК Остаток,
    ИЗ
    РегистрНакопления.ДенежныеСредстваНаличные.ОстаткиИОбороты(,&НачалоПериода , Авто, , Касса В (&СписокДоступныхКасс)) КАК ДенежныеСредства
    вот это по идее остаток на начало периода

    Аналогично делаешь только дат уже твоего периода РегистрНакопления.ДенежныеСредстваНаличные.ОстаткиИОбороты(НачалоПериода, &КонецПериода, Авто, , Касса В (&СписокДоступныхКасс)) КАК ДенежныеСредства

    и потом складываешь эти две суммы ну конечсно все в запросах
    Это объединени можно поместитт в одну ВТ, второе во Вторую ВТ
    А затем обдеденить обе ВТ
  18. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    Помогите пожалуйста избавиться вот от этого: Безымянный.jpg

    Не могу избавиться, СуммаКонечныйОстаток как то реагирует на момент времени, пытался группировать, но нет результата. Подскажите как побороть! Вот запрос :
    Код:
    ВЫБРАТЬ РАЗЛИЧНЫЕ
        ДенежныеСредства.Период КАК Период,
        ДенежныеСредства.Касса КАК Касса,
        ДенежныеСредства.Регистратор КАК Регистратор,
        ВЫБОР
            КОГДА ДенежныеСредства.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                ТОГДА ДенежныеСредства.Сумма
            ИНАЧЕ 0
        КОНЕЦ КАК СуммаПриход,
        ВЫБОР
            КОГДА ДенежныеСредства.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
                ТОГДА ДенежныеСредства.Сумма
            ИНАЧЕ 0
        КОНЕЦ КАК СуммаРасход,
        ДенежныеСредства.ХозяйственнаяОперация,
        ДенежныеСредства.Заказ,
        ДенежныеСредства.ВидДвижения
    ПОМЕСТИТЬ ВТ_ВыборкаИзРегистра
    ИЗ
        РегистрНакопления.ДенежныеСредстваНаличные КАК ДенежныеСредства
    ГДЕ
        ДенежныеСредства.Период МЕЖДУ &НачалоПериода И &КонецПериода
        И ДенежныеСредства.Касса В(&СписокДоступныхКасс)
        И ДенежныеСредства.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КонвертацияВалюты)
        И ДенежныеСредства.ХозяйственнаяОперация <> ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПоступлениеДенежныхСредствИзБанка)
        И (ДенежныеСредства.Регистратор ССЫЛКА Документ.ПриходныйКассовыйОрдер
                ИЛИ ДенежныеСредства.Регистратор ССЫЛКА Документ.РасходныйКассовыйОрдер)
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ РАЗЛИЧНЫЕ
        ВТ_ВыборкаИзРегистра.Касса,
        ВТ_ВыборкаИзРегистра.Период,
        ВТ_ВыборкаИзРегистра.Регистратор,
        ВТ_ВыборкаИзРегистра.СуммаПриход,
        ВТ_ВыборкаИзРегистра.СуммаРасход,
        СУММА(ВыборкаОбщая.СуммаПриход - ВыборкаОбщая.СуммаРасход) КАК СуммаКонечныйОстаток,
        ВТ_ВыборкаИзРегистра.ХозяйственнаяОперация,
        ВТ_ВыборкаИзРегистра.Заказ
    ИЗ
        ВТ_ВыборкаИзРегистра КАК ВТ_ВыборкаИзРегистра
            ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ВыборкаИзРегистра КАК ВыборкаОбщая
            ПО (ВыборкаОбщая.Касса = ВТ_ВыборкаИзРегистра.Касса)
                И (ВыборкаОбщая.Период <= ВТ_ВыборкаИзРегистра.Период)
    
    СГРУППИРОВАТЬ ПО
        ВТ_ВыборкаИзРегистра.Период,
        ВТ_ВыборкаИзРегистра.Регистратор,
        ВТ_ВыборкаИзРегистра.Касса,
        ВТ_ВыборкаИзРегистра.СуммаПриход,
        ВТ_ВыборкаИзРегистра.СуммаРасход,
        ВТ_ВыборкаИзРегистра.ХозяйственнаяОперация,
        ВТ_ВыборкаИзРегистра.Заказ
    Если можно то и начальный остаток помогите вытащить -Shamefullyembarrased- Пожаааалуйста!!! :)
    Последнее редактирование: 24 май 2015
  19. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Из группировки исключить "период" или укрупнить его
    заменив в запросе (в конечной выборке) на НАЧАЛОПЕРИОДА(Период, День), и в выборке и в группировке
    --- Объединение сообщений, 25 май 2015 ---
    по логике, в этом случае, он должен свернуть все до регистратора
  20. TopicStarter Overlay
    web.num
    Offline

    web.num Опытный в 1С Команда форума

    Регистрация:
    6 окт 2011
    Сообщения:
    918
    Симпатии:
    4
    Баллы:
    29
    Не, вообще чушь пишет какую то! Юрий, попробуй сделать у себя, опишись пожалуйста! У меня это УТ упр. инт.

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