| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		vla
 
 
  Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
  | 
		
			
				 Posted: 01 Nov 2007 12:14    Post subject: Несколько справочников в InitList | 
				     | 
			 
			
				
  | 
			 
			
				Не могу найти описание использования нескольких справочников в InitList. 
 
Есть пример такого использования в теме "Урок 8. Размещение двух InitList на одном экране":
 
 	  | Code: | 	 		  | aRef:={,,,"CARDSPRID",,,,,"PARTNERS"} | 	  
 
, но как сделано  - непонятно. 
 
В описании параметра aRef для InitList есть ссылка на некий S_REFER (наверное, .CH), но тоже не могу найти. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Дениска
 
 
  Joined: 26 Feb 2002 Posts: 649
 
 
 
  | 
		
			
				 Posted: 01 Nov 2007 12:31    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				| Цель, задача какая? Где надо использовать несколько справочников? | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		nordk
 
 
  Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
  | 
		
			
				 Posted: 01 Nov 2007 12:45    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Вы сами справочники не умеете создавать ?
 
Я правильно понял ?
 
Если да - то Вам надо посмотреть функцию MakeRefer() | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		vla
 
 
  Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
  | 
		
			
				 Posted: 01 Nov 2007 12:46    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Угу. Задача такая:
 
Ввод дополнительных характеристик партнеров. Например, первая хактеристика - тип партнера (выбор из справочника типов), вторая - подтип партнера (выбор из справочника подтипов), третья - торговый представитель (выбор из справочника торговых представителей).
 
Ну и так далее.
 
Хотел сделать как попроще, через Dialog - а там, если справочник есть, то нельзя массив вопросов сделать    
 
Вот и приходится через InitList.
 
А может, изобретаю велосипед, и что-нибудь похожее уже есть ... | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		vla
 
 
  Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
  | 
		
			
				 Posted: 01 Nov 2007 13:18    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Константину:
 
Не, справочник (MakeRefer) я создавать уже научился. 
 
Вопросы, конечно, есть, но создать, вызвать из Dialog() и вернуть значение уже получается.
 
 
А вот сделать с помощью InitList экран как в Dialog с массивом вопросов:
 
 
строка1: Тип партнера:       [            ]
 
строка2: Вид партнера:      [            ]
 
строка3: Тор.представитель[            ]
 
 
и выбрать это из разных справочников - не пойму как. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Дениска
 
 
  Joined: 26 Feb 2002 Posts: 649
 
 
 
  | 
		
			
				 Posted: 01 Nov 2007 13:59    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vla wrote: | 	 		  
 
А вот сделать с помощью InitList экран как в Dialog с массивом вопросов:
 
 
строка1: Тип партнера:       [            ]
 
строка2: Вид партнера:      [            ]
 
строка3: Тор.представитель[            ]
 
 
 | 	  
 
 
Ввод/редактирование по F4/Enter? Если да, то посмотрите параметр aHeads в InitList | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Дениска
 
 
  Joined: 26 Feb 2002 Posts: 649
 
 
 
  | 
		
			
				 Posted: 01 Nov 2007 14:06    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vla wrote: | 	 		  
 
Хотел сделать как попроще, через Dialog - а там, если справочник есть, то нельзя массив вопросов сделать    
 
 | 	  
 
 
Посмотрите функцию QInput. Если я правильно понимаю, то это аналог функции Dialog. Сам я QInput не использовал.
 
 
P.S. В файле \news\программирование_в_БЭСТ-4.chm у меня раздел про QInput отображается иероглифами   Так что толком ее посмотреть у меня не получается   | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		vla
 
 
  Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
  | 
		
			
				 Posted: 01 Nov 2007 14:10    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Но ведь aHeads в InitList отвечает за описание области ввода, а мне нужно назначить разные справочники для разных элементов aHeads.
 
А это, вроде, параметр aRef ? | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		vla
 
 
  Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
  | 
		
			
				 Posted: 01 Nov 2007 14:20    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Дениска wrote: | 	 		   	  | vla wrote: | 	 		  
 
Хотел сделать как попроще, через Dialog - а там, если справочник есть, то нельзя массив вопросов сделать    
 
 | 	  
 
 
Посмотрите функцию QInput. Если я правильно понимаю, то это аналог функции Dialog. Сам я QInput не использовал.
 
 
P.S. В файле \news\программирование_в_БЭСТ-4.chm у меня раздел про QInput отображается иероглифами   Так что толком ее посмотреть у меня не получается   | 	  
 
 
Угууу, есть такая функция.
 
Только примера использования или описания я не нашел    
 
И там тоже есть параметр aRef - и как в нем определить несколько справочников - вопрос остается.   | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Дениска
 
 
  Joined: 26 Feb 2002 Posts: 649
 
 
 
  | 
		
			
				 Posted: 01 Nov 2007 14:24    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vla wrote: | 	 		  Но ведь aHeads в InitList отвечает за описание области ввода, а мне нужно назначить разные справочники для разных элементов aHeads.
 
А это, вроде, параметр aRef ? | 	  
 
 
Все правильно. Через aHeads (6-й параметр ИнитЛиста) описываете строки ввода, а через aRef (7-й параметр ИнитЛиста) привязывает возможность ввода через справочник в эти строки ввода. aRef это массив, элементы которого определяются через MAKEREFER. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Дениска
 
 
  Joined: 26 Feb 2002 Posts: 649
 
 
 
  | 
		
			
				 Posted: 01 Nov 2007 14:29    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vla wrote: | 	 		   	  | Дениска wrote: | 	 		  
 
Посмотрите функцию QInput. Если я правильно понимаю, то это аналог функции Dialog. Сам я QInput не использовал.
 
 
P.S. В файле \news\программирование_в_БЭСТ-4.chm у меня раздел про QInput отображается иероглифами   Так что толком ее посмотреть у меня не получается   | 	  
 
 
Угууу, есть такая функция.
 
 | 	  
 
 
Если у вас описание функции QInput в хелпе отображается корректно, то выложите, плз, описание сюда или личным сообщением мне пришлите. Я тоже хочу это описание почитать   | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		itman
 
  
  Joined: 05 Apr 2002 Posts: 1247 Location: Ильин Е.Ю. Occupation: Cio Interests: Кинель
  | 
		 | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		itman
 
  
  Joined: 05 Apr 2002 Posts: 1247 Location: Ильин Е.Ю. Occupation: Cio Interests: Кинель
  | 
		
			
				 Posted: 01 Nov 2007 16:57    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | vla wrote: | 	 		  Угу. Задача такая:
 
Ввод дополнительных характеристик партнеров. Например, первая хактеристика - тип партнера (выбор из справочника типов), вторая - подтип партнера (выбор из справочника подтипов), третья - торговый представитель (выбор из справочника торговых представителей).
 
Ну и так далее.
 
 | 	  
 
Ввод значений из собственного реестра? или из справочника партнеров?
 
Если из стандартного справочника может проще нарисовать окошко и к каждому полю привязать свой справочник?
 
типа такого:
 
 	  | Code: | 	 		  
 
 T:=7
 
 l:=7
 
 b:=t+2
 
 R:=67
 
 @ T-1,l-1 CLEAR TO b,R
 
 DISPBOX(T-1,l-1,b,R,2)
 
 @ T+1,l+1 SAY "Торговый агент"
 
 @ T+1,l+17 REFER "spragent" GET cAgent PICTURE "@!s25"
 
 
 READ
 
 | 	 
  | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		vla
 
 
  Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
  | 
		
			
				 Posted: 01 Nov 2007 17:20    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Дениска wrote: | 	 		   	  | vla wrote: | 	 		  Но ведь aHeads в InitList отвечает за описание области ввода, а мне нужно назначить разные справочники для разных элементов aHeads.
 
А это, вроде, параметр aRef ? | 	  
 
 
Все правильно. Через aHeads (6-й параметр ИнитЛиста) описываете строки ввода, а через aRef (7-й параметр ИнитЛиста) привязывает возможность ввода через справочник в эти строки ввода. aRef это массив, элементы которого определяются через MAKEREFER. | 	  
 
 
Ну так вопрос как раз в том и есть - в каком формате в параметре aRef указать для разных строк ввода разные справочники ! | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		vla
 
 
  Joined: 15 Mar 2005 Posts: 60 Location: Гаклин Владимир Ильич Occupation: ООО БэстСиб, консультант Interests: Новосибирск
  | 
		
			
				 Posted: 01 Nov 2007 17:27    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | itman wrote: | 	 		  
 
Ввод значений из собственного реестра? или из справочника партнеров?
 
Если из стандартного справочника может проще нарисовать окошко и к каждому полю привязать свой справочник?
 
типа такого:
 
 	  | Code: | 	 		  
 
 T:=7
 
 l:=7
 
 b:=t+2
 
 R:=67
 
 @ T-1,l-1 CLEAR TO b,R
 
 DISPBOX(T-1,l-1,b,R,2)
 
 @ T+1,l+1 SAY "Торговый агент"
 
 @ T+1,l+17 REFER "spragent" GET cAgent PICTURE "@!s25"
 
 READ
 
 | 	 
  | 	  
 
 
Ввод значений из своих (пользовательских) справочников.
 
И если нетрудно, про приведенный фрагмент можно подробнее ?
 
 @ T-1,l-1 CLEAR TO b,R  //тут чистим место
 
 DISPBOX(T-1,l-1,b,R,2)  //тут рисуем рамку
 
 @ T+1,l+1 SAY "Торговый агент"   //тут пишем в окне название поля
 
 @ T+1,l+17 REFER "spragent" GET cAgent PICTURE "@!s25" //а тут ?
 
 READ   //и это тоже непонятно... | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		 |