Интеграция 1С и SQL баз #495737


#0 by Черный всадник
При помощи MS SQL перекладываю данные из базы 1С в базу SQL. Задача - перенести перечисления не ссылкой, а текстом. Пока придумал зашить в запрос соответствие ссылки и текста (знаю, что жесть :) ). Примерно так: CASE    THEN N''Новый'' MS SQL ругается - не могу конвертировать между юникодом и не юниодом :( Как это можно поправить или как можно по другому выдернуть представление перечислений, не используя 1С?
#1 by sash-ml
а профайлер не помогает?
#2 by shuhard
позырь на ИТС обработку для экспорта 1С во внешние базы
#3 by sash-ml
в твоем случае без JOIN не обойтись, имена перечисления хронатся в таблице с перечислением
#4 by el-gamberro
Ссылка в 8ке это вроде же бинарные данные, вот и пробуй CAST(_Document11290._Fld70389RRef as nvarchar(max))
#5 by Черный всадник
Нет. Запрос выдернул от туда. SQL сервер нормально с ним работает. А сервис переноса данных нет :( 1С не могу исользовать В том то и дело - текстовое представление хранится в метаданных, в таблице только ссылка и порядок Да, но мне нужен синоним значения перечисления, а не текстовое представление ссылки :(
#6 by DmitrO
вот так пиши:
#7 by ptiz
Может, свою табличку перечислений создать и join?
#8 by sash-ml
Есть обаботка которая позволяет делать следующую ерунду в Эксель Это ерунду нужно лиш затащить в отдельную табличку и делать по ней JOIN
#9 by Черный всадник
Не работает уже пробовал :( Думал над этим - если в запрос зашить не получится так и сделаю.
#10 by sash-ml
Вот тебе еще пример. ВЫБРАТЬ    РеализацияТоваровУслуг.Подразделение,    РеализацияТоваровУслуг.ВидОперации, ЧТо тебе мешало в профайлер запихуть подобный запрос? SELECT _Document256_Q_000_T_001._Fld7063RRef AS f_2, _Document256_Q_000_T_001._Fld7057RRef AS f_3, _Document256_Q_000_T_001._IDRRef AS f_4, CASE WHEN _Document256_Q_000_T_001._Fld7057RRef = 0x9ae4279c9f27b5bc42882d729fc4d374 THEN CAST(N'Траляля' AS NVARCHAR) ELSE N'парампампам' END AS f_5 FROM _Document256 _Document256_Q_000_T_001 WITH(NOLOCK)
#11 by DmitrO
текст ошибки тогда приводи точно.
#12 by Черный всадник
Садовников Хелп ми!
#13 by DmitrO
+ а также что за клиент используется для выполнения запроса, что за платформа и что за ОС.
#14 by Черный всадник
CAST(N'Траляля' AS NVARCHAR) - Изначально это и сделал. При этом CAST делать не обязательно. Счас посмотрю
#15 by sash-ml
это то что вернул профайлер. 1с-ка по всей видимости CAST использует для уравнивания длины строки до максимально возможного "Траляля" 7 букв а "парампампам" 11 если ты используешь Insert Into my_table Select ... Тогда вопрос может быть в принимающей таблице. Так что запрос студию
#16 by DmitrO
Садовникова нет, я за него :))
#17 by Черный всадник
Пасиб всем :) Разобрался - Забыл сохранить проект после изменения типа колонки :) Ночью сессию убили. Данные в моей голове рассинхронизировались с данными компа :(
#18 by DmitrO
О как! Садовников он вообще рулит, упоминание ника и проблема решается. :)
#19 by Черный всадник
Эт точно :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С