7.7 условия в запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем djyarilo, 26 сен 2011.

  1. TopicStarter Overlay
    djyarilo
    Offline

    djyarilo Опытный в 1С

    Регистрация:
    18 апр 2011
    Сообщения:
    435
    Симпатии:
    0
    Баллы:
    26
    написал запрос в который пытаюсь воткнуть условие.
    Код:
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ДатаНачала по ДатаКонца;
    |Док 			= Регистр.ОстаткиТМЦ.ТекущийДокумент,             
    |                 Регистр.РезервыТМЦ.ТекущийДокумент;
    |Номенклатура	= Регистр.ОстаткиТМЦ.Номенклатура,
    |                 Регистр.РезервыТМЦ.Номенклатура;
    |Склад			= Регистр.ОстаткиТМЦ.Склад,             
    |                 Регистр.РезервыТМЦ.Склад;
    |Количество = Регистр.ОстаткиТМЦ.Количество;
    |Группировка Номенклатура;
    |Группировка Док;
    |Функция КоличествоНачОст      	= НачОст(Количество);
    |Функция КоличествоПриход      	= Приход(Количество);
    |Функция КоличествоРасход      	= Расход(Количество);
    |Функция КоличествоКонОст  		= КонОст(Количество);
    |";
    
    ТекстЗапроса = ТекстЗапроса + "|Условие (Номенклатура = " +з1+ " )"; - 1 вариант
    ТекстЗапроса = ТекстЗапроса + "Условие (Номенклатура = " +з1+ " )"; -2 вариант
    
    
    если пишу 1 вариант , то выдает ошибку Запрос.Выполнить(текстзапроса);
    {C:\USERS\ЯРИК\DESKTOP\ВЕДОМОСТЬ ПО ОСТАТКАМ ТМЦ.ERT(455)}: <<?>> |Условие (Номенклатура = ERFURT Обои 741 Флиз. 25*1м 140г/м.кв. )
    если пишу второй вариант выдает:
    Запрос.Выполнить(текстзапроса);
    {C:\USERS\ЯРИК\DESKTOP\ВЕДОМОСТЬ ПО ОСТАТКАМ ТМЦ.ERT(455)}: Условие (Номенклатура = Cт <<?>> /обои Витрулан Phantasy plus 938 (25 м.п.) )
    Запрос[16] : Ошибка в выражении 'Cт'
    Запрос.Выполнить(текстзапроса);
    {C:\USERS\ЯРИК\DESKTOP\ВЕДОМОСТЬ ПО ОСТАТКАМ ТМЦ.ERT(455)}: Условие (Номенклатура = Cт/обои <<?>> Витрулан Phantasy plus 938 (25 м.п.) )
    Запрос[16] : Ошибка в выражении 'обои'
    Запрос.Выполнить(текстзапроса);
    {C:\USERS\ЯРИК\DESKTOP\ВЕДОМОСТЬ ПО ОСТАТКАМ ТМЦ.ERT(455)}: Условие (Номенклатура = Cт/обои <<?>> Витрулан Phantasy plus 938 (25 м.п.) )
    Запрос[16] : Ожидается ')' перед 'Витрулан'
    и выкидывает 1с.
    Запрос[16] : Неизвестая ошибка '|'
  2. dianofob
    Offline

    dianofob (-_-)y-.o0O

    Регистрация:
    3 июл 2009
    Сообщения:
    711
    Симпатии:
    0
    Баллы:
    26
    а что в "з1" передаешь?
  3. TopicStarter Overlay
    djyarilo
    Offline

    djyarilo Опытный в 1С

    Регистрация:
    18 апр 2011
    Сообщения:
    435
    Симпатии:
    0
    Баллы:
    26
    з1=Список.ПолучитьЗначение(1);

    а в список значений записывается номенклатура. Короче у меня отчет, я в отчете клацаю на номенклатуру и он выводит у меня движения по этой номенклатуре. вот когда нажимаю на номенклатуру в з1 у меня записывается ее наименование)
  4. TopicStarter Overlay
    djyarilo
    Offline

    djyarilo Опытный в 1С

    Регистрация:
    18 апр 2011
    Сообщения:
    435
    Симпатии:
    0
    Баллы:
    26
    Код:
    ТекстЗапроса = ТекстЗапроса + "Условие (Номенклатура =з1 );";
    
    
    оказывается вот так
  5. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    А если в целом по всему списку то так
    Код:
    ТекстЗапроса = ТекстЗапроса + "Условие (Номенклатура  в Список);";
    
    
    [off]Так... на всякий случай[/off]

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