![]() |
![]() |
![]() |
|
Расшифровка таблицы Config. Узнать версию конфигурации средствами SQL | ☑ | ||
---|---|---|---|---|
0
zarcom
24.03.09
✎
12:52
|
Как узнать какая версия конфигурации у базы, к которой ты имеешь полный доступ, средствами SQL.
Телепат Бот помоги. |
|||
1
asady
24.03.09
✎
12:55
|
(0) двоичные данные читать придется - там же конфига в виде binaryData
|
|||
2
zarcom
24.03.09
✎
12:57
|
А как их прочитать, средствами 1С возможно? А на SQL?
|
|||
6
zarcom
24.03.09
✎
13:00
|
Расшифровка таблицы Config. Узнать версию конфигурации средствами SQL.
ТелепатБот, ответь |
|||
7
zarcom
24.03.09
✎
13:03
|
Где все УМЫ ???
|
|||
8
MMF
24.03.09
✎
13:06
|
именно средствами sql фиг, вернее геморно и не везде хватит прав и т.п. sp_OACreate 'ScriptControl' и разбирай
|
|||
9
zarcom
24.03.09
✎
13:20
|
А если у меня есть все права, на все таблицы, на все базы
|
|||
10
Нуф-Нуф
24.03.09
✎
13:21
|
посмотреть значение константы релиз?
|
|||
11
zarcom
24.03.09
✎
13:22
|
Нету такой константы, конфигурация не типовая
|
|||
12
Нуф-Нуф
24.03.09
✎
13:26
|
(11) а где в 1с храниться версия конфигурации?
|
|||
13
Gamm
24.03.09
✎
14:22
|
(0) Отлови профайлером выполнение
Метаданные.Версия и увидишь где они лежат. |
|||
14
Gamm
24.03.09
✎
14:53
|
Вот мне интереснее как любыми программными средствами узнать версию конфигурации поставщика. А то она доступна только из меню Конфигурация-Поддержка-Настройка поддержки.
|
|||
15
EasyRider
24.03.09
✎
14:54
|
По конфигурации в конфигураторе клик-свойтсва,там есть версия
|
|||
16
MMF
24.03.09
✎
15:17
|
(13, 14) Сам попробуй и убейся об стену. Тупые советы давать каждый может.
И версия конфы и версия поставщика достаточно легко достать, но не средствами sql |
|||
17
Ferz
24.03.09
✎
15:47
|
Узнать можно читаем Select BynaryData From Config Where Filename='root'
Там смотрим ID потом Select BynaryData From Config Where Filename=ID.0 (или .1 или .2 не помню) там будет структура. И в ней найдете Для УПП 1.2.21. Если вам нужен ID версии конфигурации то он в таблице Params |
|||
18
EasyRider
24.03.09
✎
15:55
|
Если ты про запись Locale.inf,то в ней нет версии,только что выгрузил в файл
|
|||
19
Ferz
24.03.09
✎
16:11
|
(13) Гаааа. :) :)
Если вs это сможете и напишите стать пришлю Вам 100$ |
|||
20
MMF
24.03.09
✎
16:26
|
(17) а раззиповать и разпарсить как? Чувак-то жаждет запросом извлечь
|
|||
21
fisher
24.03.09
✎
17:12
|
(20) Думаю, чуваку вовсе не обязательно запросом. Ставлю дайм, что никаких спецовых ограничений у него нет. Просто ему так хочется, потому что кажется что так проще :)
|
|||
22
zarcom
25.03.09
✎
12:10
|
У меня есть 80 информационных баз, после того как я обновил в этих базах конфигурацию, мне необходимо одним щелчком мыши увидеть какая версия конфигурации в этих базах
|
|||
23
zarcom
25.03.09
✎
12:24
|
У колонке BynaryData данные, вот такого вида:0x7BBF7B7F352F57B5A181998E412D2F572D00, как расшифровать (прочитать) эти данные,
|
|||
26
zarcom
25.03.09
✎
12:27
|
да уж... такой сайт, а помочь ни кто не может
|
|||
28
zarcom
25.03.09
✎
12:46
|
Помоему нашел подходящее решение:
|
|||
29
zarcom
25.03.09
✎
12:47
|
ПодключитьВнешнююКомпоненту("GameWithFire.ADOUtils");
ADOUtils = Новый("AddIn.ADOUtils"); Connection = Новый COMОбъект("ADODB.Connection"); Connection.Open("Provider=sqloledb;Server=MyServer;Database=MyDatabase;Trusted_Connection=yes;"); RecSetRead=Connection.Execute("Select BinaryData from Config Where FileName='"+Ключ+"'"); Если RecSetRead.State=1 И RecSetRead.RecordCount>0 Тогда МассивБайт = ADOUtils.InflateData(RecSetRead.Fields(0), 4).Выгрузить(); СимволыМаркера=""+МассивБайт[0]+ МассивБайт[1]+МассивБайт[2]+ МассивБайт[3]; RecSetRead.MoveFirst(); //это для того чтобы внутренее состояние объекта ADODB.Recordset изменилось и мы могли снова получать данные длинного поля, т.к. один раз мы его уже получили выше методом ADOUtils.InflateData Если Лев(СимволыМаркера,9)="239187191" Тогда //Строковые данные Содержание=ADOUtils.InflateToString(RecSetRead.Fields(0)); ИначеЕсли СимволыМаркера="77798867" Тогда //MXL ADOUtils.InflateToFile(RecSetRead.Fields(0), ИмяФайла); Файл=Новый Файл(ИмяФайла); ИначеЕсли СимволыМаркера="255255255127" Тогда //Внутренее хранилище ADOUtils.InflateToFile(RecSetRead.Fields(0), ИмяФайла); Файл=Новый Файл(ИмяФайла); ПодключитьВнешнююКомпоненту("GameWithFire.V8Storage"); V8Storage = Новый ("AddIn.V8Storage"); V8Storage.Open(ИмяФайла); Для каждого Item из V8Storage.Items Цикл МассивБайт = Item.GetData(Ложь, 4).Выгрузить(); СимволыМаркера=""+МассивБайт[0]+ МассивБайт[1]+МассивБайт[2]; Если Лев(СимволыМаркера,9)="239187191" Тогда //на данном уровне только строковые данные ТекстДок=Новый ТекстовыйДокумент; ТекстДок.УстановитьТекст(Item.GetDataToString(Ложь)); КонецЕсли; КонецЦикла; V8Storage.Close(); КонецЕсли; КонецЕсли; |
|||
30
AiR
25.03.09
✎
12:52
|
Код обработки Enterprise Integrator ))
|
|||
31
zarcom
25.03.09
✎
12:53
|
что такое Enterprise Integrator
|
|||
32
zarcom
25.03.09
✎
13:06
|
||||
33
zarcom
25.03.09
✎
13:07
|
где можно скачать библиотеку GameWithFire.dll
|
|||
34
Gamm
25.03.09
✎
13:34
|
(16)(19) Ну ладно уели. В самом деле метаданные при подключении на клиента сбрасываются.
|
|||
35
zarcom
26.03.09
✎
06:48
|
Но они сбасываются откуда??? С таблиц которые лежат на SQL. Как в таблицах расшифровать BinaryData ???
Скажет кто нибудь? Или нет ? |
|||
37
Нуф-Нуф
26.03.09
✎
07:05
|
а цель какая?
|
|||
38
zarcom
26.03.09
✎
07:40
|
Расшифровка таблицы Config. Узнать версию конфигурации средствами SQL.
|
|||
40
Нуф-Нуф
26.03.09
✎
07:57
|
(38) зачем?
|
|||
41
Нуф-Нуф
26.03.09
✎
07:57
|
зачем средствами скуль?
|
|||
42
zarcom
26.03.09
✎
07:59
|
А как еще??? Есть мысли?
|
|||
43
Fynjy
26.03.09
✎
08:06
|
Ээээ, а объект Метаданные уже не кошерно использовать?
|
|||
44
zarcom
26.03.09
✎
08:08
|
я из одной базы, запускаю обработку и по COM-соединению, открываю по очереди 80 баз, и проверяю версию конфигурации (Метаднные->Версия), это сильно долго....
|
|||
45
Fynjy
26.03.09
✎
08:09
|
(44) Ты бы задачу описал ... А то как то сильно долго разговаривать ...
|
|||
46
zarcom
26.03.09
✎
08:35
|
Узнать версию конфигурации, сразу у всех 80 баз
|
|||
47
MMF
26.03.09
✎
10:25
|
(46) напиши com-сервер, ты ему логин к базе, он тебе - версию
|
|||
48
zarcom
26.03.09
✎
12:05
|
меня кто нибудь понимает???
|
|||
49
toypaul
гуру
26.03.09
✎
12:13
|
все понимают, только как собаки сказать ничего не могут :)
|
|||
50
zarcom
26.03.09
✎
12:27
|
пипец
|
|||
51
DmitrO
26.03.09
✎
12:32
|
zarcom, ты же уже нашел код, что еще?
|
|||
52
MMF
26.03.09
✎
12:38
|
(48) может, дело в тебе?
BinaryData нужно раззиповать без заголовка. Выше Ferz тебе уже говорил - из Root получаешь ID основного файл описания метаданных, потом берешь запись с нужным индексом, разпарсиваешь и ... вот оно, счастие. |
|||
53
zarcom
26.03.09
✎
12:42
|
Я не пойму как распарсить строку типа :0x7BBF7B7F352F57B5A181998E412D2F572D00
|
|||
54
toypaul
гуру
26.03.09
✎
12:48
|
похоже товарищ не фкуривает в термин "раззиповать". может это не лечится?
|
|||
55
MMF
26.03.09
✎
12:49
|
(53) ты вменяемый? РАЗЗИПОВАТЬ нужно. Причем анзипом, понимающим формат без заголовка. Средствами чистого SQL - задача нерешаема. К mssql можно написать dll расширения или использовать хранимки поддержки скриптов, но у тебя, судя по всему - не получится. Поэтому успокойся
|
|||
56
zarcom
26.03.09
✎
13:36
|
Объесните как мне РАЗЗИПОВАТЬ ?
|
|||
57
DmitrO
26.03.09
✎
13:47
|
(56) методами объектов из состава компоненты GameWithFire. InflateTo...
Это и есть раззиповка. |
|||
58
zarcom
26.03.09
✎
13:56
|
где можно скачать библиотеку GameWithFire.dll
|
|||
59
MMF
26.03.09
✎
14:01
|
+ 20 постов
"как загрузить в 1С библиотеку GameWithFire.dll" + 20 постов "где искать идентификатор основного потока конфигурации" + 20 постов "что такое разпарсить текст" + 100 постов "ну почему никто мне не помогает!" |
|||
60
DmitrO
26.03.09
✎
14:03
|
(58) разве ее нет в составе Enterprise Integrator?
|
|||
61
shuhard
26.03.09
✎
14:04
|
(58) скачай и не нуди:
http://www.dev.citykirov.ru/ |
|||
62
DmitrO
26.03.09
✎
14:07
|
(61) там лежит старая версия, в ней нет того что нужно zarcom-у
|
|||
63
zarcom
26.03.09
✎
14:10
|
нету ???
|
|||
64
DmitrO
26.03.09
✎
14:14
|
щас выдожу тогда в (61), жди несколько минут, часов, дней.. :)
|
|||
65
DmitrO
26.03.09
✎
14:46
|
выложил
|
|||
66
KAO111
26.03.09
✎
15:25
|
Скорее всего номер версии можно брать еще и из констант (если это более-менее типовая конфигурация).
Но ведь и через com-соnnector выйдет не очень долго 80 баз, ну потратится 5 минут. Неужели это так критично. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |