Помогите разобраться с запросами

Тема в разделе "Общие вопросы по бухгалтерии", создана пользователем pmsi, 21 авг 2010.

  1. TopicStarter Overlay
    pmsi
    Offline

    pmsi

    Регистрация:
    21 авг 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Сам я новичёк в изучени 1С, поэтому вопросы может даже кому-то покажутся смешными, итак их 2:

    Предисловие: задание "Склад Кофе", имеется 2 справочника "Склад" и "Фирма Производитель", вот запросы, которые не могу написать:

    1. Создать следующий запрос: вывести название всех банок растворимого кофе весом 100грамм из Индии (ВНИМАНИЕ! это надо сделать в консоле запроса), делаю вот так:

    Название = Справочник.Склад.Наименование;
    ТипКофя = Справочник.Склад.Тип_Кофя;
    Вес = Справочник.Склад.Вес;
    Страна = Справочник.Склад.Страна_Производитель;
    Условие(Вес = 100);
    Условие(ТипКофя = Перечисление.Тип_Кофя.растворимый);
    Условие(Страна = 'Индия');
    Группировка Название;

    загвоздка в выделеной строке, если её удалить, то отбирает правильно, я не знаю может как-то не так надо условие ставить на текстовое поле, подскажите пожалуйста.

    2. Отфильтровать данные: вывести название кофе, произведённого в Бразилии, количество которого больше 300. (ВНИМАНИЕ! это уже делается на форме списка):

    Здесь у меня загвоздка, что не знаю как правильно выбрать количество больше 300, далею вот так:

    УстановитьОтбор("Страна_Производитель","Бразилия");
    УстановитьОтбор("Количество",">300");

    здесь ничего не выводит, как правильно сделать???


    кто знает подскажите пожалуйста.
    Заранее Спасибо.
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    1) Условие(СокрЛП(Страна) = 'Индия');

    2) Фильтровать справочник запросом или циклом и использовать
    ИспользоватьСписокЭлементов()
  3. TopicStarter Overlay
    pmsi
    Offline

    pmsi

    Регистрация:
    21 авг 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Всеравно тоже самое, ничего не выводится(((

    Пробуйю вот так:
    Код:
    Перем Запрос, ТекстЗапроса;
    Спр = СоздатьОбъект("Справочник.Фирма_Производитель");
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Выполнить)
    |Страна_Производитель = 'Бразилия';
    |Условие(Количеств > 300);
    |"//}}ЗАПРОС
    ; 
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    
    Выдаёт ошибку:
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    {Справочник.Склад.ФормаСписка.ФормаСписка.Модуль(53)}: Страна_Производитель = <<?>> 'Бразилия';
    Запрос[2] : Неожиданное выражение ''Бразилия''
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    {Справочник.Склад.ФормаСписка.ФормаСписка.Модуль(53)}: Условие(Количеств > 300 <<?>> );
    Запрос[3] : Ошибка в условии

    подскажите что исправить?

    и если не сложно в 2х словах, что делает ИспользоватьСписокЭлементов() ??? и как с ней работать? может я не так Вас понял...
    [warn="Внимание!"]
    Пользуемся тегами!
    [/warn]
  4. Siddy
    Offline

    Siddy Опытный в 1С

    Регистрация:
    18 мар 2009
    Сообщения:
    311
    Симпатии:
    0
    Баллы:
    26
    "Страна_Производитель" какой тип имеет? Если не строковый, то нужно что-то вроде
    Условие(СокрЛП(Страна.Наименование) = 'Индия')
    или
    Условие(СокрЛП(Страна.НаименованиеПолное) = 'Индия')

    и у Вас опечатка в слове "Количество" в условии
  5. Siddy
    Offline

    Siddy Опытный в 1С

    Регистрация:
    18 мар 2009
    Сообщения:
    311
    Симпатии:
    0
    Баллы:
    26
    только сейчас заметил, какой у Вас текст запроса интересный.
    Так немножко неправильно
  6. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    1)Запрос не логичный - воспользуйтесь конструктором

    2) ИспользоватьСписокЭлементов(<СписокЗначений>)
    Назначение:
    Реализует фильтрацию элементов справочника, используя нединамический фильтр.
    Параметры:
    <СписокЗначений> - необязательный параметр. Значение типа - ''СписокЗначений'' - должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.

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