Имя: Пароль:
1C
 
Как превратить строку в уид скл?
0 Мисти
 
08.12.14
23:01
Мне передали уид скл {3C0F6741-2E8F-4E30-B5BD-2C3773253A1C}, я его сохранила в 1С в реквизите типа строка, теперь передаю его обратно, а он превратился в "{3C0F6741-2E8F-4E30-B5BD-2C3773253A1C}" - в строку.
скл его теперь "не ест". Что делать?
1 ДенисЧ
 
08.12.14
23:04
обрежь {} и конструктором объекта его
2 Asmody
 
08.12.14
23:05
Я не знаю, что у вас там за "уид скл" такой, но попробуйте Новый УникальныйИдентификатор("3C0F6741-2E8F-4E30-B5BD-2C3773253A1C")
3 Мисти
 
08.12.14
23:13
Вау! Спасибо обоим! особенно ценно, что первое дополняет второе и наоборот.
4 КонецЦикла
 
08.12.14
23:22
"уид скл" несколько иначе выглядит, по-двоичному :)
5 Мисти
 
08.12.14
23:24
(4) На вид - как раз так!
6 Мисти
 
08.12.14
23:49
Не жрет!
{Форма.Форма1.Форма(989)}: Ошибка при установке значения атрибута контекста (Value)
                Cmd.Parameters(16).Value = СтрДоговорСКЛ.Id;
по причине:
Произошла исключительная ситуация (ADODB.Parameter): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
Тип говорит - (1с говорит) - уникальный идентификатор, и выглядит как в таблице скл (я ее вижу)...
7 Jaap Vduul
 
09.12.14
00:05
(6)
Одинэсовский УникальныйИдентификатор в случае с ADODB не годится. Обычно в таких случаях строка используется, причём в зависимости от контекста это может быть как символьный литерал в фигурных скобках, так и без оных, а также и виде двоичного представления. Короче, показывай текст запроса.
8 Мисти
 
09.12.14
00:35
Да там нечего показывать!
            ТекстЗапроса = "update gtw_Contracts set FromBPM= ?,  DoDelete = ?, Number = ?,ContractStatus = ?,
            |ContractType = ?, ContractDate = ?, StartDate = ?, DueDate = ?, AccountId = ?, AccountUI1C = ?,
            |TerminationContractDate = ?, TerminationReason = ?, TermPayment = ?, PrimaryContractUI1C = ?, Id = ? WHERE  ([UI1C] = ?) and ([From1C]= ?) ";
            Cmd.CommandText = ТекстЗапроса;
9 Мисти
 
09.12.14
00:37
Которые UI1C - это строка, с ними проблем нет, а Id имеет тип
[uniqueidentifier] и с ним - никак!
10 Jaap Vduul
 
09.12.14
00:52
(8)
Должна проходить строка как в (0), т.е. в фигурных скобках:
Команда.Parameters.Append(Команда.CreateParameter("@uid", adGUID, adParamInput, , "{3C0F6741-2E8F-4E30-B5BD-2C3773253A1C}"));
11 Мисти
 
09.12.14
11:24
(10) Почему-то нет!