Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) ВопросЫ по использованию класса AccountsRecordset (число прочтений - 7115 )
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
ВопросЫ по использованию класса AccountsRecordset
20. Мая 2010 :: 16:53
Печать  
Во-первых, спасибо за такой нужный класс.
Во-вторых и во всех последующих, сразу скажу, что в 1срр пока ламер, потому не судите строго.
В простейшем тексте запроса

Код
Выбрать все
ARS = СоздатьОбъект("AccountsRecordset");
ARS.УстановитьТекстовыйПараметр("НачПериода"  ,ВыбНачПериода);
ARS.УстановитьТекстовыйПараметр("ГруппаСчетов",ВыбГруппаСчетов);

Текст = "
	|SELECT
	| BasicAP.Счет [Счет $Счет.Основной]
	| BasicAP.Валюта [Валюта $Справочник.Валюты]
	| BasicAP.Субконто1 [Субконто1 $Субконто]
	| BasicAP.Субконто1_вид
	| BasicAP.Субконто2 [Субконто2 $Субконто]
	| BasicAP.Субконто2_вид
	| BasicAP.СуммаОстатокДт
	| BasicAP.СуммаОстатокКт
	| BasicAP.ВалютнаяСуммаОстатокДт
	| BasicAP.ВалютнаяСуммаОстатокКт
	| BasicAP.КоличествоОстатокДт
	| BasicAP.КоличествоОстатокКт
	|FROM $БИОстатки.Основной(:НачПериода,,(Счет = :ГруппаСчетов)) AS BasicAP";  






выдает такое вот



Код
Выбрать все
ТЗ = ARS.ВыполнитьИнструкцию(Текст);
{K:\ZZZ\EXTFORMS\ОДР_КОНС_SQL.ERT(60)}: AccountsRecordset::СформироватьОшибку(Строка Ошибка=State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 4: Incorrect syntax near 'BasicAP'.) : State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 4: Incorrect syntax near 'BasicAP'.
вм.СформироватьОшибку(Ошибка);
{K:\zzz\AccountsRecordsetV3.ert(57) }
 


« Последняя редакция: 27. Мая 2010 :: 10:12 - Sekator »  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #1 - 20. Мая 2010 :: 17:04
Печать  
Раздели переменные ","
  
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #2 - 20. Мая 2010 :: 17:05
Печать  
Выражение SELECT Цитата:
< select_list >
Столбцы, выбираемые для результирующего набора. Список выбора представляет собой серию выражений, отделяемых запятыми.


Sekator писал(а) 20. Мая 2010 :: 16:53:
Line 4: Incorrect syntax near 'BasicAP'.

Ожидалась запятая, нашлось 'BasicAP'..  Круглые глаза
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #3 - 21. Мая 2010 :: 10:05
Печать  
Спасибо, вот уж невнимательность.  Ужас
  
Наверх
 
IP записан
 
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #4 - 26. Мая 2010 :: 15:26
Печать  
Подскажите, можно ли этот класс использовать при подключении по ОЛЕ. Пробую метод БИОбороты. В нем есть поле "соединение". Сначала думал, что туда можно запихнуть переменную ОЛЕ подключения, но не вышло. Как мне правильно поступить?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #5 - 26. Мая 2010 :: 16:37
Печать  
Покажи обработку, в которой у тебя не выходит.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #6 - 27. Мая 2010 :: 09:36
Печать  
В таком вот варианте не работает, ругается на синтаксис -  ". Типа кавычки не там...
Неужели снова с запятыми намутил, перепроверял много раз.
Если убираю из текста запроса переменную :ОЛЕ, то все нормально.


Код
Выбрать все
//*******************************************
Перем ТекБ;

Функция ОборотыБИ()

	ТЗ = СоздатьОбъект("ТаблицаЗначений");
	ТЗ.Очистить();

	ARS = СоздатьОбъект("AccountsRecordset");

	ARS.УстановитьТекстовыйПараметр("НачПериода"  ,Дата1);
	ARS.УстановитьТекстовыйПараметр("КонПериода"  ,Дата2);
	ARS.УстановитьТекстовыйПараметр("запрВыбСч1",Сч);
	ARS.УстановитьТекстовыйПараметр("запрВыбСч2",КорСч);
	ARS.УстановитьТекстовыйПараметр("ОЛЕ",?(ТекБ=0,"",ТекБ));


	// обороты
	Текст = "
	|SELECT
	|  Счет	[запрВыбСч1 $Счет.Основной]
	|, КорСчет   [запрВыбСч2 $Счет.Основной]
	|, СуммаОборотДт
	|, СуммаОборотКт
	|, Субконто1 [Субконто1 $Субконто]
	|, Субконто1_вид
	|, КорСубконто1 [КорСубконто1 $Субконто]
	|, КорСубконто1_вид
	|FROM
	|$БИОбороты.Основной(:НачПериода,:КонПериода ~,
	|,:ОЛЕ
	|,(Счет	 = :запрВыбСч1)
	|,
	|,(КорСчет    = :запрВыбСч2))
	|AS BasicAP"
	;


		ТЗ = ARS.ВыполнитьИнструкцию(Текст);
		ИтОб = ТЗ.Итог(3) - ТЗ.Итог(4);
		Возврат ИтОб;


КонецФункции	// ОборотыБИ

Процедура Сформировать()


	ТекБ = СоздатьОбъект("V77.Application");
			Открыта = ТекБ.Initialize(ТекБ.RMTrade, "/d L:\TEST_DB /N юзер /P 111", "NO_SPLASH_SHOW");
			Если Открыта = 0 Тогда
				Сообщить("База не была открыта...");
				Возврат;
			КонецЕсли;

			Сообщить(Строка(ОборотыБИ()));
			ТекБ = 0;

КонецПроцедуры 




Лог ошибки:

Код
Выбрать все
ТЗ = ARS.ВыполнитьИнструкцию(Текст);
{K:\ZZZ\EXTFORMS\ОЛЕ.ERT(39)}:
AccountsRecordset::СформироватьОшибку
(Строка Ошибка=
State 42000, native 170,
message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 70: Incorrect syntax near ''.)
: State 42000, native 170,
message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 70: Incorrect syntax near ''.
вм.СформироватьОшибку(Ошибка);
{K:\zzz\AccountsRecordsetV3.ert(57) } 


  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Вопрос по использованию класса AccountsRecordset
Ответ #7 - 27. Мая 2010 :: 09:45
Печать  
Дык в тексте запроса у тебя :ОЛЕОЛЕ
а присваиваешь текстовому параметру ОЛЕ
  
Наверх
 
IP записан
 
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #8 - 27. Мая 2010 :: 09:55
Печать  
Не то скопировал, случайно при изменениях задвоил ))
Тестил именно с переменной :ОЛЕ
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ВопросЫ по использованию класса AccountsRecordset
Ответ #9 - 27. Мая 2010 :: 10:14
Печать  
Дык а в переменной ОЛЕ у тебя что?
  
Наверх
 
IP записан
 
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
Re: ВопросЫ по использованию класса AccountsRecordset
Ответ #10 - 27. Мая 2010 :: 10:36
Печать  
ARS.УстановитьТекстовыйПараметр("ОЛЕ",?(ТекБ=0,"",ТекБ));
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ВопросЫ по использованию класса AccountsRecordset
Ответ #11 - 27. Мая 2010 :: 10:51
Печать  
Да нет.. в ТекБ что ?
  
Наверх
 
IP записан
 
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
Re: ВопросЫ по использованию класса AccountsRecordset
Ответ #12 - 27. Мая 2010 :: 10:58
Печать  
ТекБ = СоздатьОбъект("V77.Application");
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: ВопросЫ по использованию класса AccountsRecordset
Ответ #13 - 27. Мая 2010 :: 11:10
Печать  
да уж.. а какое отношение оле-объект имеет к классу ?
  
Наверх
 
IP записан
 
Sekator
Junior Member
**
Отсутствует


Не быть умнее, чем ты
есть на самом деле...

Сообщений: 17
Местоположение: Киев
Зарегистрирован: 18. Мая 2010
Пол: Мужской
Re: Вопрос по использованию класса AccountsRecordset
Ответ #14 - 27. Мая 2010 :: 11:26
Печать  
Sekator писал(а) 26. Мая 2010 :: 15:26:
Подскажите, можно ли этот класс использовать при подключении по ОЛЕ. Пробую метод БИОбороты. В нем есть поле "соединение". Сначала думал, что туда можно запихнуть переменную ОЛЕ подключения, но не вышло. Как мне правильно поступить?



Вот с этого-то я и начал.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать