8.х СКД как задать условие параметру

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

  1. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Добрый день! Отчет по СКД создается по документу, дата курса валюты должна быт, либо из документа (ДатаКурса), если выполняется условие СостояниеДокумента = Закрыт, если же условие не выполняется, то дата курса валюты = параметру, т.е. дате, которую ввел пользователь. Как это реализовать и возможно ли?
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Использовать конструкцию ВЫБОР КОГДА ТОГДА
  3. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    А где ее использовать? " 2 набора данных (один из них курсы валют, посл.срез), я так понимаю в Первый набор, но что-то курсы она все равно выбирает согласно параметра который вводит пользователь...
  4. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.028
    Симпатии:
    51
    Баллы:
    54
    А в документе нет типового реквизита типа "КурсВзаиморасчетов" или "КратностьВзаиморасчетов"?
  5. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Нет, такого нет...
    В принципе условие примитивное, если в поле документа стоит закрыт, то брать курсы по дате из документа (есть там такая дата закрытия), а вот если не закрыт, то из параметра, который вводит пользователь, но вот в СКД как то получается не просто....
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    А зачем Вам два набора в СКД, можно сделать то все одним запросом и левым соединением, а зете в поле прописать через Выбор Когда. Ну или если уже два набора то почему бы вам не создать Пользовательское поле КУРС и там прописать через ВЫБОР когда
  7. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.028
    Симпатии:
    51
    Баллы:
    54
    А зачем СКД?
    Слева ваша таблица под документу, справа таблица курсов (дата-курс)
    Выбор когда Документ.Закрыт Тогда КурсИзПравойТаблицы
    Иначе
    &парКурсНаФорме
    Конец
    --- Объединение сообщений, 20 сен 2016 ---
    Блин, опоздун =)
  8. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    У меня не 2 набора, а даже 4 (курсы, коэффициенты всякие, которые тоже от даты зависят)...А как потом с пользовательским полем быть? Мне еще нужно кучу формул рассчитать...
    --- Объединение сообщений, 20 сен 2016 ---
    От
    Отчет в СКД, требует заказчик
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну расчитывайте через пользовательское. в чем проблема то?
    Ну 4 набора и что? принципе все можно решить одним набором. через Временные таблицы.
    Ваше дела решать как делать.
    Либо если несколько наборов то делаете через пользовательское поле, либо все в один набор и там делаете
  10. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    А как потом пользовательское поле использовать в вычисляемых?
  11. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну вы можете не пользовательское поле создать, а вычисляемое. и там прописать это. Просто в других вычисляемых полях вам надо будет использовать не имя созданого вычисляемого поля, а то что там в выражении прописано. т.е вычислять это в каждом поле. т.е в каждом вычисляемом поле писать выбор когда, а затем * или / и т.д
  12. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Пользовательское или Вычисляемое поле, это понятно, но как потом значение получить. Т.е. например, в пользовательском поле рассчитывается ДатаКУрса, но как ее получить? Потом ее ведь можно будет передать в параметр (Параметры.УстановитьЗначениеПараметра). Но получить не удается....
  13. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Не совсем понял, какие значения передаватьв параметр?
  14. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Сейчас опишу подробнее. Ситуация такая. Отчет в СКД по документу. В отборе выбираем документ, в отчете рассчитываются различные данные по формулам с учетом курсов и коэффициентов из разных регистров сведений. В документе есть поле -СостояниеДокумента, если СостояниеДокумента=Закрыт, то для всех этих расчетов курсы и коэф берутся по дате закрытия дока (есть ДатаЗакрытия), иначе дата задается как период и расчет ведется на акт. курсы и коэф. по этой дате. Все работает, но когда задаешь конкретную дату, а как сделать так, чтобы и в случае закрытого дока тоже все работало. Сейчас она любые доки считает по курсу даты указанной в периоде.
    --- Объединение сообщений, 21 сен 2016 ---
    Условие, я так вас поняла? можно расписать в поольз или вычисл поле, но как его потом получить, чтобы передать в параметр?

    Вложения:

    • 11111.jpg
      11111.jpg
      Размер файла:
      38,5 КБ
      Просмотров:
      2
  15. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    НУ так я как раз думал что вы эту проблему и решаете испльзуя в СКД несколько наборов и соединять их по парметру. т.е получаете курс то же валюты на дату документа.

    Просто есть задача есть список документов у каждого своя датат - надо для каждого дока получить курс на дату из РС.
    Задачу можно решить двумя способами 1й это просто запросом через ВТ.
    второй это в СКД создать два набора и связать их по параметру, что бы дата из первого надора была параметром среза полседних второго.

    Так вот насколько я понял вы решили задачу решать по второму пути по этому у ваас несколько набров. и в итоге вы получаете документы. Курс на дату документа и курс на дату которая установлена параметром.
    А затем Вам надо анализировать что если документ закрыть то брать курс из параметра, если нет то на дату документа. - Это через выбор когда делается
  16. TopicStarter Overlay
    Guzal
    Offline

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Совершенно верно, второй вариант. Но как-то, я не вижу, что получаю 2 курса...у меня он один...
  17. Draco
    Offline

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

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

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Да по параметру
    --- Объединение сообщений, 21 сен 2016 ---
    вот так

    Вложения:

    • 222.jpg
      222.jpg
      Размер файла:
      36,8 КБ
      Просмотров:
      2
    • 333.jpg
      333.jpg
      Размер файла:
      87,8 КБ
      Просмотров:
      2
  19. Draco
    Offline

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

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

    Guzal

    Регистрация:
    20 сен 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Сорри, не внимательно прочла....

    Вложения:

    • 444.jpg
      444.jpg
      Размер файла:
      19,1 КБ
      Просмотров:
      2
    Последнее редактирование: 21 сен 2016

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