Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 8.0.13.32 В отладке не срабатывает параметр запроса.В консоли отчетов срабатывает.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Sergey.pro1c.org.ua
Читает строку с Excel, удаляет лишний знак Excel "конец строки", передаёт параметром в запрос, результата нет.
Реквизит справочника неограниченой длины поэтому ВЫРАЗИТЬ( КАК СТРОКА(200)) ато плюётся.
Параметр передаётся как текстовая строка.

Експортер=СокрЛП(Документ.Tables.Item(1).Cell(1,2).Range.Text);

Хрень=Прав(Експортер, 1);
ЕкспортерФорм=СтрЗаменить(Експортер,Хрень, "");

Запрос=Новый Запрос(        
        "ВЫБРАТЬ
        |    Контрагенты.ОсновноеЮрФизЛицо.НаименованиеПолноеАнгл КАК Контрагент
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |    ВЫРАЗИТЬ(Контрагенты.ОсновноеЮрФизЛицо.НаименованиеПолноеАнгл КАК СТРОКА(200)) = &СписокЗначений "
        );
        Запрос.УстановитьПараметр("СписокЗначений",ЕкспортерФорм);
РезультатЗапроса=Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
        Пока Выборка.Следующий() Цикл
            //обращение к полям
            Сообщить(Выборка.Контрагент);
        КонецЦикла;


Срабатывает если указать в кавычках эту же строку

|    ВЫРАЗИТЬ(Контрагенты.ОсновноеЮрФизЛицо.НаименованиеПолноеАнгл КАК СТРОКА(200)) =""ТРАЛЛЛЯ"" "


Срабатывает также если параметр запроса ВЫРАЗИТЬ как строка, но если текстовая строка >= 200.

(ВЫРАЗИТЬ(Контрагенты.ОсновноеЮрФизЛицо.НаименованиеПолноеАнгл КАК СТРОКА(200))) = (ВЫРАЗИТЬ(&СписокЗначений КАК СТРОКА(200)))"


В консоли запросов срабатывает без проблем.
logist
Цитата(Sergey.pro1c.org.ua @ 30.11.17, 0:35) необходимо зарегистрироваться для просмотра ссылки
Срабатывает если указать в кавычках эту же строку

Значит в параметр передается не эта же строка, смотрите что отладчик показывает в ЕкспортерФорм
podcast
Sergey.pro1c.org.ua @ Сегодня, 0:35 необходимо зарегистрироваться для просмотра ссылки ,
Попробуйте не равно, а Подобно.
Sergey.pro1c.org.ua
Может из за того что код в внешней обработке запускается. Конфигурация индивидуально разрабатывалась под предприятие.База распределёная.

logist @ Вчера, 4:30 необходимо зарегистрироваться для просмотра ссылки ,
Показывает строку в кавычках

Цитата(podcast @ 30.11.17, 9:27) необходимо зарегистрироваться для просмотра ссылки
Попробуйте не равно, а Подобно.

Пробовал
|    ВЫРАЗИТЬ(Контрагенты.ОсновноеЮрФизЛицо.НаименованиеПолноеАнгл КАК СТРОКА(200)) ПОДОБНО &СписокЗначений "
        );
        Запрос.УстановитьПараметр("СписокЗначений",ЕкспортерФорм+"%");

В консоли запросов срабатывает.
podcast
Sergey.pro1c.org.ua @ 01.12.17, 0:58 необходимо зарегистрироваться для просмотра ссылки ,
А в обработке не срабатывает?
Sergey.pro1c.org.ua
Разобрался.
После замены символа конца строки (.) Worda на "" с помощью СтрЗаменить(Експортер,Хрень, "");
фунция СтрДлина в строке "х" показала 2 символа,
воспользовался СокрЛП, показало 1 символ и всё заработало

Всем СПАСИБО!!!

  Експортер=СокрЛП(Документ.Tables.Item(1).Cell(1,2).Range.Text);
                
        Хрень=Прав(Експортер, 1);
        ЕкспортерФорм=СтрЗаменить(Експортер,Хрень, "");
                КолСимволов=СтрДлина(Екс);
        ЕкспортерФорм2=СокрЛП(ЕкспортерФорм);
        
        Запрос=Новый Запрос(        
        "ВЫБРАТЬ
        |    Контрагенты.Ссылка,
        |    Контрагенты.КодПоЕДРПОУ,
        |    Контрагенты.ОсновноеЮрФизЛицо.НаименованиеПолноеАнгл КАК Контрагент
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты
        |ГДЕ
        |    ВЫРАЗИТЬ(Контрагенты.ОсновноеЮрФизЛицо.НаименованиеПолноеАнгл КАК СТРОКА(200)) = &СписокЗначений ");
        
        
        Запрос.УстановитьПараметр("СписокЗначений",ЕкспортерФорм2);
        
        РезультатЗапроса=Запрос.Выполнить();
        Выборка = РезультатЗапроса.Выбрать();
        Пока Выборка.Следующий() Цикл
            
            Сообщить(Выборка.Контрагент);
        КонецЦикла;



Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.