|
v7: Инструменты для разбора md-файла | ☑ | ||
---|---|---|---|---|
0
Studentus
17.10.11
✎
01:28
|
Добрый день. Помогите, пожалуйста, в решении такой задачи.
Я студент, и сейчас мне по курсовому нужно сделать вот такую вещь: мне нужно написать прогу, чтобы она читала файл конфигурации 1С .MD и выводила в читаемом виде всю информацию о справочниках и документах, которые можно потом самостоятельно без 1С обрабатывать. Т.е. у меня должна получиться программа, что-то вроде внешнего редактора .MD файла. На этом сайте я находил похожую программу - Visual MD Editor (от Белова Сергея). http://www.mista.ru/download1c/index.htm. Мне нужно самому написать нечто такое, и я не знаю с чего начать. (Пробовал разбираться в коде md-файла(открывал через блокнот)) Можете мне подсказать или посоветовать, с чего начать в такой ситуации. |
|||
1
Матвеев Максим
17.10.11
✎
02:07
|
||||
2
Матвеев Максим
17.10.11
✎
02:08
|
> Пробовал разбираться в коде md-файла(открывал через блокнот)
LOL |
|||
3
Матвеев Максим
17.10.11
✎
02:10
|
||||
4
Злопчинский
17.10.11
✎
02:15
|
возможно пригодится
http://infostart.ru/profile/964/ |
|||
5
Studentus
18.10.11
✎
00:40
|
Ок, спасибо)
|
|||
6
zavsom
18.10.11
✎
00:46
|
Это не выполнимо - так как мдэшник это первозданный кирпичик и в нем то и живет 1ска...
|
|||
7
andrewalexk
18.10.11
✎
00:56
|
(6) :) ты еще скажи что мдшник состоит из справочниконов и документонов которые образуют принцип дуализма
|
|||
8
Escander
18.10.11
✎
05:53
|
(0) Извне это нарушение лицензионного соглашения, нехорошо воровать.
|
|||
9
Erhov_egor
18.10.11
✎
06:05
|
смысл вообще разработки такого программного обеспечения,ну изменил ты мдешник,без объединения с начальным у тебя база не откроется...
|
|||
10
DJ Anthon
18.10.11
✎
06:18
|
посмотри еще gcomp
|
|||
11
DJ Anthon
18.10.11
✎
06:20
|
(9) есть смысл, если не менять реквизиты, например, для обфускации или внесения спецкода во все модули документов, к примеру...
|
|||
12
Erhov_egor
18.10.11
✎
06:28
|
нафига вообще тут обфускация то, программа у него вообще не нужная и смысла подключаться к мдешнику нету,лучше было бы просмотр бд,а не мд и его редактирование
|
|||
13
Erhov_egor
18.10.11
✎
06:29
|
смысл менять код в другой проге когда есть 1с?если только нету доступа непосредственно к ней
|
|||
14
Chai Nic
18.10.11
✎
06:31
|
(8) Если так рассуждать - то и бэкап средствами sql-сервера тоже попадает под нарушение АП :)
|
|||
15
DJ Anthon
18.10.11
✎
06:53
|
(13) а что, код в 1С можно легко менять?
|
|||
16
DJ Anthon
18.10.11
✎
06:54
|
(13) вот мне сейчас срочно нужно поменять код каждого документа в модуле проведения, а потом вернуть все обратно. как это сделать в 1С?
|
|||
17
Erhov_egor
18.10.11
✎
07:04
|
копируешь мд,потом объеденяешь в чем проблема?
|
|||
18
Erhov_egor
18.10.11
✎
07:04
|
(15)а че тебе сложно поменять код в 1с?
|
|||
19
DJ Anthon
18.10.11
✎
07:10
|
(18) тыща пицот документов. в каждом вручную менять - куча времени уходит. тем более, что это надо сделать не в одной базе. Глобальный поиск есть, а глобальной замены нету. плохо. а редактором я быстренько прогоню и все. пока что написал скрипт на гкомпе, но если мд поврежден обратно он может и не собраться.
|
|||
20
ДенисЧ
18.10.11
✎
07:11
|
(19) ммм... У тебя украли глобальную замену????
Заявление уже написал? |
|||
21
DJ Anthon
18.10.11
✎
07:12
|
(20) хм.. а где она находится?
|
|||
22
ДенисЧ
18.10.11
✎
07:13
|
(21) ПКМ в результатах поиска...
|
|||
23
DJ Anthon
18.10.11
✎
07:15
|
(22) прикольно, спасибо )) только там безусловная замена, иногда надо кое-что помощнее.
|
|||
24
Erhov_egor
18.10.11
✎
07:19
|
(19)разве есть 1500 доков где был одинаковый код?даже среди 10 баз?а если они не типовые
|
|||
25
ЧеловекДуши
18.10.11
✎
07:57
|
О как, у автора не курсовая работа, а уже проект на миллион :)
|
|||
26
andrewks
18.10.11
✎
08:09
|
||||
27
andrewks
18.10.11
✎
08:15
|
была ещё отличная статейка по адресу http://user.cs.tu-berlin.de/~schwartz/pmh/guide.html
но сейчас она недоступна. поищи, может, в веб-архивах осталась |
|||
28
andrewks
18.10.11
✎
08:22
|
по-ходу, в веб-архиве её не найдёшь - там robots.txt был настроен
|
|||
29
Ёпрст
18.10.11
✎
08:34
|
(23) inserter от AЛьФа или скрипты к опенконфу или скрипты к GComp это умеют
|
|||
30
ДенисЧ
18.10.11
✎
08:39
|
(29) инсертер глючит на больших конфах.
|
|||
31
Ёпрст
18.10.11
✎
08:47
|
если уж говорить за структуру компаунда, ознакомься:
http://webfile.ru/5610645 |
|||
32
Ёпрст
18.10.11
✎
08:48
|
(30) ну , не без этого.
Имея класс перехватчик, юзать что-то вроде глобальной замены нет необходимости вообще. |
|||
33
ДенисЧ
18.10.11
✎
08:48
|
(32) Перехватчик дурит много...
|
|||
34
Ёпрст
18.10.11
✎
08:51
|
(33) эээ.. в чем ?
|
|||
35
ДенисЧ
18.10.11
✎
09:07
|
(34)
(34) простой код Функция Событие_ОбработкаПроведения(Конт, зн) Экспорт Возврат _Перехватчик.ВыполнитьОригинальноеСобытиеГК(Конт,"ОбработкаПроведения"); КонецФункции выдаёт ошибку, если в модуле проведения предусмотрен параметр проведения а если так Возврат _Перехватчик.ВыполнитьОригинальноеСобытиеГК(Конт,"ОбработкаПроведения", зн); То просто фатальная ошибка... |
|||
36
Mikeware
18.10.11
✎
09:12
|
(Пробовал разбираться в коде md-файла(открывал через блокнот)) :-)))
Навеяло, как "Вася Пупкин изучал новую программу. Он уже два часа читал код, но не мог разобрать ни одного слова в файле хххх.exe" |
|||
37
DJ Anthon
18.10.11
✎
17:35
|
(24) поясняю. вот к примеру задача - надо объединить несколько баз в одну, конфиги немного разные (иногда совсем разные). ни одна известная обработка сделать это не в состоянии, им нужны идентичные базы. я написал универсальную, которой пофиг, если чего-то не хватает. но перенос справочников, документов, проводок, констант, записей журнала расчетов еще можно сделать, а как сделать перенос записей регистров и периодики, привязанной к проведению документов? чтобы это сделать, надо провести соответствующие доки так, чтобы у них появились точно те же движения, что и в базе-источнике, сделать это можно, только если перехватить процедуру проведения. перехватчик я не изучал, поэтому решил задачу таким способом - добавил в начало каждой процедуры отсылку на глобальную функцию, которая делала правильное проведение, после переноса мд восстанавливался. но это только одна из таких задач. иногда необходимо внести проверку на проведение любого документа, если типовой функционал этого не дает, приходится извращаться. ну и для отладки тоже надо часто.
|
|||
38
Ёпрст
18.10.11
✎
18:09
|
(35)
у меня нет вылета (и никогда не было) и вызов другой: Функция Событие_ОбработкаПроведения(Конт,ДопПараметр) Экспорт Сообщить("проводим в классе"); Возврат Перехватчик.ВыполнитьОригинальноеСобытиеГК(Конт, "ОбработкаПроведения", ДопПараметр); КонецФункции + не видно, как ты само проведение перехватываешь в классе. ЗЫ: могу свой класс кинуть, как демку. |
|||
39
ДенисЧ
18.10.11
✎
20:15
|
(38)
Кинь. Перехватываю строго по мануалу. |
|||
40
Злопчинский
18.10.11
✎
20:22
|
(38) и мне скинь, плиз тоже [email protected]
|
|||
41
Ёпрст
18.10.11
✎
20:32
|
http://webfile.ru/5612040
в глобальничке: ЗагрузитьВнешнююКомпоненту("1cpp.dll"); Настройки=СоздатьОбъект("УправлениеНастройками"); Настройки.Сбросить("Проверка типов"); Настройки.Сбросить("Отладка"); //Настройки.Сбросить("Оптимизация"); Настройки.Включить("Оптимизация"); Настройки.Включить("TurboBL"); Настройки.Включить("ПерехватитьСобытияГК"); Перехватчик = СоздатьОбъект("Перехватчик"); ПерехватчикСобытийГМ = СоздатьОбъект("ПерехватСобытий"); Перехватчик.ПерехватитьСобытияГлобальногоМодуля(ПерехватчикСобытийГМ); ПерехватчикСобытийГМ.ПерехватитьПроведение(); ЗагрузитьВнешнююКомпоненту("formex.dll"); |
|||
42
Ёпрст
18.10.11
✎
20:35
|
(39) у тебя моя граната работает ? Там тоже на перехватчике и перехват проведения
|
|||
43
ДенисЧ
18.10.11
✎
20:39
|
(42) завтра проверю, но сходу не вижу отличий от своей. Ты версию 1с++ озвучь..
|
|||
44
Ёпрст
18.10.11
✎
20:41
|
(43) 3.2.3.16
в принципе, должно работать в любой 3** |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |