7.7 Проблема с запросом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Konrad, 14 апр 2016.

  1. TopicStarter Overlay
    Konrad
    Offline

    Konrad Опытный в 1С

    Регистрация:
    4 фев 2008
    Сообщения:
    61
    Симпатии:
    1
    Баллы:
    29
    Прошу помощи у многоуважаемых гуру форума.
    Есть запрос один сложный запрос в Товарном отчёте. Поэтому я уберу всё лишнее, чтобы понятнее было.
    Код:
    лтекТекстЗапроса    = "
        |ПЕРИОД С фдДатаНачала По фдДатаОкончания;
        |ВидСкидки                    = Регистр.Продажи.ТекущийДокумент.ЗакрытиеСмены.ВидСкидки, Регистр.ОстаткиТоваров.ТекущийДокумент.ЗакрытиеСмены.ВидСкидки;
        |Функция Скидка                = Расход(СуммаПродажиПродОТ)    когда ((КодОперации = Перечисление.КодыОпераций.Скидка) и (ВидТовара.Тип <> перТара) и (ВидСкидки <> глБаллы));
        |Функция Баллы                = Расход(СуммаПродажиПродОТ)    когда ((КодОперации = Перечисление.КодыОпераций.Скидка) и (ВидТовара.Тип <> перТара) и (ВидСкидки = глБаллы));";
    
    Я добавил в запрос новую переменную ВидСкидки, обращаюсь в соответствующее поле табличной части документа ЗакрытиеСмены через ТекущийДокумент. И добавил на форму отчёта поле глБаллы с типом Справочник.Скидки. В справочнике всего 2 элемента, соответственно я хочу чтобы отчёт разбивался по этим элементам (группировку по ним мне не нужно, тут другое). Я продублировал функцию Скидка функцией Баллы и разделил их последим условием в "когда". И, конечно, прописал все выводы строк в печатную форму, этот код я не привожу здесь.
    2016-04-14_16-23-20.png 2016-04-14_16-24-07.png
    Но отчет не работает так как я хочу. Он всегда показывает только результат первой функции - Скидка. Я подозреваю, что он просто не может понять такой переменной - ВидСкидки. Почему? Потому что её не видит даже стандартный конструктор запросов. Скрин прикладываю. Как заставить его видеть ВидСкидки?
  2. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    попробуйте завести две переменные
    СуммаПродажиПродОТ и СуммаПродажиПродОТ1 и примените функции соответственно
  3. TopicStarter Overlay
    Konrad
    Offline

    Konrad Опытный в 1С

    Регистрация:
    4 фев 2008
    Сообщения:
    61
    Симпатии:
    1
    Баллы:
    29
    К сожалению, не помогло.
  4. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    попробуйте добавить группировку по виду скидки. отработает или нет
  5. TopicStarter Overlay
    Konrad
    Offline

    Konrad Опытный в 1С

    Регистрация:
    4 фев 2008
    Сообщения:
    61
    Симпатии:
    1
    Баллы:
    29
    С группировкой как раз проблема, я не могу её использовать. Но я попробовал написать другой, простейший отчёт с группировкой, который перебирал бы документы, и всё сработало.
    Далее я попробовал переделать этот отчет так, чтобы он перебирал документы по ссылкам на ТекущийДокумент из регистра, и снова к этому реквизиту нет доступа.
    В общем, судя по всему, в стандартный конструктор отчётов попадает только тот (числовой!) реквизит, у которого установлен признак "Итог по колонке". У меня же не только признак не установлен, но и вообще реквизит не числовой, а справочник. Обнаружил это опытным путём, поэтому в другой ситуации может это и не так.
  6. Бухгалтерский угодник
    Online

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вот тут вряд-ли... Какая ему разница что группировать? Вы же не суммируете

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