gifts2017

Обработка баз данных 1С: Предприятия 7.7

Опубликовал Николай Зевеке (zekrus) в раздел Администрирование - Системное

При работе с базами данных возникает необходимость доступа к структуре метаданных напрямую посредством запросов SQL.

Данная обработка позволяет провести чтение данных структуры метаданных из файла 1cv7.md и получить пользовательское представление данных.

Скачать файлы

Наименование Файл Версия Размер
Обработка баз данных 1С Предприятия 7.7 19
.zip 297,15Kb
29.10.12
19
.zip 297,15Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Gashek (gashek) 31.10.12 13:47
Я так понимаю, что это для базы SQL? Или я не разобрался как подключить к файловой базе. Раньше работал с файловой базой на низком уровне ковыряя файл DD. Если эта программа позволяет видеть файловую базу, то очень здорово.
Пожалуйста, разжуйте как с ней работать? как подключать базу. Что должно быть установлено для корректной работы.
А то при нажати на кнопку "Button3" ругается, что не найден файл 1Cv7.DBA
2. Николай Зевеке (zekrus) 31.10.12 14:06
(1) gashek, Дело в том, что у меня есть аналог этой обработки для SQL базы вот там как раз я и разбирал файл DBA (как то раз мне пришлось подбирать пароль от SA). В общем на кнопку Button3 не обращайте внимания.
Вот при загрузке данных из 1с да происходят следующие шаги:
1. Формируем файл метаданных
Shell("compound_extr.exe " & Chr(34) & MdFullName & Chr(34) & " " & """\metadata\main metadata stream""", AppWinStyle.Hide, True)
2. Получаем данные из файла
3. Обновляем меню
После сообщения "Все данные загружены" типа можно работать.
Представляете я ведь и до форм добрался - написал парсер конвертирующий их в формы обработки!
Но и на этом я не остановился. Пообщался с командами 2С и 1L попросил у них интерпретатор
языка 1с для перевода на язык С++ (писал также конвертор на VB.net).
В целом даже одна форма у меня отработала (сообщила "Привет" после конвертации). Давно это было давно :)
3. Gashek (gashek) 31.10.12 14:28
открываю программу. меню Файл/Загрузить данные из 1с. Выскакиевает окошко без текста с кнопкой "Ок". Жму его - выдает ошибку.
Что я делаю не так?
4. Gashek (gashek) 31.10.12 14:40
Как пользоваться этой программой! Напишите! пожалуйста!!!
5. Николай Зевеке (zekrus) 31.10.12 14:40
(3) gashek, См. предыдущий комментарий п.1 (нужно сперва скопировать в папку с программой исполняемый файл экстрактор метаданных).
6. Gashek (gashek) 31.10.12 14:43
> исполняемый файл экстрактор метаданных
Это как? А чувствую себя ущербным :) Можно по буквам (пунктам) что и откуда и как скопировать чтобы увидеть весь функцилнал этой программы
7. Николай Зевеке (zekrus) 31.10.12 15:16
(6) gashek, Не переживай все это приходящее. Для начала надо скачать программу экстрактор.
http://compiler1c.narod.ru/downl.htm Далее по пунктам что я описал. Если что пиши в скайп zekrus.
8. Gashek (gashek) 31.10.12 16:14
По ссылке я вижу только компиляторы. Экстракторов там нет.
Я не преживаю. Я пытаюсь понять как программа работает. Думаю, что мне спасибо скажут остальные, если еще остались работающие на 7.7
9. Николай Зевеке (zekrus) 31.10.12 16:48
(8) gashek, Я конечно слабый психолог, но возникает ощущение, что я общаюсь сам с собой.
Вы читаете внимательно (см. по ссылке перечисленной выше)? кроме того, в этой папке содержатся служебные программы, необходимые для работы с compound - файлами: compound_extr.exe
10. Gashek (gashek) 31.10.12 16:53
Все равно не понял. скачал 3 ссылку с указанного сайта. Что делать-то дальше?
11. Николай Зевеке (zekrus) 31.10.12 16:56
(10) gashek, Я уже писал ранее. Повторю еще раз (как 4х летней дочке) - попробуйте связаться со мной по скайпу, для экономии времени (адрес я давал).
12. Gashek (gashek) 31.10.12 17:01
Я думал, что выкладывая решение его нужно оформить должным образом.
А именно, чтобы им можно было воспользоваться не задавая глупых вопросов уровня 4-х летней дочки. :)
13. Gashek (gashek) 31.10.12 17:05
В описании написано:
"Данная обработка позволяет провести чтение данных структуры метаданных из файла 1cv7.md и получить пользовательское представление данных."
Вот и пытаюсь понять как. А Вы меня в скайп посылаете...
14. Николай Зевеке (zekrus) 31.10.12 17:31
(13) gashek, У меня дочка сегодня первый раз в садик сходила УРА (пишу под песню с лягушенком)!
Выкладываю инструкцию сейчас первую попавшуюся базу выложил по пунктам - работает!
8 лет уже прошло, а все работает по прежнему :)
Прикрепленные файлы:
README.txt
15. Alex Steiner (OrsoBear) 01.11.12 09:13
Согласен с gashek
Темы нужно составлять так, чтобы было понятно остальным пользователям.
Рад, что у Вас есть дочка, но намекать другим людям, что они менее сообразительны, чем 4-летний ребенок - не этично.
Разумнее и логичнее читать сообщение с разработкой и видеть внутри содержание и порядок работы с ней, а не лезть в обсуждение.
16. Gashek (gashek) 01.11.12 17:39
>4. Распаковали файл compound_extr.exe
Так это не архив вроде.
Не ясен пункт 4
17. Gashek (gashek) 01.11.12 17:45
Если пропустить пункт 4, то все равно выдает ошибку
Ну уж хочется мне увидеть структуру.
Как много времени я потратил в свое вреня на изучение файла DD и построение запросов угадывая поля
18. Николай Зевеке (zekrus) 01.11.12 19:19
(16) gashek, см. п.3, в скачанном архиве находится нужный файл для п.4.
19. Николай Зевеке (zekrus) 01.11.12 19:20
(17) gashek, Пропускать нельзя.
20. Николай Зевеке (zekrus) 01.11.12 19:21
(15) OrsoBear, коллеги я дико извиняюсь. Действительно не важнецкий из меня инструктор.
Дикий в общем стал совсем. Как меня жена только 10 лет терпит загадка...
21. Gashek (gashek) 02.11.12 09:26
Хорошо, пойдем другим путем:

>4. Распаковали файл compound_extr.exe
Куда раскаковать это файл и что с ним дальше делать?
22. Gashek (gashek) 02.11.12 09:39
Ура! получилось! Я угадал!!!
этот файл нужно в папку Bin

Лирика:
Так вот, теперь не могу понять, почему нельзя было добавить в свой архив этот файл и к нему приложить текст с описанием: Скопировать файлы интересующей базы (*.md, *.dbf) в папку Bin ?

Отойдем от лирики:
При выборе документов, справочников и пр.. выдает ошибку:
"ERROR [IM002] [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию"
23. Николай Зевеке (zekrus) 02.11.12 22:27
(22) gashek, Извини за задержку.
В коде используется следующая строка подключения:
MaxBufferSize=2048;DSN=dBASE Files;PageTimeout=5;DefaultDir=Application.StartupPath;DBQ=Application.StartupPath;DriverId=533;
Далее ее подставляем в адаптер OdbcDataAdapter
Я постараюсь посмотреть более точно как тебе установить нужный драйвер.
24. Gashek (gashek) 06.11.12 09:48
Я не против! Жду пошаговой инструкции.
25. Dmitriy (daho) 06.11.12 14:11
Все хорошо.. но уже старо как мир...
26. Npoen Dzogchen (Dansur) 06.11.12 15:10
(23) zekrus, при всем уважении к Вашему труду очень прошу оформить публикацию удобным образом. \
Это будет удобно не только нам но и Вам. Попытаюсь объяснить как я объясняю своей пятилетней дочке, которая давно ходит в садик. :)

1. Если подробное описание будет на титульном листе публикации, то вы сэкономите много своего времени, т.к. вам не нужно будет отвечать каждому скачавшему по скайпу "zekrus". Про наше время даже не упоминаю. я читаю описания гораздо быстрее чем пишу вопрос в скайп и жду ответа. Догадываюсь что остальные скачавшие тоже.)))

2. Если подробное описание будет на титульном листе публикации, а не в коментах, то нам не нужно будет в поиске ценных указаний, перечитывать занимательную переписку в коментах, где многабукав, эмоций, восторгов и прочей светской беседы. Опять же вам от этого будет только лучше, т.к. Вам не придется так часто отвечать на вопросы. а когда кол-во коментов превысит некоторую величину то новые скачавшие будут задавать вопросы поновой (ибо не все обладают таким огромным количеством времени чтобы читать такой искрометный и жизнеобильный тред, им проще еще раз спросить.)

3. мануал в коментах вещь нужная! Например для общения разрабов одной команды между собой, или для тестировки беты например диалог исполнителя и заказчика тоже очень полезен. Как бы хотелось почувствовать заботу автора - когда минимум буков, но исключая любый двусмысленность и неопределенность, пишет как работать, как ставить, что делает эта программа.

Николай, у вас много обработок, но их очень плохо плюсуют. и везде в критике описано одно и тоже - "публикациё недооформлено", "публикациё недооформлено". Вы хороший программист. - видно по коду, и человек наверно хороший. Правда! Научитесь же наконец красиво оформлять свои публикации, это же так здорово. вас так все любить будут. и плюсовать. и уважать. и вопросов не будут идиотских задавать по несколько раз.
Скачивая работы Душелова (Царствие ему небесное) или Чебуратора, Абадонны, Арчибальда, обажаешь этих людей. даже и уточнять ничего не надо. Можно плюсы авансом ставить только по прочтению описания. так они заботятся об тех кто будет это качать.

Николай, мы не тупые и не ленивые. у нас просто времени мало, жизнь такая короткая. мне сегодня несколько обработок доделать, еще кучу отчетов написать позавчера, допилить докуентов эдак 20, чужую конфу лечить от кривых мозгов, и написать подробный и красивый мануал на конфы, которые допиливаю и веду. А потом дочку забрать из садика, в который она давно ходит. :-D
так бы помогла обработка Ваша. Сколько бы она мне времени сэкономила, но видя что Вы автор - даже желание качать и ставить пропало. ибо чтобы понять всю процедуру работы с этим "продуктом" мне нужно предварительно весь мозг очистить от всех текущих заданий и пропустить через себя все эти вагоны информации и чтобы золотая суть осела в голове, и возрадовался бы я. но роскошь эта не позволительна мне и в результате пишу себе сам то что мне нужно.

Николай, ради бога не обижайтесь. воспринимайте как дружеский подкол. Вы хороший специалист. Только немного ленивый. Мы все (возму смелость сказать от лица сообщества) очень надеемся, что вы скоро начнете очень красиво оформлять свои публикации. мы это обязательно оценим и заплюсуем.
27. Николай Зевеке (zekrus) 06.11.12 15:41
(26) Dansur, Надеюсь не до смерти за плюсуете? ;)
Если серьезно пока сижу без дела руки чешутся писать (даже во сне), жена воет.
А как начинается проект, все как то не до комментариев. Беда всех программистов.
У вас к стати не бывает потери чувства времени и пространства? (так пишешь, пишешь
и вдруг как будто просыпаешься и не можешь понять где ты минут 10 пытаешься вспомнить).
28. Npoen Dzogchen (Dansur) 08.11.12 17:03
(27) zekrus, Бывает постоянно. а бывает что даже сон снится без образов а только с кодом, или с сальдовками.
29. Николай Зевеке (zekrus) 08.11.12 18:33
(28) Dansur, Думаю стоит обратиться за медицинской помощью, наверняка дело связано с нарушением
работы сердца (кислород не поступает в мозг). Я дураком был в техникуме 2 недели не спал, с тех
пор фотографическая память ушла (раньше прочитав конспект писал сразу по 2м билетам ответы).
30. Npoen Dzogchen (Dansur) 09.11.12 10:01
(29) zekrus, Спасибо за заботу, но предпочитаю просто активный отдых, предварительно хорошо выспавшись. - всё проходит. а с доставкой кислорода очень помогает дыхательная гимнастика. Йога-пранаяма. Апноэ. и вообще прочий различный фри-дайвинг (см. аву) . а сальдовки с отладчиками бывает постоянно снятся с одним условием - когда в приступе трудоголизма остановится не могу и сижу всю ночь улучшая код :D

Кстати что то уже давно снятся нормальные обычные цветные сны. - жизнь улучшается ))
31. Gashek (gashek) 14.11.12 17:09
(23) zekrus, Так как мне драйвер-то установить? Время идет, а я так и не попробовал чудесное приложение
32. Николай Зевеке (zekrus) 15.11.12 10:29
(31) gashek, Извини за задержку, у тебя MDAC стоит?
33. Gashek (gashek) 15.11.12 13:39
34. Gashek (gashek) 15.11.12 13:57
Согласно описанию с сайта мелкософта(http://support.microsoft.com/kb/301202/ru) у меня версия 2.81.1132.0
35. Николай Зевеке (zekrus) 18.11.12 00:05
(34) gashek, ERROR [IM002] [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию
В общем, код потерял драйвер ODBC. После некоторых поисков в интернетах, вышел на статью Faruk Celik'a. Дело в том, что драйвер ODBC заточен под 32-х разрядные системы. Код по умолчанию запускался в семёрке как 64-х разрядный и окружение осуществляло поиск драйвера в 64-х разрядной среде ODBC. Просмотреть его можно, если зайти "Панель управления" - "Администрирование" - "Источник данных (ODBC)". Во вкладке "Драйверы" хотелось бы видеть строку Microsoft dBase Driver (*.dbf), но её там нет. И не будет... Она в другом месте, в источнике данных (ODBC) для 32-х разрядных систем, найти который можно здесь:
C:\Windows\SysWOW64\odbcad32.exe
Запускаем его и во вкладке "Драйверы" находим наш Microsoft dBase Driver (*.dbf).
Далее, во вкладке "Системный DSN" создаём источник данных с именем "Файлы dBASE" и драйвером Microsoft dBase Driver (*.dbf).
Далее складываем dbf и конвертер в 1 папочку, и всё прекрасно работает
36. Gashek (gashek) 19.11.12 10:14
>и всё прекрасно работает
А Вы попробовали? или Вам кажется, что будет работать? :)
Ошибка такая же!
Если пробовали, то уточните настройки системного DNS.
37. Gashek (gashek) 19.11.12 10:17
38. mikhailovaew (mikhailovaew) 20.11.12 11:19
(26)
Скачивая работы Душелова (Царствие ему небесное)

А что с Душеловом? Посмотрела в его профайле - последняя дата визита 19.11.12.
39. Николай Зевеке (zekrus) 12.12.12 10:32
(37) gashek, Специально для тебя сделал по шагам:
1. Скачал файл
2. Создал папку, и в нее скопировал файл Menu.XML
3. Создал внутри папку bin, и в нее скопировал файлы *.dbf, *.md, compound_extr.exe, Slice.bmp, WindowsApplication1.*
4. Запустил WindowsApplication1.exe и из меню загрузил метаданные.
5. Открыл данные справочников и документов (см. вложения).
Может действительно только с этими драйверами работает? (я под XP, и на ней стоит SQL).
Прикрепленные файлы:
40. Gashek (gashek) 12.12.12 16:24
Не работает! Все такая же ошибка.
Боюсь что дело в том, что у Вас установлен SQL.
Как я понимаю, у мееня не хватает каких-то dll.
Т.к. ошибку не могу протестировать, код же недоступен.
Установите свою прогу на чистом компе, без SQL.
41. Николай Зевеке (zekrus) 13.12.12 08:41
(40) gashek, Попробуй скачать SQL express и поставь только комплект для подключения (это не сложно).
42. Gashek (gashek) 13.12.12 09:48
:) Я то могу, но как-то не совсем правильно это, на мой взгляд.
А решить проблему со стороны разработчика?
Что все остальные, качнувшие чудо приложение, будут плясать с бубном?

OFF: Был такой старый Ералаш: Парень продавал электронные часы. В советское время это устройтство было редкость! Тем более в часах была метеостанция и пр. А к часам два больших чемодана с батарейками.

Ничего не напоминает?

В конце Ералаша нашелся покупатель, т.к. о батарейках продавец ничего не сказал.
Всегда смеялся над этим в детстве. Не мог понять почему покупатель не уточнил все свойства товара. Теперь понял - это искусство продавца.

Я вот думаю, не я ли в роли покупателя здесь выступаю? Уже 40 постов комментов и 1,5 месяца вытягивания клещами из Вас рецепта работоспособности Вашего чудесного приложения!
43. Николай Зевеке (zekrus) 13.12.12 11:21
(42) gashek, Рад бы помочь, да времени пока нет к сожалению (надо на хлеб зарабатывать).
44. Gashek (gashek) 13.12.12 11:48
Тогда ждем появление времени у Вас. :)