Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

ВЗЛОМ!!!!
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> БЭСТ-4
View previous topic :: View next topic  
Author Message
progforbest



Joined: 14 May 2003
Posts: 9



PostPosted: 11 Mar 2005 11:49    Post subject: Reply with quote

Не работал у меня это пример:
Программирование_в_БЭСТ-4.chm


Быстрый старт


Для быстрого начала работы проделайте следующее:
· скопируйте bin\harbour.exe в какой-нибудь общедоступный каталог, чтобы легче было запускать его из командной строки;

· создайте в корне БЭСТ (там, где best.bat) файл HELLO.PRG следующего содержания:



Function main()
altd()
Alert('Hello,world!')
Return 100
· наберите из командной строки:

· получившийся в результате компиляции файл HELLO.HRB поместите в PRO\PLUGINS\EXTENSNS\MAIN\

· находясь в реестре проводок (АРМ главного бухгалтера-Учет хозяйственных операций) подключите обычным образом (по Ctrl-F5) плагин c именем HELLO.HRB

· запустите на выполнение – и перед Вами возникнет следующая картина:




Таким образом, Вы в отладчике!
Программа остановлена на операторе AltD().
Теперь:
· по F6 можно посмотреть все открытые на данный момент рабочие области;

· по Alt-M посмотреть состояние всех видимых переменных;

· по F4 – что же в этот момент творится в окне приложения;

· по F8 по-командно и по F10 по-процедурно по шагам выполнить программу;

· и много-много других возможностей.


Больше нет никаких ограничений по написанию программ "изнутри" БЭСТа!
Back to top
View user's profile Send private message
Титов Александр



Joined: 26 Jul 2002
Posts: 975
Location: Титов Александр Александрович
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 11 Mar 2005 12:17    Post subject: Reply with quote

progforbest wrote:
Не работал у меня это пример:
Программирование_в_БЭСТ-4.chm


Быстрый старт


Для быстрого начала работы проделайте следующее:
· скопируйте bin\harbour.exe в какой-нибудь общедоступный каталог, чтобы легче было запускать его из командной строки;

· создайте в корне БЭСТ (там, где best.bat) файл HELLO.PRG следующего содержания:



Function main()
altd()
Alert('Hello,world!')
Return 100
· наберите из командной строки:

· получившийся в результате компиляции файл HELLO.HRB поместите в PRO\PLUGINS\EXTENSNS\MAIN\

· находясь в реестре проводок (АРМ главного бухгалтера-Учет хозяйственных операций) подключите обычным образом (по Ctrl-F5) плагин c именем HELLO.HRB

· запустите на выполнение – и перед Вами возникнет следующая картина:




Таким образом, Вы в отладчике!
Программа остановлена на операторе AltD().
Теперь:
· по F6 можно посмотреть все открытые на данный момент рабочие области;

· по Alt-M посмотреть состояние всех видимых переменных;

· по F4 – что же в этот момент творится в окне приложения;

· по F8 по-командно и по F10 по-процедурно по шагам выполнить программу;

· и много-много других возможностей.


Больше нет никаких ограничений по написанию программ "изнутри" БЭСТа!

Добрый день!
Там пропало, что же набрать из командной строки (исправим в ближайшей версии), чтобы откомпилировать приложение:
harbour.exe hello.prg /n /a /gh /b - так с отладкой
harbour.exe hello.prg /n /a /gh - так без отладочной информаци
_________________
С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо
Back to top
View user's profile Send private message Visit poster's website
andre19



Joined: 24 May 2004
Posts: 317
Location: Andre
Occupation: albumin (programmer)
Interests: Новосибирск

PostPosted: 11 Mar 2005 14:04    Post subject: Reply with quote

для моего примера
в каждый кусок кода можно добавить еще и переменные, которые-бы соответствовали АРМу, в котором трудишься, можно в соответствии с класификацией ИС(03-Гот.прод-ия например), можно свое придумать.
Ну и соответственно добавить одно поле в рез.таблицу, в которое и будет калякаться выполненное ламером действо.
Это позволит свести количество лог таблиц к одной
Back to top
View user's profile Send private message
Jura01



Joined: 21 Apr 2003
Posts: 68
Location: Исаев Юрий

Interests: Москва

PostPosted: 11 Mar 2005 17:49    Post subject: Reply with quote

Что-то при сохранении документа Бэст ругается на _save.frm - какое-то разрушение данных, а сама бяка в 16-ой строке...
Удаление, то бишь _del.frm не проверя
Back to top
View user's profile Send private message
denlog



Joined: 16 Jul 2003
Posts: 155
Location: Логинов Денис Евгеньевич
Occupation: Автоцентр КамАЗ, инженер-программист
Interests: Н.Челны

PostPosted: 12 Mar 2005 15:12    Post subject: Reply with quote

создал с помощью BRO.EXE базу DELRBOOK.DBF
структура:
Quote:

Nr. Field Name Type Len Dec
==== ========== ========= ===== =====
1 DATE_DEL Date 8 0
2 TIME_DEL Character 10 0
3 NUM_ZAKAZ Character 6 0
4 DATE Date 8 0
5 NUM_SCHET Character 6 0
6 CODE_KAG Character 6 0
7 NAME_KAG Character 25 0
8 REGION Character 15 0
9 SUM_ZAKAZ Numeric 19 3
10 CODE_TAG Character 6 0
11 NAME_TAG Character 25 0
12 USER_CODE Character 6 0

создал по подобию ITMAN'ского delrbook.prg
Quote:
private cDir, aStru
private cDir2, aStru
cdir:= LoadPath()+'!loger\real\delrbook.dbf'
cdir2:= LoadPath()+'real\rbook.dbf'
dbpush()
netuse('delz',cdir)
netuse('rbook',cdir2)
delz->(addrec())
delz->DATE_DEL := Date()
delz->TIME_DEL := time()
delz->NUM_ZAKAZ := rbook->DOPCODE
delz->DATE := rbook->DATE
delz->NUM_SCHET := rbook->NUMDOC
delz->CODE_KAG := rbook->AGENTCODE
delz->NAME_KAG := rbook->AGENTNAME
delz->REGION := rbook->REGION
delz->SUM_ZAKAZ := rbook->SUMOUT
delz->CODE_TAG := rbook->AGENTCOD
delz->NAME_TAG := rbook->AGENTNAM
delz->USER_CODE := rbook->USER_CODE
delz->(f_dbUnLock())
delz->(dbCloseArea())
dbpop()

пришлось добавить
Quote:
private cDir2, aStru
cdir2:= LoadPath()+'real\rbook.dbf'
netuse('rbook',cdir2)

А то никак не хотел находить алиас rbook. Кстати, кто знает, где все эти алиасы хранятся? Почему на sh_fact не ругается, а на rbook - матом?

Далее в реестре заказов добавил спецфункцию delrbook.prg и пошел стирать заказы.
И всё бы хорошо, но при удалении любого заказа в мою log-базу !loger\real\delrbook.dbf добавляется заказ с наименьшим номером (в базе RBOOK.DBF это поле DOPCODE). И какой бы заказ я не удалял - в логи пишет инфу только по первому заказу.
Если его удалять - все прекрасно - он попадает в логи по всем поля в базе DELRBOOK.DBF.

Пробовал это как на BIN1102 так и на CMOD1102, оба без сервиспаков. БАЗА ДАННЫХ - копия рабочей базы.
Пробовал и на БЭСТЕ 4 ПЛЮС с 4-мя сервиспаками. Развернул демо базу - те же самые проблемы - удаляется только первый заказ (то есть с наименьшим номером). Даже если отсортировать заказы по дате или контрагенту - все равно удаляет только заказ с самым меньшим номером.

Как заставить спецфункцию загонять в лог DELRBOOK.DBF именно тот заказ, который я удаляю?

P.S. Еще не пробовал на складских базах - с MDOC.DBF
_________________
юзай man'ы
Back to top
View user's profile Send private message Visit poster's website
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 14 Mar 2005 09:34    Post subject: Reply with quote

Рекомендую перед тем как писать код, скомпилировать с отладчиком /b и в отладчике просмотреть какие базы уже открыты.
а у тебя получается по факту то что и написано по код
Back to top
View user's profile Send private message Send e-mail
denlog



Joined: 16 Jul 2003
Posts: 155
Location: Логинов Денис Евгеньевич
Occupation: Автоцентр КамАЗ, инженер-программист
Interests: Н.Челны

PostPosted: 14 Mar 2005 16:40    Post subject: Reply with quote

В товарах попробовал !logerd.prg и logers.prg от ИТМАНа: все шикарно работает.
В управлении продаж - книга продаж - реестр счет фактур - тоже все работает без проблем.

Однако требуется знать кто удалил заказы, а RBOOK.DBF какая то база нестандартная, на неё даже алиаса не существует.

Теперь подробности:

itman wrote:
Рекомендую перед тем как писать код, скомпилировать с отладчиком /b и в отладчике просмотреть какие базы уже открыты.
а у тебя получается по факту то что и написано по коду.

Во-первых:
C:\B4_PLUS\NEWS\Программирование_в_БЭСТ-4.chm
раздел "Функции БЭСТ " подраздел "Функции работы с рабочими областями"
Quote:
DBPUSH() - cохраняет текущее состояние (текущую рабочую область, установленный индекс и фильтр, текущий номер записи).

Во-вторых:
C:\B4_PLUS\NEWS\Программирование_в_БЭСТ-4.chm
В разделе "Механизм HFileEval" подраздел "Быстрый старт "
Quote:

наберите из командной строки:
harbour HELLO.PRG /n /a /gh /b
· получившийся в результате компиляции файл HELLO.HRB поместите в PRO\PLUGINS\EXTENSNS\MAIN\
· находясь в реестре проводок (АРМ главного бухгалтера-Учет хозяйственных операций) подключите обычным образом (по Ctrl-F5) плагин c именем HELLO.HRB
· запустите на выполнение – и перед Вами возникнет следующая картина: <тут картинка оболочки отладчика>
Таким образом, Вы в отладчике!

С параметрами /n /a /gh /b у меня вообще ничего не компилируется.
С параметром /b компилирует в Си.
Получилось с параметрами /a /gh /b (то есть без параметра /n).
Прописал в спецфункциях получившийся delrbook.hrb, попытался удалить заказ - заработал отладчик
тока окно пустое (кода нет) и пишет в заголовке окна - "delrbook.prg File not found", хотя я в спецфункциях прописал с расширением *.hrb
Далее, по F6 посмотрел активные области - все базы показывает, кроме RBOOK.DBF
вот скриншот


Что не так делаю?
Терзает смутное предчуствие, из-за того что в списке активных областей нет RBOOK, как раз и записывается в мой лог только первая запись из реестра заказов, вместо той которую удаляю.

Почему в активных областях нет RBOOK.DBF ?
_________________
юзай man'ы


Last edited by denlog on 14 Mar 2005 16:55; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
Титов Александр



Joined: 26 Jul 2002
Posts: 975
Location: Титов Александр Александрович
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 14 Mar 2005 16:51    Post subject: Reply with quote

denlog wrote:

Однако требуется знать кто удалил заказы, а RBOOK.DBF какая то база нестандартная, на неё даже алиаса не существует.

RBOOK.DBF открыта с алиасом MDOC
_________________
С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо
Back to top
View user's profile Send private message Visit poster's website
denlog



Joined: 16 Jul 2003
Posts: 155
Location: Логинов Денис Евгеньевич
Occupation: Автоцентр КамАЗ, инженер-программист
Interests: Н.Челны

PostPosted: 14 Mar 2005 16:56    Post subject: Reply with quote

Титов Александр wrote:
denlog wrote:

Однако требуется знать кто удалил заказы, а RBOOK.DBF какая то база нестандартная, на неё даже алиаса не существует.

RBOOK.DBF открыта с алиасом MDOC


а MDOC.DBF тогда с каким алиасом открыта?

и где бы взять базу с алиасами
то бишь какому *.DBF какой алиас соответствует?
_________________
юзай man'ы
Back to top
View user's profile Send private message Visit poster's website
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 14 Mar 2005 16:58    Post subject: Reply with quote


следовательно все еще больше упрощается,
кстати - Отладчик - очень удобный инструмент в руках админа Б-4+ !!!
а чтобы понять ху есть ху просто пройди по областям и посмотри на значения заодно можно и по переменным пройти. )))
только не увлекайся, а то на softice32 потянет еще
Back to top
View user's profile Send private message Send e-mail
denlog



Joined: 16 Jul 2003
Posts: 155
Location: Логинов Денис Евгеньевич
Occupation: Автоцентр КамАЗ, инженер-программист
Interests: Н.Челны

PostPosted: 14 Mar 2005 17:06    Post subject: Reply with quote

АБАЛДЕТЬ !!!
ДВА ДНЯ БАШКУ ЛОМАЮ

А ОКАЗЫВАЕТСЯ АЛИАС для RBOOK.DBF - MDOC,
ну ни зачто бы не подумал.

сделал автозамену в файле delrbook.prg с "rbook" на "mdoc"
и все запело и заплясало как надо

ну спасибо, Титов Александр
_________________
юзай man'ы
Back to top
View user's profile Send private message Visit poster's website
denlog



Joined: 16 Jul 2003
Posts: 155
Location: Логинов Денис Евгеньевич
Occupation: Автоцентр КамАЗ, инженер-программист
Interests: Н.Челны

PostPosted: 14 Mar 2005 17:07    Post subject: Reply with quote

itman wrote:

следовательно все еще больше упрощается,
кстати - Отладчик - очень удобный инструмент в руках админа Б-4+ !!!
а чтобы понять ху есть ху просто пройди по областям и посмотри на значения заодно можно и по переменным пройти. )))
только не увлекайся, а то на softice32 потянет еще


а че такое softice32 ?

ни рамблер ни яндекс не ответи
_________________
юзай man'ы
Back to top
View user's profile Send private message Visit poster's website
Титов Александр



Joined: 26 Jul 2002
Posts: 975
Location: Титов Александр Александрович
Occupation: Компания БЭСТ
Interests: Москва

PostPosted: 14 Mar 2005 17:21    Post subject: Reply with quote

denlog wrote:
Титов Александр wrote:
denlog wrote:

Однако требуется знать кто удалил заказы, а RBOOK.DBF какая то база нестандартная, на неё даже алиаса не существует.

RBOOK.DBF открыта с алиасом MDOC

а MDOC.DBF тогда с каким алиасом открыта?

и где бы взять базу с алиасами
то бишь какому *.DBF какой алиас соответствует?

Как правило, алиасы соответствуют именам.
В заказах таблица SCLAD\MDOC.DBF постоянно не открыта, а открывается только при необходимости с алиасом MDOC1.
В отладчике можно увидеть все открытые алиасы. Кроме того, по Alt-X отображается текущая таблица с открытым алиасом и связанные с ней по RELATION.
И последнее, немного опережая события. Если у вас стоят все пакеты, задайте переменную среды BEST5_ALTINS=YES. И далее в любом режиме жмите Alt+Ins - и увидите все рабочие области и много чего еще.
_________________
С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо
Back to top
View user's profile Send private message Visit poster's website
denlog



Joined: 16 Jul 2003
Posts: 155
Location: Логинов Денис Евгеньевич
Occupation: Автоцентр КамАЗ, инженер-программист
Interests: Н.Челны

PostPosted: 14 Mar 2005 17:45    Post subject: Reply with quote

Титов Александр wrote:

Как правило, алиасы соответствуют именам.
В заказах таблица SCLAD\MDOC.DBF постоянно не открыта, а открывается только при необходимости с алиасом MDOC1.
В отладчике можно увидеть все открытые алиасы. Кроме того, по Alt-X отображается текущая таблица с открытым алиасом и связанные с ней по RELATION.
И последнее, немного опережая события. Если у вас стоят все пакеты, задайте переменную среды BEST5_ALTINS=YES. И далее в любом режиме жмите Alt+Ins - и увидите все рабочие области и много чего еще.


что то по ALT-X выкидывает вообще до главного меню
_________________
юзай man'ы
Back to top
View user's profile Send private message Visit poster's website
Олег Смирнов



Joined: 06 Sep 2004
Posts: 821
Location: Олег Смирнов
Occupation: Раут (поганист-сисадмин)
Interests: Новосибирск

PostPosted: 14 Mar 2005 19:17    Post subject: Reply with quote

denlog wrote:
а че такое softice32 ?

Хы!.. А это отладчик такой. Пока он тебе не нужен. Вот как начнёшь разбираться, как в БЭСТе защита через ключ работает и как его заставить работать без ключа - тогда точно пригодится. А пока... itman прикалывается.
_________________
С уважением, Олег Р. Смирн
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> БЭСТ-4 All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5  Next
Page 3 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru