Как через прямой запрос к БД 1С8.1 Узнать версию конфигурации? #501294


#0 by Drufa
Собственно сабж.
#1 by Drufa
Имеется ввиду запрос SQL типа SELECT * FROM Config where FileName = 'root'
#2 by serffer
а из констант разве не подойдет?
#3 by Drufa
нет, нужна версия которая хранится в конфигурации
#4 by IronDemon
А чем они отличаются?
#5 by Sadovnikov
Читаем лицензионное соглашение, офигиваем и забываем про прямые запросы к восьмерке.
#6 by smitru
Лицензионное соглашение не запрещает прямых запросов на чтение к БД ни на 8-ке ни на 7-ке
#7 by Sadovnikov
Да ну?
#8 by Drock
Есть моменты, которые разрешены через ГК
#9 by Drufa
У меня вообще нет
#10 by serffer
Обновил не до конца и не помниш на что обновил?) Config вроде в XML хранится. но надо учитывать.
#11 by Sadovnikov
Вот это уже другое дело.
#12 by serffer
Config отличается от текконфы тем вроде что там сохраненная конфа а не обновленная конфа БД.
#13 by smitru
Именно.. Иначе цитату из лицензионного в студию
#14 by Sadovnikov
Выдай-ка цитату, которая подтвердит ? А до этого загляни сюда: п 64.
#15 by Drufa
У меня 70 филиалов + самописная конфа, я выгружаю обновление конфигурации после обновления и хотелось бы узнать какой филиал обновился а какой нет.
#16 by smitru
Ну... читаем ВНИМАТЕЛЬНО: Во всех остальных случаях лицензионное соглашение позволяет использовать для построения решений только штатные средства платформы. В частности, можно обращаться к данным информационной базы только при помощи объектов "1С:Предприятия", специально предназначенных для работы с данными (запросы, справочники, документы и т.д.). Нельзя обращаться к данным информационной базы напрямую, минуя уровень объектов работы с данными "1С:Предприятия" - например при помощи средств СУБД или при помощи внешних компонент, которые реализуют прямой доступ к СУБД. Это ограничение распространяется на любые действия с данными, в том числе на изменение их структуры, а так же на чтение или изменение самих данных информационной базы или служебных данных "1С:Предприятия". А где видишь предложение читать "минуя"? Читать можно Select самого 1С - кто запрещает?
#17 by Sadovnikov
"А где видишь предложение читать "минуя"? Читать можно Select самого 1С - кто запрещает?" - шутить изволим? Или даже заголовок темы не читаем? "прямой запрос к БД 1С8.1"
#18 by DmitrO
Хлопотно, но можно, используя ВК (GameWithFire) например. Так-то сам бы не отказался от такого инструмента, но лениво писать (не на столько нужен :)). Напишешь? Помогу.
#19 by smitru
Кстати.. а как объяснишь, что штатные средства 1С дают соответствие методанных сиквела методанным 1С. Если на них "глядеть нельзя"?
#20 by sash-ml
прочитать инфу можно, но скорее всего она ГАММированая что потребует дополнительного разбора гаммы
#21 by Sadovnikov
Я пункта 64-то объяснить не могу, а ты такое спрашиваешь. На мой взгляд, просто бредят в 1С. А оно надо? ВК для работы через ADO?
#22 by Drufa
SELECT BinaryData FROM Config where FileName = 'root' BinaryData это поле image я предпологаю что в нем храниться упакованный xml корня конфы, если кто знает как из BinaryData получить xml простба отписать.
#23 by serffer
а дата изменения в таблице Config не прокатит?)
#24 by Drufa
пока использую ее но хотелось бы всетаки версию, потому как у каждой базы дата изменения своя
#25 by Drufa
24 для 23
#26 by DmitrO
там не только ADO дык в этом вся и чтука, что там данные злибом пожаты (именно для этого и нужна ВК), и не xml там, а просто текстовый выход сериализации.
#27 by Drufa
Народ ухожу до вечера, просьба поддержать верку.
#28 by Sadovnikov
"верку" - а она не обидится? :)
#29 by serffer
ну можно смотреть разницу между этой датой и константой "Версия".
#30 by MMF
Средствами 1С фиг вам, а вообще не особо сложно
#31 by DmitrO
читаем root, получаем нечто типа {2,e0666db2-45d6-49b4-a200-061c6ba7d569} читаем e0666db2-45d6-49b4-a200-061c6ba7d569, получаем нечто типа {2, {e0666db2-45d6-49b4-a200-061c6ba7d569},5, {9cd510cd-abfc-11d4-9434-004095e12fc7, {1, {22, {0, {0, {0,0,f0ba0954-a66b-4085-9df1-b8a4283bdbd3},"БухгалтерияПредприятия", {1,"ru","Бухгалтерия предприятия, редакция 1.6"},""} {0,0},1},17, ... вот парсить это и не охота :)
#32 by Drock
Статья 1334. Исключительное право изготовителя базы данных 3. Лицо, правомерно пользующееся базой данных, вправе без разрешения правообладателя извлекать из такой базы данных материалы и осуществлять их последующее использование в личных, научных, образовательных и иных некоммерческих целях в объеме, оправданном указанными целями, и в той мере, в которой такие действия не нарушают авторские права изготовителя базы данных и других лиц. Использование материалов, извлеченных из базы данных, способом, предполагающим получение к ним доступа неограниченного круга лиц, должно сопровождаться указанием на базу данных, из которой эти материалы извлечены.
#33 by Sadovnikov
Сдается мне, что не при делах здесь данная статья... Хотя, это уже для юристов тема.
#34 by Drufa
(DmitrO) Можешь кинуть компаненту и пример работы с ней?
#35 by BabySG
Это ограничение распространяется на любые действия с данными, в том числе на изменение их структуры, а так же на чтение или изменение самих данных информационной базы или служебных данных "1С:Предприятия". Служебные данные - это и есть, например, версия. Так что - низззззя.
#36 by smitru
Любые обязательства юридическим лицами противоречащие Закону - юридически считаются ничтожными. Т.е если согласно лицензионнлму соглашению 1С Вы призаёте себя рабом Нергалиева - данное обязательство является ничтожным (т.е. не имеет никакой силы) :-)
#37 by sash-ml
Лицензионное соглашение не позволяет использовать недокументированные фирмой "1С"... бла бла бла. Описание структуры хранения данных в SQL документировано на сайте 1С гдето в закрытых разделах. Что означает что этими данными можно пользоваться :) А вот то что касается сабжа к сожалению не документировано. (: это касается баз типа "Юрист-Консультат" или клипартов
#38 by smitru
"Описание структуры хранения данных в SQL документировано на сайте 1С гдето в закрытых разделах" Это лежит открыто на всех дисках ИТС
#39 by Злобный Йожег
Любопытно, а насколько вообще прямые запросы v8 позволяют извлекать данные быстрее ее штатных?
#40 by sash-ml
в сотни раз. Например запись в регистр сведений 6 измерений(один из них ссылочный) 3 ресурса 50000 записей делается около 8 секунд. средствами 1С таже задача занимает несколько минут процессорного времени.
#41 by smitru
Так как можно прямыми использовать прекомпилированные процедуры - однозначно быстрее чем штатными. 1С с самим сиквелом пока весьма топорно работает
#42 by Злобный Йожег
Прямой запрос через ADO? А есть ли по прямым запросам в 8 такие же серьезные ресурсы, как по аналогичной теме для 7.7? Хотелось бы почитать...
#43 by smitru
(вздыхая) а давайте в технической теме понимать контекст :-) ADO (от англ. ActiveX Data Objects — «объекты данных ActiveX») — интерфейс программирования приложений для доступа к данным, разработанный компанией Microsoft (MS Access, MS SQL Server) и основанный на технологии компонентов ActiveX. OLE DB (англ. Object Linking and Embedding, Database) — набор интерфейсов, основанных на COM, которые позволяют приложениям обращаться к данным, хранимым в разных источниках информации или хранилищах данных с помощью унифицированного доступа. ADO проще и универсальнее, ole db - сложнее, но быстрее
#44 by sash-ml
хранимки действительно удобно использовать. насколько я понимаю 1с-ка для выполнения запроса с параметрами тоже создает хранимую процедуру, а потом ее удаляет :)
#45 by smitru
создание хранимой и последующее её удаление убивает весь смысл в хранимой :-) Одно дело откомпилировать процедуру 1 раз и передавать только параметры, совсем другое - каждый раз при каждом вызове передавать код  в виде текста, компилировать его и только затем выполнять.
#46 by Fragster
все дело в том, что БД и все данные из нее - принадлежат тому, кто купил лицензию на 1с, и он эти данные может читать, писать и делать с ними все, что хочет, хоть выковывать на чугуниевой плите... заявления 1с сродни тому, что все картинки, нарисованные в фотошопе принадлежат адобе, а все файлы на винте - так вообще мелкософту...
#47 by sash-ml
очень интересная статья. может даже ветку завести?
#48 by Fragster
ты про такое не знал?
#49 by Drufa
Например удаление записей переодического регистра сведений за период проходит в сотни раз быстрее. Очистка всего справочника или регистра проходит меньше секунды при любом объеме данных. Перенос данных из докумета в регистр штатными средствами выполняется по расчетному времени около 4 суток, прямой вставкой 4 минуты.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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