8.х вывод результата запроса

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

  1. TopicStarter Overlay
    notaSS
    Offline

    notaSS Опытный в 1С

    Регистрация:
    22 ноя 2014
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. подскажите,как правильно поставить условие на вывод результата запроса?
    У меня печатная форма документа заказ покупателя,на которой должен выводиться либо директор либо генеральный директор. Из справочника контактные лица. Мой запрос не работает,везде выводит генерального директора.Подскажите, пожалуйста
    У меняне работает так
    Код:
    Запрос = НОвый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
      |КонтактныеЛица.Должность,
      |КонтактныеЛица.Ссылка,
      |КонтактныеЛица.Наименование
    |ИЗ
    |  Справочник.КонтактныеЛица КАК КонтактныеЛица
    |ГДЕ
    |  КонтактныеЛица.Должность = &Должность";
       Запрос.УстановитьПараметр("Должность","генеральный директор" );
    
    РезультатЗапроса = Запрос.Выполнить();
      ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
        пока ВыборкаДетальныеЗаписи.Следующий() цикл
      
      если ВыборкаДетальныеЗаписи.должность = "генеральный директор" тогда    
      
        областьподвал.Параметры.дир =ВыборкаДетальныеЗаписи.Должность;
      иначе
          областьподвал.Параметры.директор = "директор"
      конецЕсли;
      КонецЦикла;
  2. Nikola
    Offline

    Nikola

    Регистрация:
    23 янв 2015
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Все верно. Ты установил параметр должность - генеральный директор принудительно с типом Строка
    Запрос.УстановитьПараметр("Должность","генеральный директор" );
    И в выборке будет только "генеральный директор", а это значит, что в условие"
    иначе
    областьподвал.Параметры.директор = "директор"
    ты никогда не попадешь
    Что за конфигурация?
  3. TopicStarter Overlay
    notaSS
    Offline

    notaSS Опытный в 1С

    Регистрация:
    22 ноя 2014
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    26
    унф
    --- Объединение сообщений, 23 янв 2015 ---
    подскажите,плз,как правильно сделать
  4. Nikola
    Offline

    Nikola

    Регистрация:
    23 янв 2015
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    С этой конфигурацией не работал и не видел. Если подскажите при каких условиях выбирается эта должность и одна ли организация и при наличии времени - подскажу. Если конечно меня не опередят знатоки :)
  5. TopicStarter Overlay
    notaSS
    Offline

    notaSS Опытный в 1С

    Регистрация:
    22 ноя 2014
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    26
    есть печатная форма документа-заказ, на ней нужно вывести подписи директора,либо генерального директора в зависимости от того,какая должность задана в справочнике контактные лица. Должность =тип строка
  6. Nikola
    Offline

    Nikola

    Регистрация:
    23 янв 2015
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Извините, может я не правильно понял, но в печатной форме выводится Исполнитель -в документе Заказ покупателя это Ответственный. Если Вам нужно вывести должность Ответственного, то
    Код:
    Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ РАЗЛИЧНЫЕ
            |    ЗаказПокупателя.Ответственный,
            |    СотрудникиСрезПоследних.Должность
            |ИЗ
            |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
            |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Сотрудники.СрезПоследних(&Период, ) КАК СотрудникиСрезПоследних
            |        ПО ЗаказПокупателя.Ответственный = СотрудникиСрезПоследних.Сотрудник
            |ГДЕ
            |    ЗаказПокупателя.Ответственный = &Ответственный";
        Запрос.УстановитьПараметр("Период",Объект.Дата);
        Запрос.УстановитьПараметр("Ответственный", Объект.Ответственный);    
        РезультатЗапроса = Запрос.Выполнить();
       
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
       
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Сообщить(ВыборкаДетальныеЗаписи.Должность);
        КонецЦикла;
    Код можете поправить.
    Или Вам нужно выводить на печатную форму Должность КонтактногоЛица Контрагента, т.е. покупателя?

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