Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Execute plan (ДБФ, FoxPro) (число прочтений - 21082 )
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Execute plan (ДБФ, FoxPro)
Ответ #15 - 14. Мая 2008 :: 10:05
Печать  
Nick писал(а) 14. Мая 2008 :: 09:45:
Цитата:
Из отладки вроде народу проще - написал отчет - впихнул в тест - проверил.


Ну так если ты будешь дополнительно  обрабатывать текст запроса ему хуже не будет, зато появится возможность писать текст запроса прямо в обработке


Ну как я буду такое писать в обработке Улыбка -
Код
Выбрать все
SELECT
	PredTablSHETOV.ИДДСчет as [Док_1c_type_Документ_Счет],
	PredTablSHETOV.ДатаДок as ДатаДок,  
	PredTablSHETOV.НомерДок as НомерДок,
	ДокСчет.sp199 as [Клиент_1c_type_Справочник_Контрагенты],
	PredTablSHETOV.Фирма as [Фирма_1c_type_Справочник_Фирмы],
	PredTablSHETOV.Автор as [Автор_1c_type_Справочник_Пользователи],
   ДокСчет.sp3825 as [Склад_1c_type_Справочник_МестаХранения],
	ДокСчет.sp5375 as СуммаВалюта,  

	PredTablSHETOV.СуммаСчетаРуб as СуммаРубли,
	PredTablSHETOV.СуммаОтгрузкиРуб as СуммаОтгрузкиРубли,
	(PredTablSHETOV.СуммаОплатыРуб-PredTablSHETOV.СуммаСнятоСвыписки) as СуммаОплатыРубли,
	PredTablSHETOV.СуммаСнятоСРезерваРуб as СуммаСнятоСРезерваРуб,

	ДокСчет.sp5379 as ДатыОплатыСтр,
	PredTablSHETOV.ДатаОплаты as ДатаОплаты,
	СпрКонтрагенты.Descr as Клиент_Представление

 FROM


 (
SELECT  
		 Жур.IDDoc as ИДДСчет,
        Жур.Date as ДатаДок,
	     Жур.DOCNO as НомерДок,  
	     Жур.sp1005 as Фирма,
	     Жур.sp1006 as Автор,
        TablRash.ДатаОплаты as ДатаОплаты,
       SUM(IIF(ОплатаСчетов.IDDoc=ОплатаСчетов.Счет,(1-ОплатаСчетов.debkred)* ОплатаСчетов.СуммаОтгрузкиРуб,000000000000.00))    AS СуммаСчетаРуб,
       SUM(IIF(ОплатаСчетов.IDDoc<>ОплатаСчетов.Счет,(1-ОплатаСчетов.debkred)* ОплатаСчетов.СуммаОтгрузкиРуб,000000000000.00))   AS СуммаСнятоСРезерваРуб,
       =0),(1-ОплатаСчетов.debkred)* ОплатаСчетов.СуммаОплатыРуб,000000000000.00))   AS СуммаСнятоСвыписки,

       SUM((ОплатаСчетов.debkred) * ОплатаСчетов.СуммаОтгрузкиРуб) AS СуммаОтгрузкиРуб,

       SUM((ОплатаСчетов.debkred) * ОплатаСчетов.СуммаОплатыРуб) AS СуммаОплатыРуб

		FROM
 (SELECT  
     РегОплатаСчетов.IDDoc as IDDoc
    ,РегОплатаСчетов.debkred as debkred
	 ,РегОплатаСчетов.sp4953 as Счет
    ,РегОплатаСчетов.sp4955 as СуммаОтгрузкиРуб
    ,РегОплатаСчетов.sp4956 as СуммаОплатыРуб

	FROM
		ra4950 as РегОплатаСчетов

  WHERE атаСчетов.lineno,4)+STR(РегОплатаСчетов.actno,6)
  BETWEEN  DTOS({d '2008-03-01'})+'                           ' AND
           DTOS({d '2008-03-17'})+'ZZZZZZZZZZZZZZZZZZZZZZZZZZZ'
                
   AND(РегОплатаСчетов.sp4952='     J   ')

  
    AND(РегОплатаСчетов.sp4953<>'     0   ')

 ) as ОплатаСчетов

 LEFT JOIN
	1SJourn as Жур ON Жур.IDDoc = ОплатаСчетов.Счет

 LEFT JOIN
	dh196 as ДокСчет ON ДокСчет.IDDoc = ОплатаСчетов.Счет
 LEFT JOIN

  (
SELECT  
       right(РасходнаяНакладная.sp911,9) as ИДДОснование,
       MIN(РасходнаяНакладная.sp909) as ДатаОплаты

FROM  dh410 as РасходнаяНакладная

WHERE  РасходнаяНакладная.Iddoc BETWEEN  '  555T   ' AND  '  59UV   '

GROUP BY ИДДОснование  

 ) as TablRash
 ON TablRash.ИДДОснование = ОплатаСчетов.Счет
 WHERE                  
   (Жур.Date BETWEEN {d '2008-03-01'} AND {d '2008-05-14'})
  
  
  
AND (TablRash.ДатаОплаты<{d '2008-05-14'} )
 AND ДокСчет.sp5377>ДокСчет.sp5378
  
 GROUP BY ИДДСчет,ДатаДок,НомерДок,Фирма,Автор,ДатаОплаты
) as PredTablSHETOV
  
 LEFT JOIN
	dh196 as ДокСчет ON ДокСчет.IDDoc = PredTablSHETOV.ИДДСчет

 LEFT JOIN sc46 as СпрКонтрагенты ON (СпрКонтрагенты.ID=ДокСчет.sp199)

  
WHERE OV.СуммаСчетаРуб)
AND( OV.СуммаСчетаРуб)OR .00) )
AND( PredTablSHETOV.СуммаСчетаРуб>-PredTablSHETOV.СуммаСнятоСРезерваРуб )
  
AND( (PredTablSHETOV.СуммаОтгрузкиРуб>=PredTablSHETOV.СуммаСчетаРуб)OR (PredTablSHETOV.СуммаОтгрузкиРуб<=000000000000.00) )
 ORDER BY ДатаДок 



и еще десяток параметров задавать.
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #16 - 14. Мая 2008 :: 12:38
Печать  
Кому интересно - сделал простую программку, которая выполняет prg-файлы
использование: ExecVFPScript.exe <ИмяФайлаPRG>

ЗЫ... Нужны VFP9 Run-Time Libraries
  

ExecVFPScript.zip ( 10 KB | Загрузки )
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Execute plan (ДБФ, FoxPro)
Ответ #17 - 14. Мая 2008 :: 12:52
Печать  
Chieftain писал(а) 14. Мая 2008 :: 12:38:
Кому интересно - сделал простую программку, которая выполняет prg-файлы
использование: ExecVFPScript.exe <ИмяФайлаPRG>

ЗЫ... Нужны VFP9 Run-Time Libraries


Супер Улыбка
Там еще и на русском перевод уровня оптимизации)
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #18 - 14. Мая 2008 :: 12:56
Печать  
kiruha писал(а) 14. Мая 2008 :: 12:52:
Chieftain писал(а) 14. Мая 2008 :: 12:38:
Кому интересно - сделал простую программку, которая выполняет prg-файлы
использование: ExecVFPScript.exe <ИмяФайлаPRG>

ЗЫ... Нужны VFP9 Run-Time Libraries


Супер Улыбка
Там еще и на русском перевод уровня оптимизации)


Не поверишь - кода на 2 строчки)))
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Execute plan (ДБФ, FoxPro)
Ответ #19 - 14. Мая 2008 :: 13:00
Печать  
Chieftain писал(а) 14. Мая 2008 :: 12:56:
kiruha писал(а) 14. Мая 2008 :: 12:52:
Chieftain писал(а) 14. Мая 2008 :: 12:38:
Кому интересно - сделал простую программку, которая выполняет prg-файлы
использование: ExecVFPScript.exe <ИмяФайлаPRG>

ЗЫ... Нужны VFP9 Run-Time Libraries


Супер Улыбка
Там еще и на русском перевод уровня оптимизации)


Не поверишь - кода на 2 строчки)))



Тут еще открываются возможности использования других процедур, неподдерживаемых
в OLEDB - например соединения с SQL Server и др. ...
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #20 - 14. Мая 2008 :: 13:02
Печать  
kiruha писал(а) 14. Мая 2008 :: 13:00:
Chieftain писал(а) 14. Мая 2008 :: 12:56:
kiruha писал(а) 14. Мая 2008 :: 12:52:
Chieftain писал(а) 14. Мая 2008 :: 12:38:
Кому интересно - сделал простую программку, которая выполняет prg-файлы
использование: ExecVFPScript.exe <ИмяФайлаPRG>

ЗЫ... Нужны VFP9 Run-Time Libraries


Супер Улыбка
Там еще и на русском перевод уровня оптимизации)


Не поверишь - кода на 2 строчки)))



Тут еще открываются возможности использования других процедур, неподдерживаемых
в OLEDB - например соединения с SQL Server и др. ...


Тока насчет ограничений языка я не знаю...

А вся программка:
Код
Выбрать все
PARAMETERS FileName
_Screen.Caption="Выполнение скриптов VFP"
Execscript(filetostr(FileName)) 

  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #21 - 14. Мая 2008 :: 13:30
Печать  
Работает!!! Круто! Спасибо всем!  Очень довольный
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Execute plan (ДБФ, FoxPro)
Ответ #22 - 14. Мая 2008 :: 13:40
Печать  
JohnyDeath писал(а) 14. Мая 2008 :: 13:30:
Работает!!! Круто! Спасибо всем!  Очень довольный


А библиотеки какие подключаешь?
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #23 - 14. Мая 2008 :: 13:41
Печать  
kiruha писал(а) 14. Мая 2008 :: 13:40:
JohnyDeath писал(а) 14. Мая 2008 :: 13:30:
Работает!!! Круто! Спасибо всем!  Очень довольный


А библиотеки какие подключаешь?

Вроде достаточно vfp9r.dll и vfp9rrus.dll
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Execute plan (ДБФ, FoxPro)
Ответ #24 - 14. Мая 2008 :: 13:53
Печать  
Chieftain писал(а) 14. Мая 2008 :: 13:41:
kiruha писал(а) 14. Мая 2008 :: 13:40:
JohnyDeath писал(а) 14. Мая 2008 :: 13:30:
Работает!!! Круто! Спасибо всем!  Очень довольный


А библиотеки какие подключаешь?

Вроде достаточно vfp9r.dll и vfp9rrus.dll


Они зашиты в exe ?
Вообщем как тем, кто вообще не устанавливал fox?
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #25 - 14. Мая 2008 :: 14:01
Печать  
kiruha писал(а) 14. Мая 2008 :: 13:53:
Они зашиты в exe ?
Вообщем как тем, кто вообще не устанавливал fox?

Ну пусть качают. если искать лень http://It-Chieftain.narod.ru/Files/VFP9RTL.rar
  
Наверх
ICQ  
IP записан
 
PVR
God Member
*****
Отсутствует



Сообщений: 622
Зарегистрирован: 19. Ноября 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #26 - 14. Мая 2008 :: 16:02
Печать  
Обалдеть Просто нет слов Очень довольный
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #27 - 14. Мая 2008 :: 18:07
Печать  
Подведем итог для тех, у кого не установлен FoxPro:
1. Качаем необходимые библиотеки (их всего две) и экзешник, любезно предоставленные нам Chieftain'ом
2. Распаковываем всё это добро в один каталог.
3. Ассоциируем *.prg файлы со скаченным в п.1 экзешником.
4. Качаем из заглавного поста обработку kiruh'и и радуемся жизни!
Улыбка
  
Наверх
 
IP записан
 
Chieftain
Senior Member
****
Отсутствует


___

Сообщений: 498
Местоположение: Тула
Зарегистрирован: 15. Февраля 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #28 - 15. Мая 2008 :: 21:36
Печать  
Тут вот еще какая мысля появилась...
В ветке http://www.1cpp.ru/forum/YaBB.pl?num=1183553285/23#23 было небольшое обсуждение ХП для ДБФ steban рассказывал про хранение их в DBC...
Так вот сделал файлик следующего содержания
Код
Выбрать все
CREATE DATABASE 1Cv7
OPEN DATABASE 1Cv7
APPEND PROCEDURES FROM 1Cv7.PRG
SELECT AddOne(IsFolder),* FROM SC854 


И выполнил егео через вышеуказанный экзешник. В результате создалась база, в которой существуют ХП из "1Cv7.PRG"

Тока MODIFY DATABASE, MODIFY PROCEDURE и еже с ними отрабатываться не хотят

ЗЫ... надо бы еще поковырять - что можно будет достать оттуда.
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Execute plan (ДБФ, FoxPro)
Ответ #29 - 16. Мая 2008 :: 01:16
Печать  
Цитата:
Тока MODIFY DATABASE, MODIFY PROCEDURE и еже с ними отрабатываться не хотят


Это отрабатывает только в самом FoxPro. Вообще говоря файл dbc это обычная dbf таблица. И данные в ней можно редактировать через insert, update... Нужно только найти описание формата
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать