Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Аналог Счетчик() (число прочтений - 3497 )
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Аналог Счетчик()
24. Апреля 2009 :: 18:17
Печать  
Только ногами не бейте! Часа два на поиск убил.

Подскажите аналог функции Счетчик().
Или это все таки Count() ?
ТОгда я не могу разобраться как им пользоваться  Нерешительный

база дбфная
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Аналог Счетчик()
Ответ #1 - 24. Апреля 2009 :: 18:43
Печать  
need feedback

что хочет реализатор получить в конце - может ОбработкаОжидания или ВремяПростояСистемы ???

или

про Count в SQl запросе ?
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Аналог Счетчик()
Ответ #2 - 24. Апреля 2009 :: 19:03
Печать  
lustin писал(а) 24. Апреля 2009 :: 18:43:
need про Count в SQl запросе ?


Про него родимого
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Аналог Счетчик()
Ответ #3 - 24. Апреля 2009 :: 19:16
Печать  
BuZZZard писал(а) 24. Апреля 2009 :: 19:03:
lustin писал(а) 24. Апреля 2009 :: 18:43:
need про Count в SQl запросе ?


Про него родимого


ты не поверишь - но Count() он и в Африке функция подсчета количества записей по группировке в запросе.

Хочешь помощи - озвучь проблему Улыбка
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Аналог Счетчик()
Ответ #4 - 24. Апреля 2009 :: 19:32
Печать  
Код
Выбрать все
SELECT
	Док.sp30343 as [Контрагент_1c_type_Справочник_1c_dot_Контрагенты],
	Док.sp30443 as [АдресДоставки_1c_type_Справочник_1c_dot_АдресаДоставки],
	Жур.IDDoc as [ДокЗаявкаКлиента_1c_type_Документ_1c_dot_ЗаявкаКлиента],
	SUM(ДокС.sp30351) as Количество
FROM
	dt30363 as ДокС
INNER JOIN
	dh30363 as Док ON Док.IDDoc = ДокС.IDDoc
INNER JOIN
	1SJourn as Жур ON Жур.IDDoc = ДокС.IDDoc
WHERE
	Жур.Date BETWEEN {d '2009-01-01'} AND {d '2009-04-24'} AND
	Жур.Closed = 1 AND
	ДокС.sp30350 = '   B9G   '
GROUP BY
	Док.sp30343,
	Док.sp30443,
	Жур.IDDoc
 



Получается Таблица:
Контрагент,АдресДоставки,Документ,Количество.

Мне нужно свернуть по Контрагент и АдресДоставки, Количество просуммировать. А вместа поля документ получить количество документов по каждой группировке.

Пробовал Count вставлять, но видимо руки в этом деле из жопы растут Подмигивание
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Аналог Счетчик()
Ответ #5 - 24. Апреля 2009 :: 19:43
Печать  
ну что ж

во первых  - ты делаешь SUM -  кого ты суммируешь?

даже если ты вставишь COUNT - ты подсчитаешь количество по трем группировкам (то есть одна группировка по трем полям) - но кто такое поле  ДокС.sp30351 Улыбка

ну приведи ты запрос перед Метапарсером - ты же явно хочешь какой-то 1С-оский запрос заменить.

Кстати:

1. Что ты хотел?

2. Что ты получил?

3. Что хотел получить?

Круглые глаза прошу прощения за менторский тон
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Аналог Счетчик()
Ответ #6 - 24. Апреля 2009 :: 20:05
Печать  
lustin писал(а) 24. Апреля 2009 :: 19:43:
Круглые глаза прошу прощения за менторский тон


Нееее. Все пучком. Я просто не совсем ориентируюсь в этом. Сейчас принесу.


Вот запрос:
Код
Выбрать все
SELECT
	$Док.Контрагент as [Контрагент $Справочник.Контрагенты],
	$Док.АдресДоставки as [АдресДоставки $Справочник.АдресаДоставки],
	Жур.IDDoc as [Документы $Документ.ЗаявкаКлиента],
	SUM($ДокС.Количество) as Количество
FROM
	$ДокументСтроки.ЗаявкаКлиента as ДокС
INNER JOIN
	$Документ.ЗаявкаКлиента as Док ON Док.IDDoc = ДокС.IDDoc
INNER JOIN
	1SJourn as Жур ON Жур.IDDoc = ДокС.IDDoc
WHERE
	Жур.Date BETWEEN :НачДата~~ AND :КонДата~~ AND
	Жур.Closed = 1 AND
	$ДокС.ТМЦ = :Вода
GROUP BY
	$Док.Контрагент,
	$Док.АдресДоставки,
	Жур.IDDoc
 



То количество, которое уже считается, это количество продукции.
Мне в итоге надо получить среднее количество этой продукции на документ по каждому адресу доставки.
И если развивать дальше, еще надо получить среднюю периодичность (количество дней в периоде отчета / количество документов по каждому адресу доставки.)
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Аналог Счетчик()
Ответ #7 - 24. Апреля 2009 :: 20:19
Печать  
и что ты хотел от этого запроса? без обид

среднее здесь не видно
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Аналог Счетчик()
Ответ #8 - 24. Апреля 2009 :: 20:47
Печать  
Чтобы среднее расчитать надо сначала количество документов узнать, а я не знаю как его узнать Подмигивание
Или я неправильно мыслю?
  
Наверх
ICQ  
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Аналог Счетчик()
Ответ #9 - 28. Апреля 2009 :: 05:52
Печать  
Может быть не в тему, но есть такая функция как AVG() - не она ли нужна?
  
Наверх
ICQ  
IP записан
 
BuZZZard
Full Member
***
Отсутствует



Сообщений: 112
Местоположение: Калининград
Зарегистрирован: 15. Октября 2007
Пол: Мужской
Re: Аналог Счетчик()
Ответ #10 - 04. Мая 2009 :: 06:33
Печать  
noxxx писал(а) 28. Апреля 2009 :: 05:52:
Может быть не в тему, но есть такая функция как AVG() - не она ли нужна?


Мне среднее нужно посчитать по дате. И не просто по дате, а по разнице между датами.
  
Наверх
ICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Аналог Счетчик()
Ответ #11 - 04. Мая 2009 :: 07:36
Печать  
Count(DISTINCT СтолбецДокумента) as КоличествоДокументов

и группировку по Жур.IDDoc надо убрать, а то будет вечный 1.

Это для случая без учета даты, с учетом даты вместо СтолбецДокумента подставь выражение требуемое
  
Наверх
 
IP записан
 
Delorn
YaBB Newbies
*
Отсутствует


1c user

Сообщений: 9
Зарегистрирован: 07. Августа 2007
Пол: Мужской
Re: Аналог Счетчик()
Ответ #12 - 04. Мая 2009 :: 07:42
Печать  
А если так?
Код
Выбрать все
SELECT
	$Док.Контрагент as [Контрагент $Справочник.Контрагенты],
	$Док.АдресДоставки as [АдресДоставки $Справочник.АдресаДоставки],
	Жур.IDDoc as [Документы $Документ.ЗаявкаКлиента],
	SUM($ДокС.Количество) as Количество
	,1 as КолДок
FROM
	$ДокументСтроки.ЗаявкаКлиента as ДокС
INNER JOIN
	$Документ.ЗаявкаКлиента as Док ON Док.IDDoc = ДокС.IDDoc
INNER JOIN
	1SJourn as Жур ON Жур.IDDoc = ДокС.IDDoc
WHERE
	Жур.Date BETWEEN :НачДата~~ AND :КонДата~~ AND
	Жур.Closed = 1 AND
	$ДокС.ТМЦ = :Вода
GROUP BY
	$Док.Контрагент,
	$Док.АдресДоставки,
	Жур.IDDoc
 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать