Проблема с запросом

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. progaoff 30.06.15 11:02 Сейчас в теме
ВЫБРАТЬ
	Визит.СуммаОбщая КАК СуммаОбщая,
	Продажа.СуммаДокумента КАК СуммаДокумента,
	ВЫРАЗИТЬ (СУММА(Визит.СуммаОбщая)+СУММА(Продажа.СуммаДокумента)) КАК СуммаПродажи 
ИЗ
	Документ.Продажа КАК Продажа,
	Документ.Визит КАК Визит
ГДЕ
	Визит.Организация = &Организация
	И Продажа.Организация = &Организация
	И Визит.Дата МЕЖДУ &ДатаНач И &ДатаКон
	И Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон
Показать



Выдает ошибку {Форма.Форма.Форма(773)}: Ошибка при вызове метода контекста (Выполнить): {(4, 65)}: Ожидается выражение "КАК"
ВЫРАЗИТЬ (СУММА(Визит.СуммаОбщая)+СУММА(Продажа.СуммаДокумента)<<?>>) КАК СуммаПродажи
А всего то нужно сложить суммы двух разных документов и разделить на количество пройденного периода. Не подскажите в чем проблема?
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
24. AlexO 135 30.06.15 14:17 Сейчас в теме
(1) progaoff, ваша ошибка - где работа с регистрами? Вторая тема, и то справочники с документами соединяете, то документы между собой....
+
26. AlexO 135 30.06.15 14:25 Сейчас в теме
(1) progaoff, а это что - не заработало?
ВЫБРАТЬ
    Визит.СуммаОбщая КАК СуммаОбщая,
    Продажа.СуммаДокумента КАК СуммаДокумента,
    Визит.СуммаОбщая + Продажа.СуммаДокумента КАК СуммаПродажи 
ИЗ
    Документ.Продажа КАК Продажа,
    Документ.Визит КАК Визит
ГДЕ
    Визит.Организация = &Организация
    И Продажа.Организация = &Организация
    И Визит.Дата МЕЖДУ &ДатаНач И &ДатаКон
    И Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон
Показать
+
27. progaoff 30.06.15 14:30 Сейчас в теме
(26) AlexO, Заработало, но смысл в том что мне нужна сумма этих документов за период в одной цифре.
+
28. AlexO 135 30.06.15 14:31 Сейчас в теме
(27) progaoff,
что мне нужна сумма этих документов за период в одной цифре.
А теперь - нормальным языком )
+
2. mip128 30.06.15 11:07 Сейчас в теме
ВЫРАЗИТЬ (СУММА(Визит.СуммаОбщая)+СУММА(Продажа.СуммаДокумента) КАК Число(15,2)) должно быть. Хотя, если речь о сложении, я бы вообще Выразить не использовал
+
3. spezc 782 30.06.15 11:12 Сейчас в теме
4. progaoff 30.06.15 11:15 Сейчас в теме
{Форма.Форма.Форма(773)}: Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Поле не входит в группу "Визит.СуммаОбщая"
<<?>>Визит.СуммаОбщая КАК СуммаОбщая,
Убрал ВЫРАЗИТЬ
+
5. Xershi 1479 30.06.15 11:17 Сейчас в теме
(4) progaoff, группировки у тебя нет. Учись пользоваться конструктором для проверки.
+
6. mip128 30.06.15 11:24 Сейчас в теме
А что значит количество пройденного периода?
+
7. progaoff 30.06.15 11:26 Сейчас в теме
Сорри, количество дней в месяце
+
8. progaoff 30.06.15 11:37 Сейчас в теме
Чет какая то лажа, сумма этого всего аж раза в три превышает действительную.
+
9. sommid 30.06.15 11:49 Сейчас в теме
(8) а условия связи точно прописать не надо? ато соединили все документы Продажи со всеми документами Визит (подходящими под указанные условия).
Посмотрите результат развернутый до документов - все ли в детальных записях устраивает, по-мойму там будут задвоения, затроения и т.д.
+
10. progaoff 30.06.15 12:00 Сейчас в теме
Исходя из результата там затроение как минимум, че делать то с этим?
+
11. sommid 30.06.15 12:14 Сейчас в теме
(10) - править запрос
а как править - это вам виднее ). Вы не описали решаемой задачи, не описали назначение использующихся объектов.. так что пока непонятно чем можем помочь
+
12. progaoff 30.06.15 12:16 Сейчас в теме
Нужно вычислить среднюю выручку за день...для этого хочу все что связано с продажами сложить и разделить на количество дней в месяце
+
14. PetroP 30.06.15 12:19 Сейчас в теме
(12) progaoff, выберите продажи, объедините с визитами, посчитайте сумму.
+
13. sommid 30.06.15 12:19 Сейчас в теме
если оба документа отражают продажи, то надо использовать конструкцию ОБЪЕДИНИТЬ, сейчас накидаю пример..
+
15. sommid 30.06.15 12:25 Сейчас в теме
как-то так:
ВЫБРАТЬ
	СУММА(Продажи.СуммаПродажи) КАК СуммаПродажи
ИЗ
	(ВЫБРАТЬ
		Продажи.СуммаДокумента КАК СуммаПродажи
	ИЗ
		&Продажи КАК Продажи
	ГДЕ
		Продажи.Организация = &Организация
		И Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон
	
	ОБЪЕДИНИТЬ
	
	ВЫБРАТЬ
		Визит.СуммаОбщая
	ИЗ
		&Визит КАК Визит
	ГДЕ
		Визит.Организация = &Организация
		И Визит.Дата МЕЖДУ &ДатаНач И &ДатаКон) КАК Продажи
Показать

а вообще лучше завести регистр накопления с продажами и уже из него получать информацию
+
16. sommid 30.06.15 12:26 Сейчас в теме
(15) &Продажи и &Визит замените на ваши таблицы (Документ.Продажа, Документ.Визит)
+
17. progaoff 30.06.15 12:33 Сейчас в теме
(15) sommid, он есть этот регистр.
+
19. sommid 30.06.15 12:47 Сейчас в теме
(17) тогда зачем усложняете ) Правильнее его использовать, малоли какие еще документы отражают (или будут отражать) продажи. Получайте данные из регистра.
+
18. progaoff 30.06.15 12:44 Сейчас в теме
Только я не могу от туда вытянуть период, который мне нужен.
+
20. sommid 30.06.15 12:49 Сейчас в теме
(18) а в чем сложность?
ВЫБРАТЬ
	ПродажиРозницаОбороты.СуммаОборот
ИЗ
	РегистрНакопления.ПродажиРозница.Обороты(&ДатаНач, &ДатаКон, ,  Организация = &Организация) КАК ПродажиРозницаОбороты
+
21. progaoff 30.06.15 13:10 Сейчас в теме
ВЫБРАТЬ
	ВыполнениеРаботПоВизитуОбороты.СуммаОборот,
	ПродажиОбороты.СуммаОборот КАК СуммаОборот1
ИЗ
	РегистрНакопления.ВыполнениеРаботПоВизиту.Обороты(&ДатаНач, &ДатаКон, , Организация = &Организация) КАК ВыполнениеРаботПоВизитуОбороты,
	РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , Организация = &Организация) КАК ПродажиОбороты
ГДЕ
	ПродажиОбороты.Организация = &Организация
	И ВыполнениеРаботПоВизитуОбороты.Организация = &Организация
Показать

Пустая таблица
+
22. sommid 30.06.15 13:53 Сейчас в теме
вы неправильно делаете опять, почему сразу выбираете из двух таблиц? делайте через Объединить, как было в примере выше.
В такой конструкции как у вас получится соединение результатов обоих таблиц каждого с каждым, т.е. если в таблице1 запись с суммой 10 и запись с суммой 20, а в таблице2 запись с суммой 1 и запись с суммой 2, то в результате вашего запроса получится 4 строки:
10 1
10 2
20 1
20 2
А если писать запрос с объединением двух таблиц, то получится:
10
20
1
2
+
23. progaoff 30.06.15 13:58 Сейчас в теме
ВЫБРАТЬ
СУММА(ДанныеДляНачисленияЗП.УслугаСумма) КАК УслугаСумма
ИЗ
(ВЫБРАТЬ
ДанныеДляНачисленияЗП.МатериалСуммаПродажи КАК СуммаПродажи
ИЗ
&МатериалСуммаПродажи КАК Продажи
ГДЕ
ДанныеДляНачисленияЗП.Организация = &Организация
И ДанныеДляНачисленияЗП.Дата МЕЖДУ &ДатаНач И &ДатаКон

ОБЪЕДИНИТЬ

ВЫБРАТЬ
ДанныеДляНачисленияЗП.УслугаСумма
ИЗ
&УслугаСумма КАК ДанныеДляНачисленияЗП.УслугаСумма
ГДЕ
ДанныеДляНачисленияЗП.УслугаСумма = &Организация
И ДанныеДляНачисленияЗП.УслугаСумма МЕЖДУ &ДатаНач И &ДатаКон) КАК Продажи
+
25. AlexO 135 30.06.15 14:21 Сейчас в теме
(23) progaoff,
ВЫБРАТЬ 
СУММА(ДанныеДляНачисленияЗП.УслугаСумма) КАК УслугаСумма 
ИЗ 
(ВЫБРАТЬ 
ДанныеДляНачисленияЗП.МатериалСуммаПродажи КАК СуммаПродажи 
ИЗ 
&МатериалСуммаПродажи КАК Продажи 
ГДЕ 
ДанныеДляНачисленияЗП.Организация = &Организация 
И ДанныеДляНачисленияЗП.Дата МЕЖДУ &ДатаНач И &ДатаКон 

ОБЪЕДИНИТЬ 

ВЫБРАТЬ 
ДанныеДляНачисленияЗП.УслугаСумма 
ИЗ 
&УслугаСумма КАК ДанныеДляНачисленияЗП.УслугаСумма 
ГДЕ 
ДанныеДляНачисленияЗП.УслугаСумма = &Организация 
И ДанныеДляНачисленияЗП.УслугаСумма МЕЖДУ &ДатаНач И &ДатаКон) КАК Продажи
Показать
Вы сами можете объяснить, что написали здесь?
+
29. progaoff 30.06.15 14:32 Сейчас в теме
ВЫБРАТЬ
	СУММА(ДанныеДляНачисленияЗП.УслугаСуммаБезСкидки) КАК УслугаСуммаБезСкидки,
	ДанныеДляНачисленияЗП.Организация,
	ДанныеДляНачисленияЗП.Период
ИЗ
	РегистрНакопления.ДанныеДляНачисленияЗП КАК ДанныеДляНачисленияЗП
ГДЕ
	ДанныеДляНачисленияЗП.Организация = &Организация
	И ДанныеДляНачисленияЗП.Период МЕЖДУ &ДатаНач И &ДатаКон
	СГРУППИРОВАТЬ ПО 
	     ДанныеДляНачисленияЗП.Период,
	     ДанныеДляНачисленияЗП.Организация
ОБЪЕДИНИТЬ	ВСЕ
ВЫБРАТЬ
	  
	СУММА (ДанныеДляНачисленияЗП.МатериалСуммаПродажи) КАК МатериалыСуммаПродажи,
	ДанныеДляНачисленияЗП.Период,
	ДанныеДляНачисленияЗП.Организация
ИЗ
	РегистрНакопления.ДанныеДляНачисленияЗП КАК ДанныеДляНачисленияЗП
ГДЕ
	ДанныеДляНачисленияЗП.Организация МЕЖДУ &ДатаНач И &ДатаКон
	И ДанныеДляНачисленияЗП.Организация = &Организация
СГРУППИРОВАТЬ ПО 
    ДанныеДляНачисленияЗП.Период,
    ДанныеДляНачисленияЗП.Организация
Показать

Опять по общему результату не корректные цифры
+
31. Xershi 1479 30.06.15 14:34 Сейчас в теме
(29) progaoff, вы бы хоть результаты привели. Что у вас на выходе, что на выходе.
+
35. AlexO 135 30.06.15 14:41 Сейчас в теме
(29) progaoff,
Опять по общему результату не корректные цифры
Разбейте запрос на мелкие запросы, и поймете, где ошибка.
+
30. progaoff 30.06.15 14:33 Сейчас в теме
ДокументВизит + ДокументПродажа / кол-во дней в месяце
+
32. progaoff 30.06.15 14:35 Сейчас в теме
СУММА ВСЕХ документов ВИЗИТ + СУММА ВСЕХ документов ПРОДАЖА / кол-во дней в месяце)
+
33. progaoff 30.06.15 14:36 Сейчас в теме
На входе организация и интервал времени а на выходе "СУММА ВСЕХ документов ВИЗИТ + СУММА ВСЕХ документов ПРОДАЖА / кол-во дней в месяце"
+
36. Xershi 1479 30.06.15 14:44 Сейчас в теме
(33) progaoff, ну так цифры покажите.
Да и тестируйте запрос в консоле запросов. Сразу станет все понятно.
+
34. progaoff 30.06.15 14:37 Сейчас в теме
Документы имеется ввиду по выбранной организации
+
37. progaoff 30.06.15 14:51 Сейчас в теме
в консоли и тестирую...
+
38. AlexO 135 30.06.15 14:57 Сейчас в теме
(37) progaoff,
в консоли и тестирую...
Тогда прям так и выкладывайте - "вот я ввожу параметры", "вот я получил результаты", "вот запрос такой", "вот чего я хотел получить".
+
39. Xershi 1479 30.06.15 14:57 Сейчас в теме
(37) progaoff, так в чем проблема сумму запросом получили. Теперь количество дней можно получить по регламентному календарю.
И все делим сумма на дни! готово.
+
40. AlexO 135 30.06.15 15:00 Сейчас в теме
(39) Xershi,
И все делим сумма на дни! готово.
progaoff не указал до сих пор, в чем неправильность.
+
41. Xershi 1479 30.06.15 15:05 Сейчас в теме
(40) AlexO, так я не делал поправку на это. Потому что он до сих пор цифры не показал!
+
42. progaoff 30.06.15 15:18 Сейчас в теме
ВЫБРАТЬ
	СУММА(ДанныеДляНачисленияЗП.УслугаСуммаБезСкидки) КАК УслугаСуммаБезСкидки,
	ДанныеДляНачисленияЗП.Организация,
	ДанныеДляНачисленияЗП.Период
ИЗ
	РегистрНакопления.ДанныеДляНачисленияЗП КАК ДанныеДляНачисленияЗП
ГДЕ
	ДанныеДляНачисленияЗП.Организация = &Организация
	И ДанныеДляНачисленияЗП.Период МЕЖДУ &ДатаНач И &ДатаКон
	СГРУППИРОВАТЬ ПО 
	     ДанныеДляНачисленияЗП.Период,
	     ДанныеДляНачисленияЗП.Организация
Показать


Это выбор из документов Визит
+
43. progaoff 30.06.15 15:19 Сейчас в теме
ВЫБРАТЬ
  
	СУММА (ДанныеДляНачисленияЗП.МатериалСуммаПродажи) КАК МатериалыСуммаПродажи,
	ДанныеДляНачисленияЗП.Период,
	ДанныеДляНачисленияЗП.Организация
ИЗ
	РегистрНакопления.ДанныеДляНачисленияЗП КАК ДанныеДляНачисленияЗП
ГДЕ
	ДанныеДляНачисленияЗП.Период МЕЖДУ &ДатаНач И &ДатаКон
	И ДанныеДляНачисленияЗП.Организация = &Организация
СГРУППИРОВАТЬ ПО 
    ДанныеДляНачисленияЗП.Период,
    ДанныеДляНачисленияЗП.Организация
Показать
Прикрепленные файлы:
продажи.xls
+
44. progaoff 30.06.15 15:19 Сейчас в теме
Вот выборка по первому запросу
Прикрепленные файлы:
Визиты.xls
+
45. AlexO 135 30.06.15 15:52 Сейчас в теме
(44) progaoff, и что не нравится?
Прикрепленные файлы:
+
46. progaoff 30.06.15 16:07 Сейчас в теме
Общая сумма совсем не та которая на самом деле. И я хотел ее вывести одной суммой. вот в чем проблема
+
47. progaoff 30.06.15 16:09 Сейчас в теме
В результате хотелось бы видеть просто две суммы одну по визитам другую по продажам. их же сложить и разделить на количество дней в месяце
+
48. PetroP 30.06.15 16:24 Сейчас в теме
(47) progaoff, уберите "Период" и "Организация" из выборки.
+
49. progaoff 30.06.15 16:28 Сейчас в теме
Дает ошибку что эти поля не являются группой
+
50. PetroP 30.06.15 16:32 Сейчас в теме
Из группировки, естественно, тоже надо убрать.
ВЫБРАТЬ
    СУММА(ДанныеДляНачисленияЗП.УслугаСуммаБезСкидки) КАК УслугаСуммаБезСкидки
ИЗ
    РегистрНакопления.ДанныеДляНачисленияЗП КАК ДанныеДляНачисленияЗП
ГДЕ
    ДанныеДляНачисленияЗП.Организация = &Организация
    И ДанныеДляНачисленияЗП.Период МЕЖДУ &ДатаНач И &ДатаКон
+
51. progaoff 30.06.15 16:33 Сейчас в теме
{Форма.Форма.Форма(773)}: Ошибка при вызове метода контекста (Выполнить): {(4, 2)}: Поле не входит в группу "ДанныеДляНачисленияЗП.Период"
<<?>>ДанныеДляНачисленияЗП.Период,
+
54. Xershi 1479 30.06.15 16:59 Сейчас в теме
(51) progaoff, вы в конструкторе удаляйте. Говорил же не раз!
Но раз хотите, чтобы пальцем ткнули, то выкладывай весь запрос и ошибку!
+
52. PetroP 30.06.15 16:46 Сейчас в теме
Текст запроса приводите на каждом этапе. Окно сообщений перед запуском очередного варианта запроса всегда очищайте.
+
53. progaoff 30.06.15 16:58 Сейчас в теме
Спасибо большое.
+
55. progaoff 30.06.15 17:21 Сейчас в теме
парни можно без насмешек)) Как теперь два этих результата сложить и разделить на кол - во дней????
+
56. progaoff 30.06.15 17:23 Сейчас в теме
ВЫБРАТЬ
	СУММА(Продажа.СуммаДокумента) КАК СуммаДокумента
ИЗ
	Документ.Продажа КАК Продажа
ГДЕ
	Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон
	И Продажа.Организация = &Организация
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
	СУММА (Визит.СуммаОбщая) КАК СуммаОбщая
ИЗ	
	Документ.Визит КАК Визит
ГДЕ
	Визит.Дата МЕЖДУ &ДатаНач 	И &ДатаКон
	И Визит.Организация =   &Организация
Показать

В таком виде все четко сошлось по цифрам
+
57. mip128 30.06.15 17:35 Сейчас в теме
Яб так написал
ВЫБРАТЬ
	СУММА(ВложенныйЗапрос.СуммаОбщая) / РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, ДЕНЬ) КАК Поле1
ИЗ
	(ВЫБРАТЬ
		Визит.СуммаОбщая КАК СуммаОбщая
	ИЗ
		Визит КАК Визит
	ГДЕ
		Визит.Дата МЕЖДУ &ДатаНач И &ДатаКон
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		Продажа.СуммаДокумента
	ИЗ
		Продажа КАК Продажа
	ГДЕ
		Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон) КАК ВложенныйЗапрос
Показать
+
58. progaoff 30.06.15 17:42 Сейчас в теме
Получилось но только результат NULL
+
59. mip128 30.06.15 17:49 Сейчас в теме
(58) progaoff, Null будет если датаНач и ДатаКон неверно установить или если данных нет)) Специально для тебя высылаю свой тестовый вариант
ВЫБРАТЬ
	10 КАК СуммаОбщая,
	&дата КАК Дата
ПОМЕСТИТЬ Визит
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	10 КАК СуммаДокумента,
	&дата КАК Дата
ПОМЕСТИТЬ Продажа
;


////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	СУММА(ВложенныйЗапрос.СуммаОбщая) / РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, ДЕНЬ) КАК Поле1
ИЗ
	(ВЫБРАТЬ
		Визит.СуммаОбщая КАК СуммаОбщая
	ИЗ
		Визит КАК Визит
	ГДЕ
		Визит.Дата МЕЖДУ &ДатаНач И &ДатаКон
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		Продажа.СуммаДокумента
	ИЗ
		Продажа КАК Продажа
	ГДЕ
		Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон) КАК ВложенныйЗапрос
Показать



дата = 10.06.2015 0:00:00
ДатаНач = 01.06.2015 0:00:00
ДатаКон = 30.06.2015 0:00:00


Результат 0,68
+
60. progaoff 30.06.15 18:03 Сейчас в теме
Ща с ума сойду, результат = 0,3448275862
+
61. progaoff 01.07.15 09:42 Сейчас в теме
Вообще не пойму откуда такой результат?!
+
62. Xershi 1479 01.07.15 10:14 Сейчас в теме
(61) progaoff, сделай ВТ и смотри откуда. Мы за тебя запрос не пишем и с твоей базой не работаем.
+
63. progaoff 01.07.15 11:24 Сейчас в теме
ВЫБРАТЬ
	СУММА(Продажа.СуммаДокумента) КАК СуммаДокумента
ПОМЕСТИТЬ
	ТабПрод	
ИЗ
	Документ.Продажа КАК Продажа
ГДЕ
	Продажа.Дата МЕЖДУ &ДатаНач И &ДатаКон
	И Продажа.Организация = &Организация
;

ВЫБРАТЬ
	СУММА(Визит.СуммаОбщая)
ПОМЕСТИТЬ 
	ТабВиз	
ИЗ
	Документ.Визит КАК Визит
ГДЕ
	Визит.Дата МЕЖДУ &ДатаНач И &ДатаКон
	И Визит.Организация = &Организация
;
ВЫБРАТЬ
СУММА (СуммаДокумента+СуммаОБщая) / &КолДней
ИЗ
	ТабВиз,
	ТабПрод
Показать

Вот так отработало нормально. Тут бы еще от парамера КолДней избавиться, что бы работало по заданному интервалу..
+
64. Xershi 1479 01.07.15 11:30 Сейчас в теме
(63) progaoff, делай запрос на вычисление или сам вычисляй до запроса в компоновке.
+
65. progaoff 01.07.15 11:44 Сейчас в теме
А как ее вычислить? Что бы до запроса?
+
66. Xershi 1479 01.07.15 11:56 Сейчас в теме
(65) progaoff, в СКД есть процедура при компоновки результата
+
67. progaoff 01.07.15 11:59 Сейчас в теме
Я этот отчет делаю на обычной форме, с выводом в макет
+
68. Xershi 1479 01.07.15 12:37 Сейчас в теме
(67) progaoff, тогда у тебя есть кнопка сформировать туда и засунь.
+
69. Xershi 1479 01.07.15 12:38 Сейчас в теме
(67) progaoff, и зачем тебе вручную макет делать, учись на СКД делать все в разы проще будет.
+
70. progaoff 01.07.15 13:41 Сейчас в теме
Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "DataParameters.Организация Равно
Сделал на СКД. Вот такую ошибку выстрелило
+
71. Xershi 1479 01.07.15 14:17 Сейчас в теме
(70) progaoff, забей это еще на 70 постов...
+
72. progaoff 01.07.15 14:24 Сейчас в теме
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот