|
Соединить два запроса... | ☑ | ||
---|---|---|---|---|
0
1C_Enigma
16.04.12
✎
19:40
|
Есть два запроса. Один рассчитывает зрп менеджеру, согласно доходу, наценке и ставке(справочник ставок), а второй запрос высчитывает сколько в процентах продал менеджер товара из общей массы, что пришли.
Второй запрос нужно соединить с первым так, чтоб итоговый запрос рассчитывал зрп по менеджеру по конкретному товару плюс проверял, если товар пошел в убыток, то нужно высчитать, сколько менеджер продал из этой партии, высчитать проц соотношение(коэффициент), потом убыток умножить на это коэффициент и то, что получится вычесть из зрп менеджера. Вещи, типа "вы совсем начинающий пользователь" и "читай справку", я про себя знаю, запрос с нуля ваять мне не прошу, а прошу указать, где я споткнулась или не вижу явных вещей...Спасибо. Запрос первый "ВЫБРАТЬ | ПродажиОбороты.Регистратор.Менеджер КАК Менеджер, | ПродажиСебестоимостьОбороты.Регистратор.Менеджер, | ПродажиОбороты.Номенклатура.Производитель КАК Производитель, | ПродажиОбороты.Номенклатура КАК Номенклатура, | ПродажиСебестоимостьОбороты.Номенклатура КАК Товар, | ПродажиСебестоимостьОбороты.ДокументОприходования, | ШкалаСтавокЗРП.НГраница КАК НижняяГраница, | ШкалаСтавокЗРП.ВГраница КАК ВерхняяГраница, | ШкалаСтавокЗРП.Ставка КАК СтавкаЗРП, | СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) КАК Себестоимость, | СУММА(ПродажиОбороты.СтоимостьОборот) КАК Оборот, | СУММА(ПродажиОбороты.СтоимостьОборот) - СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) КАК Доход, | 100 * ВЫБОР | КОГДА СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) <> 0 | ТОГДА (СУММА(ПродажиОбороты.СтоимостьОборот) - СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот)) / СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) | ИНАЧЕ 0 | КОНЕЦ КАК Наценка, | ВЫБОР | КОГДА 100 * ВЫБОР | КОГДА СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) <> 0 | ТОГДА (СУММА(ПродажиОбороты.СтоимостьОборот) - СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот)) / СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) | ИНАЧЕ 0 | КОНЕЦ МЕЖДУ ШкалаСтавокЗРП.НГраница И ШкалаСтавокЗРП.ВГраница | ТОГДА ШкалаСтавокЗРП.Ставка | ИНАЧЕ 0 | КОНЕЦ КАК Ставка, | ПродажиОбороты.СтоимостьОборот * ВЫБОР | КОГДА 100 * ВЫБОР | КОГДА СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) <> 0 | ТОГДА (СУММА(ПродажиОбороты.СтоимостьОборот) - СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот)) / СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) | ИНАЧЕ 0 | КОНЕЦ МЕЖДУ ШкалаСтавокЗРП.НГраница И ШкалаСтавокЗРП.ВГраница | ТОГДА ШкалаСтавокЗРП.Ставка | ИНАЧЕ 0 | КОНЕЦ КАК Зрп, | ВложенныйЗапрос.ОбщОборот |ИЗ | Справочник.ШкалаСтавокЗРП КАК ШкалаСтавокЗРП, | РегистрНакопления.ПродажиСебестоимость.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПродажиСебестоимостьОбороты | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК ПродажиОбороты | ПО ПродажиСебестоимостьОбороты.Номенклатура = ПродажиОбороты.Номенклатура, | (ВЫБРАТЬ | ПродажиОбороты.СтоимостьОборот КАК ОбщОборот | ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты) КАК ВложенныйЗапрос |ГДЕ | ПродажиОбороты.Регистратор.Менеджер <> &ПустойМенеджер | И ПродажиСебестоимостьОбороты.Регистратор.Менеджер <> &ПустойМенеджер | |СГРУППИРОВАТЬ ПО | ПродажиОбороты.Регистратор.Менеджер, | ПродажиОбороты.Номенклатура.Производитель, | ПродажиОбороты.Номенклатура, | ПродажиСебестоимостьОбороты.Номенклатура, | ПродажиСебестоимостьОбороты.Регистратор.Менеджер, | ШкалаСтавокЗРП.НГраница, | ШкалаСтавокЗРП.ВГраница, | ШкалаСтавокЗРП.Ставка, | ПродажиОбороты.СтоимостьОборот, | ПродажиСебестоимостьОбороты.ДокументОприходования, | ПродажиСебестоимостьОбороты.СтоимостьОборот, | ВложенныйЗапрос.ОбщОборот | |УПОРЯДОЧИТЬ ПО | Менеджер, | Производитель, | Номенклатура, | Себестоимость, | Оборот, | Доход, | Наценка, | Ставка, | Зрп |ИТОГИ | СУММА(Себестоимость), | СУММА(Оборот), | СУММА(Доход), | СУММА(Зрп) |ПО | Менеджер, | Производитель, | Номенклатура"; Запрос второй ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования КАК ДокументОприходованияОст, ПродажиСебестоимостьОбороты.Регистратор.Менеджер КАК РегистраторМенеджер, ПродажиСебестоимостьОбороты.Номенклатура КАК НоменклатураСеб, ПродажиСебестоимостьОбороты.ДокументОприходования КАК ДокументОприходованияСеб, ПродажиСебестоимостьОбороты.СтоимостьОборот КАК СтоимостьОборот, ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход КАК СтоимостьПриход, 100 * (ПродажиСебестоимостьОбороты.СтоимостьОборот / ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьПриход) КАК ПроцПрод ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(, , Регистратор, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПродажиСебестоимость.Обороты(, , Регистратор, ) КАК ПродажиСебестоимостьОбороты ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура = ПродажиСебестоимостьОбороты.Номенклатура И ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования = ПродажиСебестоимостьОбороты.ДокументОприходования ГДЕ ПродажиСебестоимостьОбороты.Регистратор.Менеджер <> &Менеджер И ПартииТоваровНаСкладахОстаткиИОбороты.ДокументОприходования <> &ДокументОприходования ИТОГИ СУММА(СтоимостьОборот), СУММА(СтоимостьПриход), СУММА(ПроцПрод) ПО ОБЩИЕ, РегистраторМенеджер, НоменклатураСеб, ДокументОприходованияСеб |
|||
1
dangerouscoder
16.04.12
✎
20:00
|
(0) Могу дать глупый совет
Разбей запрос на несколько Временных таблиц и проверяй их через консоль |
|||
2
aleks-id
16.04.12
✎
20:02
|
СКД в помощь!
|
|||
3
DrShad
16.04.12
✎
20:02
|
(1) почему же глупый? +100500
|
|||
4
1C_Enigma
16.04.12
✎
20:18
|
(1) что проверять?
|
|||
5
DrShad
16.04.12
✎
20:24
|
Результат временных таблиц
|
|||
6
1C_Enigma
16.04.12
✎
20:25
|
(5)проверила, выводят то, что нужно ;)
|
|||
7
Humandra
16.04.12
✎
20:27
|
(0) Из (0) получается, что запроса не 2, а 3, так? Убыток каком-то третьим запросом рассчитывается?
|
|||
8
Humandra
16.04.12
✎
20:28
|
(7) А, нет, вижу - в первом запросе.
|
|||
9
1C_Enigma
16.04.12
✎
20:29
|
(7) я так подозреваю, что проверку доход<0 впихнуть и в первый запрос, а как потом еще и второй запрос влепить...
|
|||
10
1C_Enigma
16.04.12
✎
20:30
|
Соединение, добавление, проверки .........
|
|||
11
DrShad
16.04.12
✎
20:37
|
(5) где временные таблицы?
|
|||
12
DrShad
16.04.12
✎
20:38
|
(11) к (6)
|
|||
13
1C_Enigma
16.04.12
✎
20:46
|
(12)в этих двух - нет, каждый из них выводит то, что нужно...разбить запрос на врем таблицы - какой из них?
|
|||
14
Конфигуратор1с
16.04.12
✎
20:51
|
(13)" |ГДЕ
| ПродажиОбороты.Регистратор.Менеджер <> &ПустойМенеджер | И ПродажиСебестоимостьОбороты.Регистратор.Менеджер <> &ПустойМенеджер" - а если менеджера нет? |
|||
15
1C_Enigma
16.04.12
✎
20:52
|
(14) должен будет быть везде!!! Не будет - перепишу "где"
|
|||
16
Конфигуратор1с
16.04.12
✎
20:53
|
(13)Почему внутреннее соединение? Вдруг по продаже прошло по себестоимости нет?
|
|||
17
Конфигуратор1с
16.04.12
✎
20:53
|
(15)я имею ввиду реквизит менеджер в документе если отсуствует то там будет нулл а не пустой
|
|||
18
1C_Enigma
16.04.12
✎
20:54
|
о_О как это?
|
|||
19
1C_Enigma
16.04.12
✎
20:55
|
(18) к (16)
|
|||
20
Конфигуратор1с
16.04.12
✎
20:56
|
Кстати, в 8ке есть возможность использовать в запросах предопределенные данные, поэтому можно просто написать ГДЕ ПродажиСебестоимостьОбороты.Регистратор.Менеджер <> ЗНАЧЕНИЕ(Справочник.Менеджеры.ПустаяСсылка)
|
|||
21
Конфигуратор1с
16.04.12
✎
20:58
|
(19)Да легко. Если конфа украинская утп (за ут не скажу), то себестоимость может быть не рассчитана из-за того что продали в минус или оприходовали остаток товаров при инвентаризации по нулевой стоимости
|
|||
22
1C_Enigma
16.04.12
✎
20:59
|
(21) у нас инвентаризация не проводится =) вернее, эти вещи мы решаем по-другому. Мне не это сейчас главное.
|
|||
23
dangerouscoder
16.04.12
✎
21:01
|
ШкалаСтавокЗРП - эта таблица с чем соединена что то не пойму...
|
|||
24
Конфигуратор1с
16.04.12
✎
21:01
|
(22)Тогда запрос с помощью временных таблиц будет самое оно - по очереди выгребаешь всего по чучуть и соединяешь.
|
|||
25
Конфигуратор1с
16.04.12
✎
21:08
|
| ПродажиОбороты.Регистратор.Менеджер КАК Менеджер,
| ПродажиСебестоимостьОбороты.Регистратор.Менеджер, = а это работает? |
|||
26
AlexNew
16.04.12
✎
21:09
|
А (0) это о чем вообще?
|
|||
27
AlexNew
16.04.12
✎
21:12
|
Судя по запросу работали в основном с ЗУП?
|
|||
28
1C_Enigma
16.04.12
✎
21:15
|
(23)Это справочник, в нем ищу ставку
|
|||
29
1C_Enigma
16.04.12
✎
21:15
|
(27) неа, с торговлей всегда и везде
|
|||
30
dangerouscoder
16.04.12
✎
21:34
|
(29) так это торговля.. возвраты не учитываешь?
|
|||
31
1C_Enigma
16.04.12
✎
23:39
|
(30) и их тоже нннада...
|
|||
32
Конфигуратор1с
16.04.12
✎
23:41
|
(31)Так они же и так учитываются
|
|||
33
1C_Enigma
16.04.12
✎
23:57
|
(32) я, кста, об этом потом тоже подумала, ну после того, как написала, ну как всегда...
|
|||
34
Конфигуратор1с
17.04.12
✎
00:00
|
(33)завтра попробую что нибудь слабать и тебе выложить
|
|||
35
1C_Enigma
17.04.12
✎
00:01
|
(34) не нннада ;) мне нужно самой
|
|||
36
Конфигуратор1с
17.04.12
✎
00:02
|
(35)ну как хо. Самостийная какая. Ты тока результат выложи
|
|||
37
1C_Enigma
17.04.12
✎
00:03
|
(36) естессно!!! Пусть посмотрят те, кто меня книжки посылал для чайников читать...
|
|||
38
Конфигуратор1с
17.04.12
✎
00:03
|
(36)Просто если ты продажи и себестоимость выберешь вначале и во временную таблицу впизнешь, то избавишься от громоздких конструкций типа
| ВЫБОР | КОГДА 100 * ВЫБОР | КОГДА СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) <> 0 | ТОГДА (СУММА(ПродажиОбороты.СтоимостьОборот) - СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот)) / СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) | ИНАЧЕ 0 | КОНЕЦ МЕЖДУ ШкалаСтавокЗРП.НГраница И ШкалаСтавокЗРП.ВГраница | ТОГДА ШкалаСтавокЗРП.Ставка | ИНАЧЕ 0 | КОНЕЦ КАК Ставка, | ПродажиОбороты.СтоимостьОборот * ВЫБОР | КОГДА 100 * ВЫБОР | КОГДА СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) <> 0 | ТОГДА (СУММА(ПродажиОбороты.СтоимостьОборот) - СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот)) / СУММА(ПродажиСебестоимостьОбороты.СтоимостьОборот) | ИНАЧЕ 0 | КОНЕЦ МЕЖДУ ШкалаСтавокЗРП.НГраница И ШкалаСтавокЗРП.ВГраница | ТОГДА ШкалаСтавокЗРП.Ставка | ИНАЧЕ 0 | КОНЕЦ КАК Зрп, |
|||
39
1C_Enigma
17.04.12
✎
00:04
|
понимаешь, когда-то было сложно с С на С# слазить, теперь мне сложновато с 7.7 на 8.2...там по-разному запросики пишутся....
|
|||
40
Конфигуратор1с
17.04.12
✎
00:04
|
(37)не обращай внимание. Они как в армии деды - отрываются на молодых в отместку за то, что над ними насмехались когда молодыми были они ))))
|
|||
41
Конфигуратор1с
17.04.12
✎
00:05
|
(39)Понимаю. Сам год назад себя ломал((( До сих пор не полностью перестроился.
|
|||
42
1C_Enigma
17.04.12
✎
00:05
|
(38) я дошла уже до этого,только я чего-то начала во вложенные запросы это впихивать
|
|||
43
Конфигуратор1с
17.04.12
✎
00:07
|
(42)Ну вложенные запросы и временные таблицы дадут почти одинаковый результат. Поэтому можно сказать, что ты была на правильном пути.
|
|||
44
Конфигуратор1с
17.04.12
✎
00:10
|
(39)Кстати, меняю знания типовой утп на знания С#
|
|||
45
1C_Enigma
17.04.12
✎
00:19
|
(44) нууууу...сначала нужно книжки для чайников почитать))))
|
|||
46
Конфигуратор1с
17.04.12
✎
00:20
|
(45)так я тока за. Тока подскажи толковую. Задолбало меня 1сить. Буду порносайты писать
|
|||
47
1C_Enigma
17.04.12
✎
00:20
|
(44) Если что-то заумное, то нужно вспоминать и юзать я юзала ВС2005, 2008 или какой там самый последний, то я даже не знаю его фичей
|
|||
48
Конфигуратор1с
17.04.12
✎
00:23
|
(47)та мне какую нибудь книжку для чайников с примером, аля радченко
|
|||
49
1C_Enigma
17.04.12
✎
00:33
|
http://msdn.microsoft.com/ru-ru/library/dd831853.aspx
http://bookwebmaster.narod.ru/csharp.html Хорошие книги Герберта Шилдта (я по ним училась), только версию выбирай нужную http://www.williamspublishing.com/ Эти хорошие |
|||
50
1C_Enigma
17.04.12
✎
00:39
|
http://progbook.net/ss/c-sharp/2074-microsoft-visual-studio-2008.html
Вот эта была клевая, ну чичас нужно, я так поняла за 2011г искать http://progbook.net/ss/c-sharp/1963-visual-c-2008.-bazovyjj-kurs.html Та же история http://progbook.net/ss/c-sharp/955-polnyjj-spravochnik-po-c-g.-shildt.html http://progbook.net/ss/728-s-i-platforma-.net.-biblioteka-programmista..htmlhttp://progbook.net/ss/228-pro-c-2008-and-the-.net-3.5-platform.html |
|||
51
1C_Enigma
17.04.12
✎
00:41
|
||||
52
1C_Enigma
17.04.12
✎
00:44
|
||||
53
Torquader
17.04.12
✎
00:45
|
Проще тогда msdn и ask скачать - там всё описано на хорошем английском языке.
|
|||
54
1C_Enigma
17.04.12
✎
00:46
|
=)
|
|||
55
1C_Enigma
17.04.12
✎
00:47
|
у гугля переводчик есть
|
|||
56
Torquader
17.04.12
✎
00:51
|
Ну я как-то ddk без переводчика на выходных читал - в принципе,всё понятно,но когда начинаешь ковыряться - возникают вопросы,которые не описаны.
|
|||
57
1C_Enigma
17.04.12
✎
00:55
|
(56)и по-русски их проще сформулировать для гугля...да)))
|
|||
58
Torquader
17.04.12
✎
01:01
|
На самом деле - проще искать на английском языке - так как мелкомягкие много чего пишут на нём. Другое дело,что желающих писать что-то на низком уровне не так уж и много.
А идея была очень хорошая раздельный доступ к usb-hid устройствам,подключенным к компьютеру,а далее,используя usb-to-LAN переходники -с возможностью обработки сетевых команд. |
|||
59
Torquader
17.04.12
✎
01:05
|
Ладно - это обсуждение для другого места - и вообще - пора спать - удачи вам и хорошего настроения.
Если долго мучаться - всё получится - главное - не бросить по середине. |
|||
60
1C_Enigma
17.04.12
✎
01:14
|
хм..а если нужно передать значение одной таблички в другую...то что делать?
|
|||
61
1C_Enigma
17.04.12
✎
01:15
|
ну нашла я товар, который пошел в минус, теперь его нужно мучать в другой табличке...
|
|||
62
Torquader
17.04.12
✎
09:53
|
(61) Видимо, его сначала в список, то есть будет список товара, у которого что-то не так, а потом отбирать движения по товарам, которые есть в этом списке.
Хотя, для пользователя лучше - сначала показать то, что нашли, а уж потом пусть он сам выбирает тот товар, по которому он хочет движения посмотреть. P.S. движения сразу по нескольким товарам выглядят не очень информативно и бух может не понять, что и к чему. |
|||
63
Конфигуратор1с
17.04.12
✎
10:41
|
(61) МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ | ПродажиСебестоимостьОбороты.Номенклатура, | ПродажиСебестоимостьОбороты.КоличествоОборот, | ПродажиСебестоимостьОбороты.СтоимостьОборот |ПОМЕСТИТЬ ВТПродажи |ИЗ | РегистрНакопления.ПродажиСебестоимость.Обороты КАК ПродажиСебестоимостьОбороты"; Запрос.Выполнить(); Запрос.Текст = "ВЫБРАТЬ | ВТПродажи.Номенклатура, | ВТПродажи.КоличествоОборот |ИЗ | ВТПродажи КАК ВТПродажи"; |
|||
64
Конфигуратор1с
17.04.12
✎
10:43
|
Это как пример.
МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МенеджерВТ; для использования в запросе временных таблиц и таблиц значения А потом просто в запросе используешь временную таблицу как обычную таблицу базу данных. |
|||
65
Конфигуратор1с
17.04.12
✎
10:43
|
Кстати, Доброе утро и спасибо большое за ссылки
|
|||
66
1C_Enigma
17.04.12
✎
17:42
|
(65) Добрый вечер =)
|
|||
67
Конфигуратор1с
17.04.12
✎
17:57
|
(66)Добрый вечер. Ты что, работаешь в вечернюю смену?)))
|
|||
68
1C_Enigma
17.04.12
✎
23:19
|
Нее, бывают на работе бешенные дни, я и кассир и парочку заявок могу отбить, названия у номенклатуры меняю туда-сюда по требованию начальства, делаю заказы поставщикам, программлю в промежутках, лажу в инете и т.д
Зато книжек себе накупила по 8.2 сегодня :-) |
|||
69
Конфигуратор1с
17.04.12
✎
23:47
|
(68)умничка. каких?
|
|||
70
Конфигуратор1с
17.04.12
✎
23:48
|
УТп, кстати, есть сертифицированный курс цсо. Там хорошие книжки идут бонусом по утп. Много чего плезного
|
|||
71
1C_Enigma
18.04.12
✎
00:09
|
Версию для обучению программированию, там книжки, технологии интеграции, разработка сложных и еще пару других. В общем, букварь, вторая и синяя :-)
|
|||
72
Конфигуратор1с
18.04.12
✎
10:31
|
(71)я начинал с радченка. Только по 81 который.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |