8.х Условие в запросе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ildar Ziganshin, 30 июн 2014.

  1. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, как передать в запрос два условия Бухгалтер и Менеджер?
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ГраницыЗапретаИзмененияДанных.Организация.Ссылка,
    | ГраницыЗапретаИзмененияДанных.Пользователь.Ссылка,
    | ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений
    |ИЗ
    | РегистрСведений.ГраницыЗапретаИзмененияДанных КАК ГраницыЗапретаИзмененияДанных
    |ГДЕ
    | ГраницыЗапретаИзмененияДанных.Пользователь.Наименование = &Наименование";

    Запрос.УстановитьПараметр("Наименование", Наименование);

    РезультатЗапроса = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;


    Не понял как запрос красиво оформить
  2. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Пользуйтесь тегами code.
    Разве этот регистр не периодический??? Да и условие вообще не корректное, отбор по наименованию, хм...
  3. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Да не переодический. Мне нужно в установитьПараметр передать два значения Бухгалтер и Менеджер.
  4. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Список значений передавайте в условие.
  5. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Код:
    Запрос = Новый Запрос;
        Запрос.Текст =
            "ВЫБРАТЬ
            |    ГраницыЗапретаИзмененияДанных.Организация.Ссылка,
            |    ГраницыЗапретаИзмененияДанных.Пользователь.Ссылка,
            |    ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений
            |ИЗ
            |    РегистрСведений.ГраницыЗапретаИзмененияДанных КАК ГраницыЗапретаИзмененияДанных
            |ГДЕ
            |    ГраницыЗапретаИзмененияДанных.Пользователь.Наименование В(&Наименование)";
    
        Запрос.УстановитьПараметр("Наименование", Наименование);
    
        РезультатЗапроса = Запрос.Выполнить();
    
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            // Вставить обработку выборки ВыборкаДетальныеЗаписи
        КонецЦикла;
    
    
    В установитьПараметр Что писать?
    Последнее редактирование модератором: 30 июн 2014
  6. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Теги в квадратных скобках.
    В параметр нужно передавать массив. Т.е. перед передачей создаете массив, пишите в него своих пользователей.
  7. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Код:
        Запрос = Новый Запрос;
        Запрос.Текст = 
            "ВЫБРАТЬ
            |    ГраницыЗапретаИзмененияДанных.Организация.Ссылка,
            |    ГраницыЗапретаИзмененияДанных.Пользователь.Ссылка,
            |    ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений
            |ИЗ
            |    РегистрСведений.ГраницыЗапретаИзмененияДанных КАК ГраницыЗапретаИзмененияДанных
            |ГДЕ
            |    ГраницыЗапретаИзмененияДанных.Пользователь.Наименование В(&Наименование)";
    
           
            МассивПользователей = новый Массив;
            МассивПользователей.Вставить("Менеджеры");
            МассивПользователей.Вставить("Бухгалтерия");
           
           
        Запрос.УстановитьПараметр("Наименование", МассивПользователей);
    
        РезультатЗапроса = Запрос.Выполнить();
    
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Сообщить(ВыборкаДетальныеЗаписи.Пользователь.Ссылка);
            // Вставить обработку выборки ВыборкаДетальныеЗаписи
        КонецЦикла;
    
    [code]
    
    написано не соответствие типов.
  8. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Ну а значения в массиве кто будет заполнять????
    Ildar Ziganshin нравится это.
  9. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Все разобрался Спасибо. У Вас есть опыт.
    --- Объединение сообщений, 30 июн 2014 ---
    Код:
    
       Запрос = Новый Запрос;
        Запрос.Текст = 
            "ВЫБРАТЬ
            |    ГраницыЗапретаИзмененияДанных.Организация.Ссылка,
            |    ГраницыЗапретаИзмененияДанных.Пользователь.Ссылка как Пользователь,
            |    ГраницыЗапретаИзмененияДанных.ГраницаЗапретаИзменений
            |ИЗ
            |    РегистрСведений.ГраницыЗапретаИзмененияДанных КАК ГраницыЗапретаИзмененияДанных
            |ГДЕ
            |    ГраницыЗапретаИзмененияДанных.Пользователь.Наименование В(&Наименование)";
    
           
            МассивПользователей = новый Массив;
            МассивПользователей.Добавить("Менеджеры");
            МассивПользователей.Добавить("Бухгалтерия");
           
           
        Запрос.УстановитьПараметр("Наименование", МассивПользователей);
    
        РезультатЗапроса = Запрос.Выполнить();
    
        ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Сообщить(ВыборкаДетальныеЗаписи.Пользователь);
            // Вставить обработку выборки ВыборкаДетальныеЗаписи
        КонецЦикла;
    
    [code]
  10. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Ildar Ziganshi, хватит плодить бессмысленные темы. И, пожалуйста, читайте внимательнее, что Вам мы пишем. Я Вам это написал в Вашей предыдущей теме. Поле ввода выбрать несколько значений. Да, и еще, Вы не первый день на форуме, оформляйте код в теги и пишите грамотно.
  11. TopicStarter Overlay
    Ildar Ziganshin
    Offline

    Ildar Ziganshin Опытный в 1С

    Регистрация:
    2 окт 2013
    Сообщения:
    527
    Симпатии:
    0
    Баллы:
    26
    Хорошо буду стараться.

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