| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		progforbest
 
 
  Joined: 14 May 2003 Posts: 9
 
 
 
  | 
		
			
				 Posted: 11 Mar 2005 11:49    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Не работал у меня это пример:
 
Программирование_в_БЭСТ-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 | 
		 | 
	
	
		  | 
	
	
		Титов Александр
 
 
  Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 11 Mar 2005 12:17    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 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 | 
		 | 
	
	
		  | 
	
	
		andre19
 
  
  Joined: 24 May 2004 Posts: 317 Location: Andre Occupation: albumin (programmer) Interests: Новосибирск
  | 
		
			
				 Posted: 11 Mar 2005 14:04    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				для моего примера
 
в каждый кусок кода можно добавить еще и переменные, которые-бы соответствовали АРМу, в котором трудишься, можно в соответствии с класификацией ИС(03-Гот.прод-ия например), можно свое придумать.
 
Ну и соответственно добавить одно поле в рез.таблицу, в которое и будет калякаться выполненное ламером действо.
 
Это позволит свести количество лог таблиц к одной    | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Jura01
 
 
  Joined: 21 Apr 2003 Posts: 68 Location: Исаев Юрий
  Interests: Москва
  | 
		
			
				 Posted: 11 Mar 2005 17:49    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Что-то при сохранении документа Бэст ругается на  _save.frm - какое-то разрушение данных, а сама бяка в 16-ой строке...
 
Удаление, то бишь _del.frm не проверя | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		denlog
 
  
  Joined: 16 Jul 2003 Posts: 155 Location: Логинов Денис Евгеньевич Occupation: Автоцентр КамАЗ, инженер-программист Interests: Н.Челны
  | 
		
			
				 Posted: 12 Mar 2005 15:12    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				создал с помощью 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 | 
		 | 
	
	
		  | 
	
	
		itman
 
  
  Joined: 05 Apr 2002 Posts: 1247 Location: Ильин Е.Ю. Occupation: Cio Interests: Кинель
  | 
		
			
				 Posted: 14 Mar 2005 09:34    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Рекомендую перед тем как писать код, скомпилировать с отладчиком /b и в отладчике просмотреть какие базы уже открыты.
 
а у тебя получается по факту то что и написано по код | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		denlog
 
  
  Joined: 16 Jul 2003 Posts: 155 Location: Логинов Денис Евгеньевич Occupation: Автоцентр КамАЗ, инженер-программист Interests: Н.Челны
  | 
		
			
				 Posted: 14 Mar 2005 16:40    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				В товарах попробовал !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 | 
		 | 
	
	
		  | 
	
	
		Титов Александр
 
 
  Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 14 Mar 2005 16:51    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | denlog wrote: | 	 		  
 
Однако требуется знать кто удалил заказы, а RBOOK.DBF какая то база нестандартная, на неё даже алиаса не существует.
 
 | 	  
 
RBOOK.DBF открыта с алиасом MDOC _________________ С уважением, Александр Титов, Компания БЭСТ, Москва, отдел разрабо | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		denlog
 
  
  Joined: 16 Jul 2003 Posts: 155 Location: Логинов Денис Евгеньевич Occupation: Автоцентр КамАЗ, инженер-программист Interests: Н.Челны
  | 
		
			
				 Posted: 14 Mar 2005 16:56    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Титов Александр wrote: | 	 		   	  | denlog wrote: | 	 		  
 
Однако требуется знать кто удалил заказы, а RBOOK.DBF какая то база нестандартная, на неё даже алиаса не существует.
 
 | 	  
 
RBOOK.DBF открыта с алиасом MDOC | 	  
 
 
а MDOC.DBF  тогда с каким алиасом открыта?
 
 
и где бы взять базу с алиасами
 
то бишь какому *.DBF  какой алиас соответствует? _________________ юзай man'ы | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		itman
 
  
  Joined: 05 Apr 2002 Posts: 1247 Location: Ильин Е.Ю. Occupation: Cio Interests: Кинель
  | 
		
			
				 Posted: 14 Mar 2005 16:58    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				  
 
следовательно все еще больше упрощается,    
 
кстати - Отладчик - очень удобный инструмент в руках админа Б-4+ !!!
 
а чтобы понять ху есть ху просто пройди по областям и посмотри на значения заодно можно и по переменным пройти. )))
 
только не увлекайся, а то на softice32 потянет еще    | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		denlog
 
  
  Joined: 16 Jul 2003 Posts: 155 Location: Логинов Денис Евгеньевич Occupation: Автоцентр КамАЗ, инженер-программист Interests: Н.Челны
  | 
		
			
				 Posted: 14 Mar 2005 17:06    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				АБАЛДЕТЬ !!!
 
ДВА ДНЯ БАШКУ ЛОМАЮ
 
 
А ОКАЗЫВАЕТСЯ АЛИАС для RBOOK.DBF   -  MDOC, 
 
ну ни зачто бы не подумал.
 
 
сделал автозамену в файле delrbook.prg   с  "rbook"  на "mdoc"
 
и все запело и заплясало как надо
 
 
ну спасибо, Титов Александр    _________________ юзай man'ы | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		denlog
 
  
  Joined: 16 Jul 2003 Posts: 155 Location: Логинов Денис Евгеньевич Occupation: Автоцентр КамАЗ, инженер-программист Interests: Н.Челны
  | 
		
			
				 Posted: 14 Mar 2005 17:07    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | itman wrote: | 	 		    
 
следовательно все еще больше упрощается,    
 
кстати - Отладчик - очень удобный инструмент в руках админа Б-4+ !!!
 
а чтобы понять ху есть ху просто пройди по областям и посмотри на значения заодно можно и по переменным пройти. )))
 
только не увлекайся, а то на softice32 потянет еще    | 	  
 
 
а че такое  softice32  ?
 
 
ни рамблер  ни яндекс не ответи _________________ юзай man'ы | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Титов Александр
 
 
  Joined: 26 Jul 2002 Posts: 975 Location: Титов Александр Александрович Occupation: Компания БЭСТ Interests: Москва
  | 
		
			
				 Posted: 14 Mar 2005 17:21    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | 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 | 
		 | 
	
	
		  | 
	
	
		denlog
 
  
  Joined: 16 Jul 2003 Posts: 155 Location: Логинов Денис Евгеньевич Occupation: Автоцентр КамАЗ, инженер-программист Interests: Н.Челны
  | 
		
			
				 Posted: 14 Mar 2005 17:45    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Титов Александр wrote: | 	 		  
 
Как правило, алиасы соответствуют именам.
 
В заказах таблица SCLAD\MDOC.DBF постоянно не открыта, а открывается только при необходимости с алиасом MDOC1.
 
В отладчике можно увидеть все открытые алиасы. Кроме того, по Alt-X отображается текущая таблица с открытым алиасом и связанные с ней по RELATION.
 
И последнее, немного опережая события. Если у вас стоят все пакеты, задайте переменную среды BEST5_ALTINS=YES. И далее в любом режиме жмите Alt+Ins - и увидите все рабочие области и много чего еще. | 	  
 
 
что то по ALT-X   выкидывает вообще до главного меню _________________ юзай man'ы | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Олег Смирнов
 
 
  Joined: 06 Sep 2004 Posts: 821 Location: Олег Смирнов Occupation: Раут (поганист-сисадмин) Interests: Новосибирск
  | 
		
			
				 Posted: 14 Mar 2005 19:17    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | denlog wrote: | 	 		  | а че такое  softice32  ? | 	  
 
Хы!.. А это отладчик такой. Пока он тебе не нужен. Вот как начнёшь разбираться, как в БЭСТе защита через ключ работает и как его заставить работать без ключа - тогда точно пригодится.   А пока... itman прикалывается. _________________ С уважением, Олег Р. Смирн | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		 |