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

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

Неявное преобразование из типа данных varchar в binary не разрешено. Для выполнения этого запроса используйте функцию CONVERT
6 mikecool
 
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". Что с этим делать?
11 SiAl-chel
 
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)
14 pechkin
 
07.05.21
11:32

Функция ПолучитьВнутрСсылку(лСсылка) Экспорт
    Если лСсылка = Неопределено Тогда
        Возврат "";
    КонецЕсли;
    Зн = ЗначениеВСтрокуВнутр(лСсылка); //Тот самый метод, о котором я писал выше.
    Зн = "0x" + Лев(Прав(Зн, 33), 32);
    Возврат Зн;
КонецФункции
15 pechkin
 
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.
17 H A D G E H O G s
 
07.05.21
12:42
Без ковычек.
0xbc....
18 H A D G E H O G s
 
07.05.21
12:43
0x

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