|
Внешний источник данных, таблица MS SQL, не хочет принимать в качестве поля ключа GUID | ☑ | ||
---|---|---|---|---|
0
pvase
27.05.20
✎
19:27
|
Есть таблица MS SQL, в ней есть поле ID - оно уникальное и имеет тип Уникальный идентификатор (GUID). Так вот, когда выбираешь это поле в качестве поля ключа - то 1С ругается на ошибку SBL, и выдает запрос, в котором видно, что 1С пытается его преобразовать в Numeric(19,0). Неужели в качестве поля ключа можно указывать только целочисленные значения?
|
|||
1
pvase
27.05.20
✎
19:37
|
Вот такую ошибку выдает 1С при попытке записать имзенения в базу с установленным полем ключа с типом GUID:
В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка SDBL: Тип поля CAST(Reference24.Fld3156 AS NUMERIC(19, 0)) AS Fld3156 несовместим с типом поля Fld3156 |
|||
2
Ненавижу 1С
гуру
27.05.20
✎
19:38
|
Внешний источник данных это тоже база 1С?
|
|||
3
pvase
27.05.20
✎
19:41
|
(2) Нет, это база SSIS (SQL Server Integration Services).
|
|||
4
pvase
27.05.20
✎
19:46
|
Похоже что любой другой идентификатор кроме Int, или то, что можно преобразовать в Int 1С не воспринимает. Даже поле Char(50) не проходит.
|
|||
5
Ненавижу 1С
гуру
27.05.20
✎
19:46
|
Reference24.Fld3156 откуда такие имена во внешнем источнике?
|
|||
6
ДенисЧ
27.05.20
✎
19:50
|
(5) не пали контору. Сказали же, из SSIS...
|
|||
7
Ненавижу 1С
гуру
27.05.20
✎
19:53
|
+(6) пожалуй спалю
так вот ссылки 1С хранит в БД как binary(16), что сама же потом не понимает как внешний источник данных |
|||
8
pvase
27.05.20
✎
19:54
|
Все я понял, спасибо за наводку. Этот источник использовался как тип поля в справочнике. И когда я пытался поменять тип объекта, 1С пыталась преобразовать уже существующее поле. Когда в справочнике очистил ссылку - то все пошло, потом снова перепрописал на внешний источник и заработало.
|
|||
9
pvase
27.05.20
✎
19:55
|
1С пыталась сохранить ссылки путем обратного преобразования нового ключа к типу старого ключа.
|
|||
10
Ненавижу 1С
гуру
27.05.20
✎
19:56
|
(8) понял только, что ты изващенец
|
|||
11
pvase
27.05.20
✎
19:58
|
(10) Делаю НСИ в 1С, данные грузятся из баз в отдельную базу, где потом или автоматом или ручками сводятся воедино. Для загрузки данных используются пакеты SSIS, которые надо запускать не только по расписанию, а и вручную путем выполнения SQL скрипта. Все сделал, а вот ссылки не мог, во теперь все пошло.
|
|||
12
bolero
27.05.20
✎
20:03
|
не вникал, но одобряю
сам заколебался BYTEA <=> UUID конвертировать туда-сюда |
|||
13
pvase
27.05.20
✎
20:07
|
Не все так просто. Теперь 1С при сохранении справочника с таким полем с ссылкой на внешний источник, у которого ID - Тип GUID очищает этот реквизит. Вот не ожидал, ну что ж будем искать.
|
|||
14
pvase
23.06.20
✎
08:16
|
Решение с GUID такое - надо делать поле с типом Текст, причем как в MS SQL (Char,VarChar,NVarChar), так и в 1С - Строка. Тогда 1С не будет думать что это идентификатор объекта и будет позволять туда сохранять GUID.
|
|||
15
Krolik Bezobraznik
23.06.20
✎
09:21
|
(0) В SQL качестве key может выступать только число.
|
|||
16
ДенисЧ
23.06.20
✎
09:24
|
(15) Чего???????
|
|||
17
МихаилМ
23.06.20
✎
10:09
|
(0)
преобразуйте поле к бинари(16) ,кастом или добавленем вычисляемого поля или сделайте представление. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |