| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| k_serg 
 
 
 Joined: 30 May 2002
 Posts: 5
 
 
 
 
 | 
			
				|  Posted: 30 May 2002 12:32    Post subject: |   |  
				| 
 |  
				| Есть необходимость написать внешнюю прогу для БЭСТ. Но мне сказали, что могут рухнуть индексы в ADS. Кто знает решение, подскажите пожалуйст |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| general 
 
  
 Joined: 14 Jan 2002
 Posts: 276
 Location: Клешнин Антон Александрович
 
 
 
 | 
			
				|  Posted: 30 May 2002 12:46    Post subject: |   |  
				| 
 |  
				| Есть Clipper - к нему есть библиотеки для работы с индексами. Либо если лень изучать Clipper (хотя почти никакой разницы), можешь на VisualFox' |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| k_serg 
 
 
 Joined: 30 May 2002
 Posts: 5
 
 
 
 
 | 
			
				|  Posted: 31 May 2002 03:44    Post subject: |   |  
				| 
 |  
				| А VisualFox не рушит индексы ADS? 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| general 
 
  
 Joined: 14 Jan 2002
 Posts: 276
 Location: Клешнин Антон Александрович
 
 
 
 | 
			
				|  Posted: 31 May 2002 09:02    Post subject: |   |  
				| 
 |  
				| Для него тоже есть библиотеки |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| ksenya 
 
 
 Joined: 01 Feb 2002
 Posts: 112
 
 
 
 
 | 
			
				|  Posted: 21 Jun 2002 17:48    Post subject: |   |  
				| 
 |  
				|  	  | Quote: |  	  | On 2002-05-31 09:02, general wrote:
 Для него тоже есть библиотеки
 
 | 
 Подскажите, какие?
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| general 
 
  
 Joined: 14 Jan 2002
 Posts: 276
 Location: Клешнин Антон Александрович
 
 
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| k_serg 
 
 
 Joined: 30 May 2002
 Posts: 5
 
 
 
 
 | 
			
				|  Posted: 04 Apr 2003 11:55    Post subject: |   |  
				| 
 |  
				| Господа! Как работает режим "Формирование отчетов", если он написан на FP2.6 for DOS? И при этом не рушатся индексы. Может здесь какая-то хитрость?
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Алексей З. 
 
  
 Joined: 08 Jan 2003
 Posts: 344
 Location: Зызин Алексей
 Occupation: ЗАО "Ренова", программист
 Interests: Москва
 
 | 
			
				|  Posted: 04 Apr 2003 12:03    Post subject: |   |  
				| 
 |  
				|  	  | k_serg wrote: |  	  | Господа! Как работает режим "Формирование отчетов", если он написан на FP2.6 for DOS? И при этом не рушатся индексы. Может здесь какая-то хитрость?
 | 
 А с чего бы им рушится?!
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| masson 
 
 
 Joined: 02 Apr 2003
 Posts: 12
 
 
 
 
 | 
			
				|  Posted: 04 Apr 2003 12:27    Post subject: |   |  
				| 
 |  
				|  	  | k_serg wrote: |  	  | Господа! Как работает режим "Формирование отчетов", если он написан на FP2.6 for DOS? И при этом не рушатся индексы. Может здесь какая-то хитрость?
 | 
 
 Fox без проблем умеет читать БЕСТовые индексы, проблемы возникают при корректировке индексируемых БЭСТом полей или добавлении записей в dbf-файлы. Я чуть ниже зарядил на эту тему топик, но что-то пока никто не отвечает
  |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| yermak 
 
  
 Joined: 01 Aug 2002
 Posts: 45
 Location: Ермак Е.Ю.
 Occupation: ООО "Автоматизированные системы управления"
 Interests: Владивосток
 
 | 
			
				|  Posted: 06 Apr 2003 03:54    Post subject: |   |  
				| 
 |  
				| Фокс (любой) нормально работает с индексами БЭСТ4 клиент-сервер. Только открывать таблицы нужно так
 USE mdocm shared noupdate in 0
 
 Главное тут shared и NoUpdate. Сам написал несколько программ.
 Единственный косяк - это при работе с ADS под NT  не получается насильно установить кодовую страницу, но там и через ODBC можно юсать данные.
 _________________
 С уважением, Ермак Евгений
 г.Владивосток
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Алексей З. 
 
  
 Joined: 08 Jan 2003
 Posts: 344
 Location: Зызин Алексей
 Occupation: ЗАО "Ренова", программист
 Interests: Москва
 
 | 
			
				|  Posted: 07 Apr 2003 11:43    Post subject: |   |  
				| 
 |  
				| Не совсем согласен с предыдущим оратором. Я работаю с БЭСТом более 6 лет. Всегда "обслуживал" его Фоксом. Сначала делал обработки в 2.6, потом в 5-ке, сейчас в 7-ке. НИКОГДА не было сложностей с работой над БЭСТовскими таблицами. При открытии таблицы, по ситуации, можно открывать и SHARED и EXCLUSIVE. И НИКОГДА не открываю  Для таких случаев я делаю ПРЕДСТАВЛЕНИЯ, что гораздо удобнее и безопаснее. Но чтобы реально работать с таблицами - без EXCLUSIVE не обойтись!
 Один только ньюанс: когда Вы ВПЕРВЫЕ открываете БЭСТовскую таблицу через DATA SESSION или из COMMAND обязательно указываете DOS-кодировку. При повторном открытии - таблица автоматически откроется в DOS-кодировке. (Во всяком случае 5-ый и 7-ой - запоминают кодировки прекрасно, а 2.6 - сам досовский)
 По поводу индексов - могу сказать следующее. Дело в том, что как правило изменяя данные в одной таблицы НЕОБХОДИМО соответственно изменить данные в одной или нескольких других СВЯЗАННЫХ с ней таблицах. Например, таблицы с документами, по которым делаются проводки, тесно связаны с книгой операций через номер операции. Причем документу могут соответствовать как одна проводка, так и несколько. Т.е. один документ - множество (>=1) проводок. Это самый простой пример. Другие таблицы связываются между собой либо через несколько полей либо опосредованно через 3-ю таблицу. Короче, это классика реляционных баз.
 Поддержка целостности данных в БЭСТе идет на уровне ввода, редактирования  и удаления данных из самого БЭСТа. Если перед тем как вносить изменения в какую-либо таблицу Вы не учитываете её связи с другими таблицами, то потом Вы хоть обреиндексируйтесь - будет ерунда, хотя индексы по каждой отдельной таблице отстроенны правильно! Будет казаться, что индексы слетели.
 А для того, чтобы корректно работать ТЩАТЕЛЬНО изучите APDX-NN.txt и BASES_NN.dbf в каждом нужном Вам АРМе (в каждом АРМе значение NN - принимает своё значение).
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| masson 
 
 
 Joined: 02 Apr 2003
 Posts: 12
 
 
 
 
 | 
			
				|  Posted: 07 Apr 2003 15:11    Post subject: |   |  
				| 
 |  
				|  	  | Алексей З. wrote: |  	  | Я работаю с БЭСТом более 6 лет. Всегда "обслуживал" его Фоксом. | 
 
 Попробуй завести фоксом запись в Sclad\MPrim.dbf (через APPEND BLANK - GATHER) либо просто отредактируй поле Name руками. У MPrim нет никаких связей, но индексы полетят, это увидишь в БЭСТе (если вывод всего справочника больше чем размера экрана)
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Алексей З. 
 
  
 Joined: 08 Jan 2003
 Posts: 344
 Location: Зызин Алексей
 Occupation: ЗАО "Ренова", программист
 Interests: Москва
 
 | 
			
				|  Posted: 07 Apr 2003 15:25    Post subject: |   |  
				| 
 |  
				|  	  | masson wrote: |  	  | ... У MPrim нет никаких связей... | 
 Это не так. Смотри запись №108 в файле "... \sclad\bases_03.dbf". Сразу не скажу с какими файлами он "пересекается" и по какому индексу (простому или составному). Но если о нем имеется там информация, то думаю - неспроста.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| yermak 
 
  
 Joined: 01 Aug 2002
 Posts: 45
 Location: Ермак Е.Ю.
 Occupation: ООО "Автоматизированные системы управления"
 Interests: Владивосток
 
 | 
			
				|  Posted: 07 Apr 2003 15:27    Post subject: |   |  
				| 
 |  
				| То: Алексей З. Нельзя таблицы открывать фоксом в монопольном режиме - их тогда сам ADS не сможет открыть пока вы эту таблицу юсаете. Если Нужно просто поправить базы то открывать можно как угодно, тока потом не забудь переиндекить, а если же нужно открыть таблицу во время ее юсанья БЭСТом, то только с SHARED NOUPDATE. Иначе не откроется.
 На счет установки кодовой страницы я написал в свое время dll кот. ставит кодовую страницу на уже открытые БЭСТом таблицы, можно ее взять на http://nsvisual.com/fox2/sol/index.php?act=view&id=84
 _________________
 С уважением, Ермак Евгений
 г.Владивосток
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Алексей З. 
 
  
 Joined: 08 Jan 2003
 Posts: 344
 Location: Зызин Алексей
 Occupation: ЗАО "Ренова", программист
 Interests: Москва
 
 | 
			
				|  Posted: 07 Apr 2003 15:49    Post subject: |   |  
				| 
 |  
				| Как я говорил выше: если мне нужно взять данные из БЭСТа для просмотра или какой-то дальнейшей обработки (например, сделать хитрозавёрнутый отчёт для экономистов) я запускаю заранее подготовленные ПРЕДСТАВЛЕНИЯ, а не таблицы. Представления не блокируют ни таблицы, ни записи, ни заголовки таблиц. И их я могу всегда динамически обновлять. Но если производятся какие-либо исправления в самих таблицах - в этом случае я их открываю ИСКЛЮЧИТЕЛЬНО ЭКСКЛЮЗИВНО!! Естественно, я предварительно выгоняю народ из "ремонтируемой" базы. Иначе - нельзя. Если этого не делать и позволить пользователям работать одновременно с моим ремонтом, то СЛЁТ ИНДЕКСОВ - ГАРАНТИРОВАН. Не зависимо от того, насколько корректно ты работаешь с самими таблицами.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |