8.х Условие выбора для типа Измерение

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

  1. TopicStarter Overlay
    StasNosikov
    Offline

    StasNosikov

    Регистрация:
    23 мар 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Здрасти.
    Есть готовый отчет "Выработка исполнителей", мне нужно в нем по определенному значению строки выводить одно значение, иначе другое.
    Пример.
    Если ВидРемонта="Химчистка" ТО ЗП=Сумма*30% ИНАЧЕ ЗП=Сумма*25%

    Изначально отчет выглядел так(без моего условия) и работал:
    ВЫБРАТЬ
    ВыработкаСотрудниковОбороты.КоличествоОборот КАК КоличествоОборот, //ПОКАЗАТЕЛЬ
    ВыработкаСотрудниковОбороты.СуммаУпрОборот КАК СуммаУпрОборот, //ПОКАЗАТЕЛЬ_
    ВыработкаСотрудниковОбороты.СуммаУпрСоСкидкойОборот КАК СуммаУпрСоСкидкойОборот, //ПОКАЗАТЕЛЬ
    ВыработкаСотрудниковОбороты.СуммаУпрОборот-ВыработкаСотрудниковОбороты.СуммаУпрСоСкидкойОборот КАК СуммаУпрСкидкиОборот, //ПОКАЗАТЕЛЬ_
    .....

    Я добавил строку и получилось так отчет выдает ошибку "Ошибка при вызове контекста: Ошибка при выполнении метода объекта компоненты":
    ВЫБРАТЬ
    ВыработкаСотрудниковОбороты.КоличествоОборот КАК КоличествоОборот, //ПОКАЗАТЕЛЬ
    ВыработкаСотрудниковОбороты.СуммаУпрОборот КАК СуммаУпрОборот, //ПОКАЗАТЕЛЬ_
    ВыработкаСотрудниковОбороты.СуммаУпрСоСкидкойОборот КАК СуммаУпрСоСкидкойОборот, //ПОКАЗАТЕЛЬ
    ВыработкаСотрудниковОбороты.СуммаУпрОборот-ВыработкаСотрудниковОбороты.СуммаУпрСоСкидкойОборот КАК СуммаУпрСкидкиОборот, //ПОКАЗАТЕЛЬ_
    ВЫБОР КОГДА ВыработкаСотрудниковОбороты.ВидРемонта = &Химчистка ТОГДА 100 ИНАЧЕ 1 КОНЕЦ КАК ЗпмОборот,
    ......

    Что не так 3 день бъюсь что токо не пробывал, времени на изучение Синтаксиса 1С нет, но на форумах нарыл, что именно знаком "&" проверяется строковое значение.
    Спасибо всем.
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Этим знаком задается параметр. Лучше возьми в ковычки без этого знака.
  3. TopicStarter Overlay
    StasNosikov
    Offline

    StasNosikov

    Регистрация:
    23 мар 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Если в кавычках то все работает, но условие всегда ложно, хоть и в регистре накопления этого журнала есть параметр удовлетворяющий условию.
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Запрос.УстановитьПараметр("Химчистка", "Химчистка"); Попробуйте так.
  5. TopicStarter Overlay
    StasNosikov
    Offline

    StasNosikov

    Регистрация:
    23 мар 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Можно подробнее, что он выполняет? а то я не понял, где именно его применить. И что значат его параметры скобках?
    Спасибо
  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Обычно это пишут в конце запроса.
    УстановитьПараметр (SetParameter)
    Синтаксис:
    УстановитьПараметр(<Имя>, <Значение>)
    Параметры:
    <Имя> (обязательный)
    Тип: Строка. Имя устанавливаемого параметра. Оно должно соответствовать требованиям, предъявляемым к именованию переменных встроенного языка.
    <Значение> (обязательный)
    Тип: Произвольный. Значение устанавливаемого параметра.
    Описание:
    Устанавливает параметр запроса. Параметры доступны для обращения в тексте запроса. С помощью этого метода можно передавать переменные в запрос, например, для использования в условиях запроса.
    Пример:
    Запрос.УстановитьПараметр("ДатаКонца", РабочаяДата);
    Запрос.УстановитьПараметр("Товар", ВыбТовар);
  7. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Что-то вы кажется арбузы с шапками сравниваете
    ВыработкаСотрудниковОбороты.ВидРемонта - скорее всего ссылка, а параметр строка. Ясное дело условие ложное. Тогда уж или так

    Код:
    |ВыработкаСотрудниковОбороты.ВидРемонта.Наименование = "Химчистка"
    
    или
    Код:
    Запрос.УстановитьПараметр("Химчистка",Справочники.ВашЧудоСправочник.НайтиПоНаименованию("Химчистка"));
    
  8. TopicStarter Overlay
    StasNosikov
    Offline

    StasNosikov

    Регистрация:
    23 мар 2009
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1

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