Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Не могу получить IDDoc из регистра (число прочтений - 4581 )
uza
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 1
Зарегистрирован: 25. Июня 2007
Не могу получить IDDoc из регистра
03. Сентября 2007 :: 17:28
Печать  
Более двух часов копал форум, но ответа так и не нашел.
Вот такой запрос выполняется:
Код
Выбрать все
 |SELECT
		|	Рег.Фирма	AS [Фирма $Справочник.Фирмы],
		|	Рег.Договор	AS [Договор $Справочник.Договоры],
		|	Рег.КредДокумент	AS [КредДокумент $Документ],
		|	Рег.СуммаРубПриход AS Приход,
		|	Рег.СуммаРубРасход AS Расход,
		|	Спр.ID	AS [Договор_ $Справочник.Договоры],
		|   Спр.ParentExt	AS [Ктр $Справочник.Контрагенты]
		|FROM
		|	$РегистрОбороты.Покупатели(:НачДата~,:КонДата~,,) AS Рег
		|INNER JOIN
		|	$Справочник.Договоры AS Спр ON Спр.ID = Рег.Договор
		|WHERE
		|	Рег.Договор IN ("+ЗапросСКЛ_НаборДоговоров+")
		|
		|";
 



Где ЗапросСКЛ_НаборДоговоров =
Код
Выбрать все
	|SELECT
	|     Спр.ID AS [Дог $Справочник.Договоры]
	|FROM
	|     $Справочник.Договоры AS Спр
	|WHERE
	|     Спр.ParentExt = :ВыбКтр
	|
	|"; 


Но надо еще вытянуть и документ, который движение это сделал.
Делаю так:
Код
Выбрать все
|SELECT
|	Рег.IDDoc		AS [Док AS $Документ],
|	Рег.Фирма	AS [Фирма $Справочник.Фирмы],
|	Рег.Договор				AS [Договор $Справочник.Договоры],
|	Рег.КредДокумент	AS [КредДокумент $Документ],
|	Рег.СуммаРубПриход AS Приход,
|	Рег.СуммаРубРасход  AS Расход,
|	Спр.ID	AS [Договор_ $Справочник.Договоры],
|   Спр.ParentExt	AS [Ктр $Справочник.Контрагенты]
|FROM
|	$РегистрОбороты.Покупатели(:НачДата~,:КонДата~,,) AS Рег
|INNER JOIN
|	$Справочник.Договоры AS Спр ON Спр.ID = Рег.Договор
|WHERE
|	Рег.Договор IN ("+ЗапросСКЛ_НаборДоговоров+")
|
|"; 


И вылазиит ошибка State 42000, native 170, message [Microsoft][ODBC SQL Server Driver][SQL Server]Line 12: Incorrect syntax near ','.

Подскажите люди добрые, чего мои кривые рученки не так сделал то
  
Наверх
 
IP записан
 
DmitrO
1c++ power user
Отсутствует


ex developer

Сообщений: 579
Местоположение: г. Киров
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #1 - 04. Сентября 2007 :: 04:41
Печать  
Ошибки:
1)в ВТ РегистрОбороты нет поля IDDoc, кроме того типизация этого поля описана не по формату (перед типизирующим именем нельзя ставить AS);
2)подозрение на неправильное применение модификатора к параметру НачДата;
3)условие по измерению Договор эффективнее применять внутри ВТ;
4)типизирующий алиас в подзапросе ЗапросСКЛ_НаборДоговоров не обязателен;
5)подозрение на попытку недопустимой (не полной) типизации поля Дог.
  
Наверх
ICQ  
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #2 - 05. Сентября 2007 :: 12:21
Печать  
uza писал(а) 03. Сентября 2007 :: 17:28:
Более двух часов копал форум, но ответа так и не нашел.
Вот такой запрос выполняется:
Подскажите люди добрые, чего мои кривые рученки не так сделал то


Дело в том, что Рег.IDDoc всегда будет 9 символов и для его типизации надо использовать еще и джойн для получения IDDOCDEF с таблицы журналов. По поводу Incorrect syntax near ',' - смотри профайлер, там можно увидеть где ошибся.
  
Наверх
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #3 - 07. Сентября 2007 :: 07:02
Печать  
период то нада по документу поставить
$РегистрОбороты.Продажи(:Начдата,:Кондата , Document,
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #4 - 09. Сентября 2007 :: 13:02
Печать  
Периодичность в ВТ - Документ
iddoc получать как right(ПозицияДокумента, 9)
ЗЫ. Если я в теме...
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #5 - 18. Октября 2007 :: 12:52
Печать  
Есть та же проблема но с РегистрОстаткиОбороты. Часть которая не зарэмлена рабочая, но при выводе результата вид докум выводится числом, заказ вообще остается пустым.
Также проблема стоит в IDDoc, она выдает ошибку.  Также посдкажите как увязать два рекизита регистра с полным журналом
Код
Выбрать все
 |Select
	//|	$Рег.Фирма as [Фир $Справочник.Фирмы],
	//|	$Рег.ВидУчета as [ВидУч $Перечисление.ВидыУчета],
	//|	$Рег.Клиент as [Клиент $Справочник.Клиенты],
	|	Right(Рег.Заказ,9) as [Заказ $Документ],
	//|	Right(Рег .IDDoc,9) as [Док $Документ],
	|	Жур.IDDocDef as Заказ_вид,
	//|	Жур.IDDocDef as Док_вид,
	|	Рег.СуммаОснПриход as СуммаПриход,
	|	Рег.СуммаОснНачальныйОстаток as СуммаНачОст
	|From
	|	$РегистрОстаткиОбороты.Взаиморасчеты(:ВыбНачПериода,:ВыбКонПериода~,,,,,,) as Рег
	|Right JOIN
	|	_1Sjourn as Жур ON Жур.IDDoc = Рег .IDDoc
	|Where
	|	Жур.IDDocDef = $ВидДокумента.РасходнаяНакладная
 

  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #6 - 19. Октября 2007 :: 20:26
Печать  
Читал доку? Посты учаснегов в этой ветке?
Периодичность в ВТ - Документ

Вот примерно так наверное:

Код
Выбрать все
SELECT ОстаткиТМЦОстаткиОбороты.Номенклатура [Номенклатура $Справочник.Номенклатура]
	, ОстаткиТМЦОстаткиОбороты.КоличествоРасход
	, Журнал.IDDOC [Документ $Документ]
FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:НачДата,
		:КонДата,
		Документ,
		Движения,
		INNER JOIN _1SJOURN AS Журнал ON ПозицияДокумента = Журнал.DATE_TIME_IDDOC,,
		Номенклатура,) AS ОстаткиТМЦОстаткиОбороты
	INNER JOIN _1SJOURN AS Журнал ON ОстаткиТМЦОстаткиОбороты.ПозицияДокумента = Журнал.DATE_TIME_IDDOC
 



  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #7 - 22. Октября 2007 :: 12:09
Печать  
Спасибо, все получилось.
Код
Выбрать все
|Select
	|	Фирма as [Фир $Справочник.Фирмы],
	|	ВидУчета as [ВидУч $Перечисление.ВидыУчета],
	|	Клиент as [Клиент $Справочник.Клиенты],
	|	СуммаОснПриход as СуммаПриход,
	|	СуммаОснНачальныйОстаток as СуммаНачОст,
	|	dbo.sp_tohex(Жур.IDDocDef, 4)+IDDoc as [Документ $Документ],
	|	Заказ as [Заказ $Документ]
	|From
	|	жения,
	|	,Фирма in (Select val from #СпФирм)and ВидУчета=:ВидУч,
	|	(Фирма,ВидУчета,Клиент,Заказ),СуммаОсн) as Рег
	|INNER JOIN
	|	_1SJOURN AS Жур ON Рег.ПозицияДокумента  = Жур.DATE_TIME_IDDOC
	|";
 


После того как поставил Заказ после IDDOC, заказ стал выводится в нормальном виде
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #8 - 22. Октября 2007 :: 14:41
Печать  
А так? Зачемперегружать сервер?

, Жур.IDDOC [Заказ $Документ]
, Жур.IDDOCDEF Документ_вид
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #9 - 23. Октября 2007 :: 08:22
Печать  
Цитата:
А так? Зачемперегружать сервер?

, Жур.IDDOC [Заказ $Документ]
, Жур.IDDOCDEF Документ_вид

Принял к сведению
Появилась новая проблема
Хочу чтобы в запрос попадали только те записис у которых Заказ является расходной накладной
Код
Выбрать все
|Select
	|	Фирма as [Фир $Справочник.Фирмы],
	|	ВидУчета as [ВидУч $Перечисление.ВидыУчета],
	|	Клиент as [Клиент $Справочник.Клиенты],
	|	СуммаОснПриход as СуммаПриход,
	|	СуммаОснНачальныйОстаток as СуммаНачОст,
	|	Жур.IDDOC [Документ $Документ],
	|	Жур.IDDOCDEF Документ_вид,
	|	Заказ as [Заказ $Документ]
	|From
	|	жения,
	|	Left JOIN _1SJOURN AS Жур ON Заказ = Жур.IDDOC,
	|	Фирма in (Select val from #СпФирм)and ВидУчета=:ВидУч,
	|	(Фирма,ВидУчета,Клиент,Заказ),СуммаОсн) as Рег
	|Left JOIN
	|	_1SJOURN AS Жур ON Рег.ПозицияДокумента  = Жур.DATE_TIME_IDDOC
	|Order By
	|	Клиент
 


С таким кодом все работает
А вот с этим таблица выводится пустая
Код
Выбрать все
|Select
	|	Фирма as [Фир $Справочник.Фирмы],
	|	ВидУчета as [ВидУч $Перечисление.ВидыУчета],
	|	Клиент as [Клиент $Справочник.Клиенты],
	|	СуммаОснПриход as СуммаПриход,
	|	СуммаОснНачальныйОстаток as СуммаНачОст,
	|	Жур.IDDOC [Документ $Документ],
	|	Жур.IDDOCDEF Документ_вид,
	|	Заказ as [Заказ $Документ]
	|From
	|	жения,
	|	Left JOIN _1SJOURN AS Жур ON Заказ = Жур.IDDOC,
	|	Фирма in (Select val from #СпФирм)and ВидУчета=:ВидУч and Жур.IDDOCDEF = $ВидДокумента.РасходнаяНакладная,
	|	(Фирма,ВидУчета,Клиент,Заказ),СуммаОсн) as Рег
	|Left JOIN
	|	_1SJOURN AS Жур ON Рег.ПозицияДокумента  = Жур.DATE_TIME_IDDOC
	|Order By
	|	Клиент
 


И еще я бы хотел выводит только те записи у которых приход не равен 0
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #10 - 23. Октября 2007 :: 11:03
Печать  
А что такое приход? Если реквизит шапки расходной накладной, то может имеет смысл соединятся не с журналом а с DH расходной накладной, заодно и условие поставить?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #11 - 23. Октября 2007 :: 11:26
Печать  
NickAn писал(а) 23. Октября 2007 :: 08:22:
Хочу чтобы в запрос попадали только те записис у которых Заказ является расходной накладной

Заказ Like $ВидДокумента36.РасходнаяНакладная + '%'  Улыбка
  

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



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Не могу получить IDDoc из регистра
Ответ #12 - 23. Октября 2007 :: 11:51
Печать  
Спасибо все заработало Смех
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать