Вход | Регистрация
 

Как в SQL указать значение перечисления?

Как в SQL указать значение перечисления?
Я
   Галахад
 
07.05.21 - 10:10
ЗначениеПеречислениеВФорматеСКЛ = ???

INSERT INTO _InfoRg14479([_Fld14483], [_Fld14481], [_Fld14480], [_Fld14482], [_Fld14559RRef])VALUES('07.05.2021 14:46:59', '1', '233608', 'ААА', ЗначениеПеречислениеВФорматеСКЛ)
   mikecool
 
1 - 07.05.21 - 10:17
значение ГУИД из соответствующей таблицы
   ДенисЧ
 
2 - 07.05.21 - 10:17
Нарушаем лицензию, не зная, как работать с базами 1с sql?
А по попке ремешком?
   Mikeware
 
3 - 07.05.21 - 10:18
(2) "знание освобождает от ответсвенности"? :-)
   ДенисЧ
 
4 - 07.05.21 - 10:19
(3) Уберегает от момента поймания ))
   Галахад
 
5 - 07.05.21 - 10:23
(1) Не хотит.

Неявное преобразование из типа данных varchar в binary не разрешено. Для выполнения этого запроса используйте функцию CONVERT
   mikecool
 
6 - 07.05.21 - 10:36
(5) ага, там наверняка уид хранится, сконвертируй в нужный тип
   Кирпич
 
7 - 07.05.21 - 10:40
(0) Напиши запрос с этим перечислением в 1с и посмотри в профайлере sql
   Галахад
 
8 - 07.05.21 - 10:47
(6) Вопрос собственно, а как?

(7) Что посмотреть?
   Кирпич
 
9 - 07.05.21 - 10:51
(8) значение перечисления
   Галахад
 
10 - 07.05.21 - 10:54
(9) Увидел "(16)COMSafeArray". Что с этим делать?
   SiAl-chel
 
11 - 07.05.21 - 10:57
(0) "Безумству храбрых поём мы песню!"
Самое простое:
1. Создать в 1С руками запись с нужным значением перечисления.
2. SELECT T._Fld14559RRef FROM _InfoRg14479 AS T WHERE T._Fld14483 = 'максимальная дата в этом поле, можно ее также взять select-ом'/
   Кирпич
 
12 - 07.05.21 - 11:12
(10) ты куда то не туда смотришь
типа такого должно быть

ВЫБРАТЬ ЗНАЧЕНИЕ(Перечисление.Перечисление1.ЗначениеПеречисления2)

в профайлере
exec sp_executesql N'SELECT
P1',N'P1 varbinary(16)',0x8B0B13671025962A4A6A50A7B660441D
   Кирпич
 
13 - 07.05.21 - 11:29
Либо ЗначениеВСтрокуВнутр(Перечисление.Перечисление1.ЗначениеПеречисления2)
   pechkin
 
14 - 07.05.21 - 11:32
Функция ПолучитьВнутрСсылку(лСсылка) Экспорт
    Если лСсылка = Неопределено Тогда
        Возврат "";
    КонецЕсли;
    Зн = ЗначениеВСтрокуВнутр(лСсылка);//Тот самый метод, о котором я писал выше.
    Зн = "0x" + Лев(Прав(Зн, 33), 32);
    Возврат Зн;
КонецФункции

   pechkin
 
15 - 07.05.21 - 11:33
   Галахад
 
16 - 07.05.21 - 12:31
"
    |INSERT INTO _InfoRg14479([_Fld14483], [_Fld14481], [_Fld14480], [_Fld14482], [_Fld14559RRef])
    |VALUES
    |('07.05.2021 17:01:21', '2', '233608', 'ААА', '0xbc6649eb0a03abb74f3bcabc7117e72a')";

Коллеги, вопрос не в том как получить значение ссылки, а том как ее конвертировать в binary.

[Microsoft][ODBC SQL Server Driver][SQL Server]Неявное преобразование из типа данных varchar в binary не разрешено. Для выполнения этого запроса используйте функцию CONVERT.
   H A D G E H O G s
 
17 - 07.05.21 - 12:42
Без ковычек.
0xbc....
   H A D G E H O G s
 
18 - 07.05.21 - 12:43
0x

говорит склю что ему передают бинарный тип
   Галахад
 
19 - 07.05.21 - 12:53
(17) Огромное человеческое спасибо!

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.