Переключение на Главную Страницу Страницы: 1 2 [3] 4 5 ... 60 ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПрямойЗапрос" (число прочтений - 313087 )
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #30 - 27. Июля 2009 :: 07:44
Печать  
Лично меня такой подход вполне устраивает.
Но есть два вопроса.

ИмяБД, ПутьКБД - имя файла и путь к файлу?

Каким образом тогда нужно будет указывать источник данных?
Сейчас так: NBase.[ekn_gaz_main], где NBase - алиас подключенной БД, ekn_gaz_main - идентификатор таблицы.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #31 - 27. Июля 2009 :: 11:37
Печать  
nvg писал(а) 27. Июля 2009 :: 07:44:
Лично меня такой подход вполне устраивает.
Но есть два вопроса.

ИмяБД, ПутьКБД - имя файла и путь к файлу?

Каким образом тогда нужно будет указывать источник данных?
Сейчас так: NBase.[ekn_gaz_main], где NBase - алиас подключенной БД, ekn_gaz_main - идентификатор таблицы.


Покажи пример открытия базы и запроса к ней... плиз.
Особенно интересен вопрос открытия нескольких баз и запросов к ним.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #32 - 27. Июля 2009 :: 12:30
Печать  
Там все как обычно:
ПрисоединитьБазу
Код
Выбрать все
ATTACH DataBase _ПутьКБазе_ as АлиасБазы 


а потом к ней обращаемся по алиасу как тебе показали выше:
Код
Выбрать все
SELECT *
FROM АлиасБазы.[ИмяТаблицы] 


, где АлиасБазы - алиас подключенной БД, ИмяТаблицы - идентификатор таблицы в подключенной Базе.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #33 - 27. Июля 2009 :: 13:00
Печать  
Слушай, а что счас мешает работать с приатаченными базами? (самому попробовать конечно не мешает... Улыбка)

Я то думал интересует работа с базами которые "Открыть(ПутьКБД)".  Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #34 - 27. Июля 2009 :: 14:37
Печать  
vandalsvq писал(а) 27. Июля 2009 :: 13:00:
Слушай, а что счас мешает работать с приатаченными базами?


C помощью этого класса не пробовал еще. Сейчас используется примерно так:
Код
Выбрать все
SELECT
	Товары.ID [Товар :Справочник.Товары],
	ЕКН_ГАЗ.local_code
FROM
	ЕКН_ГАЗ.[ekn_Link_Code] AS ЕКН_ГАЗ LEFT JOIN
	Справочник_Товары AS Товары ON
	(
	Товары.КаталожныйНомер = ЕКН_ГАЗ.local_code
	) 



Как парсер обработает путь к полю данных ЕКН_ГАЗ.[ekn_Link_Code].local_code, где ЕКН_ГАЗ - алиас внешней БД, ekn_Link_Code - имя таблицы, local_code - поле таблицы?
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #35 - 27. Июля 2009 :: 15:32
Печать  
2 nvg
На счет источников данных:
- как писал в документации источников бывает 3: таблицы базы данных, виртуальные таблицы, временные таблицы. Обработка парсером таблиц происходит только для таблиц базы данных и временных таблиц (чтобы убрать # для SQLite). Т.о. если это не таблицы 1С (см. список в документации) то они не будут обрабатываться никоим образом. Т.е. по идее должны остаться в первозданном виде.
- на счет реквизитов. Обработке подлежат только представления вида $ИмяТаблицы.ИмяРеквизита. А поскольку обращения к таблице идет без использования алиаса по идее парсер его проигнорирует и оставит как есть.

В общем на предмет приаттаченных баз я проблем не вижу. А функционал описанный мной, это для работы с базами через "Открыть()" объекта SQLiteBase.

В общем если реальность не соответствует описанному выше, тогда нужен пример, если нет то нет  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #36 - 27. Июля 2009 :: 20:44
Печать  
vandalsvq писал(а) 27. Июля 2009 :: 15:32:
В общем если реальность не соответствует описанному выше, тогда нужен пример, если нет то нет  Подмигивание


Понял, спасибо за детальное пояснение по поводу работы парсера.
Появится окно свободное - обязательно проверю и отпишусь.
Просто документацию и сам класс просмотрел достаточно бегло, к сожалению. Идея понравилась очень, но на эксперименты в этом плане времени недостаточно было...

vandalsvq писал(а) 27. Июля 2009 :: 15:32:
А функционал описанный мной, это для работы с базами через "Открыть()" объекта SQLiteBase.


Может, я не совсем верно понял, но мне представляется, что метод:

vandalsvq писал(а) 26. Июля 2009 :: 14:15:
1. Метод ДобавитьБазуДанныхSQLite(ИмяБД,ПутьКБД)
Добавляет информацию о базе данных для возможности использования в КОП. При отсутствии данной БД она создается.

присоединяет (ATTACH) дополнительную бд к существующей для возможности использования в запросах.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #37 - 28. Июля 2009 :: 04:08
Печать  
Так... для SQLite вопрос ясен. До конца недели добью вопрос с SQL и попробую в классе добавить соответствующий функционал.

В общем я добавил тестово два метода
- ПрисоединитьБазуДанных(ИмяБД,ПутьКБД,ПутьКЛогФайлу)
ИмяБД - идентификатор для дальнейшего использования
ПутьКБД - путь к файлу db для SQLite, или путь к файлу MDF для SQL
ПутьКЛогФайлу - путь к файлу ldf для SQL. Для SQLite ничего не прописывается
- ОтключитьБазуДанных(ИмяБД)
ИмяБД - идентификатор базы данных

Кому хочется попробуйте. Подмигивание

Пы.сы. я попробовал поработать на DBF с db файлами (SQLite) проблем не возникло. Счас тестировать SQL некогда поэтому погоняю позже.
« Последняя редакция: 28. Июля 2009 :: 05:10 - vandalsvq »  

1Cv7_query_test.rar ( 54 KB | Загрузки )

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
nvg
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 72
Местоположение: Киев
Зарегистрирован: 14. Сентября 2006
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #38 - 28. Июля 2009 :: 07:37
Печать  
Спасибо, обязательно попробую, о результатах напишу.
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #39 - 28. Июля 2009 :: 08:37
Печать  
nvg писал(а) 28. Июля 2009 :: 07:37:
Спасибо, обязательно попробую, о результатах напишу.


Проверь если не сложно. Тем более у меня боевых условий не много Печаль.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #40 - 28. Июля 2009 :: 14:18
Печать  
Найдена ошибка при формировании ВТ по границам документов. Исправлена сегодня вечером будет обновление.
А еще всплыла давнешняя проблема когда метод ПолучитьДатуВремяИдДок у объекта MetaDataWork возвращает только 14 символов Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #41 - 29. Июля 2009 :: 10:21
Печать  
Выложена новая версия 1.02.003 от 29.07.09 г.
Изменения можно скачать в голове, историю почитать в документации.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #42 - 29. Июля 2009 :: 18:58
Печать  
Хотелось бы чтобы отозвались те кто реально пользовался или планирует или пользуется данным КОП. Интересно где и как вы его применяете.

Если таковые конечно есть
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Donat
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 152
Зарегистрирован: 29. Мая 2006
Re: Класс "ПрямойЗапрос"
Ответ #43 - 29. Июля 2009 :: 20:34
Печать  
Я начал пользоваться, переписываю все отчеты какие писал раньше на SQLite, правда до SQL баз ещё руки не дошли, пока только DBF.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Класс "ПрямойЗапрос"
Ответ #44 - 30. Июля 2009 :: 02:55
Печать  
Donat писал(а) 29. Июля 2009 :: 20:34:
Я начал пользоваться, переписываю все отчеты какие писал раньше на SQLite, правда до SQL баз ещё руки не дошли, пока только DBF.

А на сколько актуально наличие (а сейчас отсутствие) ВТ по бухгалтерии?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 5 ... 60
ОтправитьПечать