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

Хранилище

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

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



> Как передать параметры в запрос MySQL          
Svetas_2024 Подменю пользователя
сообщение 15.01.24, 22:42
Сообщение #1

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

Добрый день, уважаемые форумчани. Прошу помощи
1С:Предприятие 8.3 (8.3.15.1869), "Управление производственным предприятием для Украины", редакция 1.3 (1.3.66.1) , формы обычные (не управляемые)
вопрос

подключаюсь к MySQL
 Параметры = ВнешниеИсточникиДанных.Битрикс.ПолучитьОбщиеПараметрыСоединения();
Параметры.АутентификацияСтандартная = Истина;
Параметры.ИмяПользователя ="Analyst";
  Параметры.СтрокаСоединения = "
|DRIVER={MySQL ODBC 8.2 ANSI Driver};
|PORT= 62394;
|DATABASE=dbalupro;
|UID=Analyst;
|LANGUAGE=русский";

Параметры.СУБД = "MySQL";
ВнешниеИсточникиДанных.Битрикс.УстановитьОбщиеПараметрыСоединения(Параметры);
ВнешниеИсточникиДанных.Битрикс.УстановитьПараметрыСоединенияПользователя(ИмяПользователя(), Параметры);
ВнешниеИсточникиДанных.Битрикс.УстановитьПараметрыСоединенияСеанса(Параметры);    

Попытка
    ВнешниеИсточникиДанных.Битрикс.УстановитьСоединение();
Исключение

КонецПопытки;

но вот как передать параметры в запрос
Запрос = Новый Запрос("ВЫБРАТЬ
          |   sk_task_change_key_person.TASK_ID,
      |   sk_task_change_key_person.USER_ID,
      |   sk_task_change_key_person.USER_FIO,
      |   sk_task_change_key_person.USER_TYPE
      |ИЗ
          |   ВнешнийИсточникДанных.Битрикс.Таблица.sk_task_change_key_person КАК sk_task_change_key_person    
      |ГДЕ
       |     sk_task_change_key_person.TASK_ID =&Задача
       |");

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

    Таблица = Запрос.Выполнить().Выгрузить();
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Сообщить(выборка.USER_FIO);
    конеццикла;

параметр
&Задача
не видит и запрос не работает, но если заменить значением "50793", то работает.
Но нужно передать строковые параметры
Запрос.УстановитьПараметр("Состояние1", "Соисполнитель");
для
|  и  (sk_task_change_key_person.USER_TYPE="Состояние1"
- Вопрос как это сделать (передать строковые параметры)?

sava1 Подменю пользователя
сообщение 16.01.24, 8:15
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

возможно, длина строки различная - попробуйте ПОДОБНО или привести длину строки
а так с ВнешнийИсточникДанных параметр должен проходить

Спасибо сказали: Svetas_2024,

Svetas_2024 Подменю пользователя
сообщение 16.01.24, 10:09
Сообщение #3

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

sava1 @ Сегодня, 8:15 * ,
ошибку даёт
Цитата
Ошибка при вызове метода контекста (Выполнить)
{Отчет.Отчет1.Форма.ФормаОтчета.Форма(46)}: Таблица = Запрос.Выполнить().Выгрузить();
по причине:
{(9, 6)}: Неверные параметры "ПОДОБНО"
<<?>>sk_task_change_key_person.TASK_ID ПОДОБНО &Задача


[необходимо зарегистрироваться для просмотра ссылки]

у USER_TYPE - Короткий текст
USER_ID -Числовой
и в чём ошибка?

sava1 Подменю пользователя
сообщение 16.01.24, 10:35
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

ну наверно Задача = "%АААААА%"

Спасибо сказали: Svetas_2024,

Svetas_2024 Подменю пользователя
сообщение 16.01.24, 10:46
Сообщение #5

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

sava1 @ Сегодня, 8:15 * ,
спасибо
заработало
 Запрос = Новый Запрос("ВЫБРАТЬ
      |   sk_task_change_key_person.TASK_ID,
      |   sk_task_change_key_person.USER_ID,
      |   sk_task_change_key_person.USER_FIO,
      |   ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13))
      |ИЗ
      |   ВнешнийИсточникДанных.Битрикс.Таблица.sk_task_change_key_person КАК sk_task_change_key_person    
      |ГДЕ
        |      ВЫРАЗИТЬ (sk_task_change_key_person.TASK_ID КАК Число(10))=&Задача
        |   и  (ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13))=&Состояние1
        |  или  ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13))=&Состояние2)
        |    и  ВЫРАЗИТЬ (sk_task_change_key_person.USER_TYPE КАК СТРОКА(13))<>&Состояние3
        |");
    Запрос.УстановитьПараметр("Состояние1", "Соисполнитель");
    Запрос.УстановитьПараметр("Состояние2", "Ответственный");  
    Запрос.УстановитьПараметр("Состояние3", "Постановщик");  
    Запрос.УстановитьПараметр("Задача", 50793);

    Таблица = Запрос.Выполнить().Выгрузить();

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


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

 

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