Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> 8.0.13.32 В отладке не срабатывает параметр запроса.В консоли отчетов срабатывает. , Конфигурация 1с индивидуальная.          
Sergey.pro1c.org... Подменю пользователя
сообщение 30.11.17, 0:35
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Читает строку с Excel, удаляет лишний знак Excel "конец строки", передаёт параметром в запрос, результата нет.
Реквизит справочника неограниченой длины поэтому ВЫРАЗИТЬ( КАК СТРОКА(200)) ато плюётся.
Параметр передаётся как текстовая строка.

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

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

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


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

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


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

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


В консоли запросов срабатывает без проблем.

logist Подменю пользователя
сообщение 30.11.17, 4:30
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Sergey.pro1c.org.ua @ 30.11.17, 0:35) *
Срабатывает если указать в кавычках эту же строку

Значит в параметр передается не эта же строка, смотрите что отладчик показывает в ЕкспортерФорм


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Sergey.pro1c.org.ua,

podcast Подменю пользователя
сообщение 30.11.17, 9:27
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

Sergey.pro1c.org.ua @ Сегодня, 0:35 * ,
Попробуйте не равно, а Подобно.

Спасибо сказали: Sergey.pro1c.org.ua,

Sergey.pro1c.org... Подменю пользователя
сообщение 01.12.17, 0:58
Сообщение #4

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Может из за того что код в внешней обработке запускается. Конфигурация индивидуально разрабатывалась под предприятие.База распределёная.

logist @ Вчера, 4:30 * ,
Показывает строку в кавычках

Цитата(podcast @ 30.11.17, 9:27) *
Попробуйте не равно, а Подобно.

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

В консоли запросов срабатывает.

podcast Подменю пользователя
сообщение 06.12.17, 12:51
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 306
Спасибо сказали: 74 раз
Рейтинг: 0

Sergey.pro1c.org.ua @ 01.12.17, 0:58 * ,
А в обработке не срабатывает?

Sergey.pro1c.org... Подменю пользователя
сообщение 06.12.17, 13:24
Сообщение #6

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Разобрался.
После замены символа конца строки (.) Worda на "" с помощью СтрЗаменить(Експортер,Хрень, "");
фунция СтрДлина в строке "х" показала 2 символа,
воспользовался СокрЛП, показало 1 символ и всё заработало

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

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




Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 23:06
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!