Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как можно объединить контрагентов с ВТ (число прочтений - 2710 )
maxa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Как можно объединить контрагентов с ВТ
27. Мая 2008 :: 12:07
Печать  
Сделала вот-так: не получилось
Код
Выбрать все
	ТекстЗапроса = "
	|SELECT
	|   $ПоследнееЗначение.Контрагенты.ОтветственныйМенеджер(Клиент.ID,:ДатаКон) as [Менеджер $Справочник.ЗначенияСвойств]
	|  , Клиент.ID as [Клиент $Справочник.Контрагенты]
	|  , ДолгПриход as Приход
	|  , ДолгРасход as Расход
	|	FROM $Справочник.Контрагенты as Клиент  with (nolock)
	|   Left JOIN  $РегистрОстаткиОбороты.ВзаиморасчетыПокупателей(:ДатаНач,:ДатаКон~,Период,,
	|		,,(Клиент),Долг) as Оборот  ON (Оборот.Клиент=Клиент.id)
	|";
 



Тип  измерения "Клиент" в регистре "Справочник".помогите,нужно выбрать всех контр.из справочника,по менеджерам,и показать движения по ним.
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно объединить контрагентов с ВТ
Ответ #1 - 27. Мая 2008 :: 15:05
Печать  
Примерно так:
Код
Выбрать все
Ид36Спр = глMDW.ЧислоВСтроку(глMDW.ИДСправочника("Контрагенты"),36);
Ид36Спр = Формат("","С"+Число(4-СтрДлина(Ид36Спр)))+Ид36Спр;

ТекстЗапроса = "
	|SELECT
	|   $ПоследнееЗначение.Контрагенты.ОтветственныйМенеджер(Клиент.ID,:ДатаКон) as [Менеджер $Справочник.ЗначенияСвойств]
	|  , Клиент.ID as [Клиент $Справочник.Контрагенты]
	|  , ДолгПриход as Приход
	|  , ДолгРасход as Расход
	|	FROM $Справочник.Контрагенты as Клиент  with (nolock)
	|   Left JOIN  $РегистрОстаткиОбороты.ВзаиморасчетыПокупателей(:ДатаНач,:ДатаКон~,Период,,
	|		,,(Клиент),Долг) as Оборот  ON (Оборот.Клиент= '"+Ид36Спр+"'+Клиент.id)
	|";
 

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


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Re: Как можно объединить контрагентов с ВТ
Ответ #2 - 28. Мая 2008 :: 06:38
Печать  
Огромное спасибо,цифры получились. Очень довольный
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как можно объединить контрагентов с ВТ
Ответ #3 - 28. Мая 2008 :: 06:59
Печать  
По идее для 1С++ должно быть возможным пользовать
ВидСправочника36.Контрагенты

вместо "Ид36Спр", хотя может и ошибаюсь.
  
Наверх
IP записан
 
maxa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Re: Как можно объединить контрагентов с ВТ
Ответ #4 - 28. Мая 2008 :: 07:19
Печать  
Спасибо,проверю.А не подскажете ,как сгруппировать По менеджеру,клиенту пишу :
Код
Выбрать все
|GROUP BY ID 

выдает ошибку
  
Наверх
 
IP записан
 
sml
Full Member
***
Отсутствует


I Love 1С++!

Сообщений: 186
Зарегистрирован: 28. Февраля 2008
Re: Как можно объединить контрагентов с ВТ
Ответ #5 - 28. Мая 2008 :: 07:24
Печать  
думаю, надо сделать обертку (внешний запрос к сабжу) и уже в нем группировать
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Как можно объединить контрагентов с ВТ
Ответ #6 - 28. Мая 2008 :: 07:25
Печать  
Это: "$ПоследнееЗначение.Контрагенты.ОтветственныйМенеджер(Клиент.ID,:ДатаКон)" - не просто значение, а запрос. Его просто завернули так, чтобы самим не мучится и не писать каждый раз связывание с _1SCONST. Поэтому и работать не будет. Выкидывай своим запросом данные во временную таблицу, а там уже группируй как тебе хочется.
З.Ы. Вариант с оберткой тоже подойдет.
  
Наверх
ICQ  
IP записан
 
maxa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Re: Как можно объединить контрагентов с ВТ
Ответ #7 - 28. Мая 2008 :: 07:28
Печать  
спасибо.
  
Наверх
 
IP записан
 
maxa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Re: Как можно объединить контрагентов с ВТ
Ответ #8 - 28. Мая 2008 :: 09:09
Печать  
Еще одна проблема нарисовалась Смущённый
вот мой код
Код
Выбрать все
	ТекстЗапроса1 = "
	|(SELECT
	|   $ПоследнееЗначение.Контрагенты.ОтветственныйМенеджер(Клиент.ID,:ДатаКон) as Мен
	|  , Клиент.ID as Кл
	|  , ДолгРасход as Расход
	|  , ДолгПриход as Приход
	|  , ДолгКонечныйОстаток as Остаток
	|	FROM $Справочник.Контрагенты as Клиент  with (nolock)
	|   Left JOIN  $РегистрОстаткиОбороты.ВзаиморасчетыПокупателей(:ДатаНач,:ДатаКон~,Период,,
	|		,,(Клиент),Долг) as Оборот  ON (Оборот.Клиент= $ВидСправочника36.Контрагенты+Клиент.id)
    |  WHERE (ДолгРасход=0) and (ДолгПриход=0)
    |";
 


так. вот, мне нужно выбрать контриков по которым не было оборотов,а сальдо может быть ,а может и не быть.Добавила условие:WHERE (ДолгРасход=0) and (ДолгПриход=0)
но после этого запрос не включает тех контрогентов у которых сальдо ноль.Что делать?
  
Наверх
 
IP записан
 
maxa
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 130
Зарегистрирован: 07. Ноября 2007
Re: Как можно объединить контрагентов с ВТ
Ответ #9 - 28. Мая 2008 :: 09:17
Печать  
вставила isnull(  и все получилось. Очень довольный
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать