|
Количество месяцев с ненулевой продажей по номенклатуре | ☑ | ||
---|---|---|---|---|
0
Dirk Diggler
27.06.12
✎
09:57
|
Задача - получить из регистра "Продажи" количество месяцев(недель, дней), в которые были продажи данной позиции номенклатуры. кроме как запрос в цикле, мне пока ничего не приходит в голову. как сделать нормально?
|
|||
1
Ненавижу 1С
гуру
27.06.12
✎
09:59
|
просто запросом, выбрав правильную периодичность оборотов
|
|||
2
DrShad
27.06.12
✎
10:01
|
(0) а какой запрос ты собрался в Цикле писать? в студию
|
|||
3
Dirk Diggler
27.06.12
✎
10:02
|
(2) на каждый подпериод )
|
|||
4
MadHead
27.06.12
✎
10:02
|
Нужно получить оборот на каждый месяц. Можно таблицу саму с собой соеденить. Можно использовать дополнение по периоду. Запросы в цикле лишнее
|
|||
5
vudo
27.06.12
✎
10:04
|
(2) Я писал через две временные таблицы очищая их по очереди. Но там была нужна рекурсия...
Здесь думаю (4). |
|||
6
MadHead
27.06.12
✎
10:05
|
||||
7
MadHead
27.06.12
✎
10:05
|
(6) алгоритм подойдет и для оборотов
|
|||
8
Ненавижу 1С
гуру
27.06.12
✎
10:06
|
я чего-то не вкуриваю, разве не это?
ВЫБРАТЬ ПродажиОбороты.Номенклатура, КОЛИЧЕСТВО(ПродажиОбороты.Период) КАК Период ИЗ РегистрНакопления.Продажи.Обороты(, , День, ) КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ПродажиОбороты.Номенклатура |
|||
9
ssh2006
27.06.12
✎
10:06
|
Ответ в (1), что мудрить, простейший запрос к ВТ обороты
|
|||
10
DrShad
27.06.12
✎
10:09
|
(9) ну без цикла не вызывает доверия :)
|
|||
11
Ненавижу 1С
гуру
27.06.12
✎
10:10
|
(10) где в (1) цикл?
|
|||
12
DrShad
27.06.12
✎
10:11
|
(11) в том то и дело что его там нет, а ТС без цикла как-то неловко
|
|||
13
Dirk Diggler
27.06.12
✎
12:33
|
(1) Меняем немного задачу. Надо получить кол-во дней в месяце, в течение которых конечный остаток номенклатуры в регистре СвободныеОстатки больше нуля.
|
|||
14
Ненавижу 1С
гуру
27.06.12
✎
12:34
|
(13) тысяча рублей
|
|||
15
Dirk Diggler
27.06.12
✎
12:34
|
(14) много
|
|||
16
Ненавижу 1С
гуру
27.06.12
✎
12:34
|
(15) 950
|
|||
17
Maniac
27.06.12
✎
12:35
|
Готовое решение в котором все есть и даже намного больше http://subsystems.ru/catalog/29/154/
|
|||
18
Dirk Diggler
27.06.12
✎
12:35
|
шолбты. у меня специфика.
|
|||
19
Ненавижу 1С
гуру
27.06.12
✎
12:36
|
(18) тогда (16)
|
|||
20
Dirk Diggler
27.06.12
✎
12:43
|
(19) только я боюсь что ты без запроса в цикле или запроса генерируемого циклом тоже не обойдешься )
|
|||
21
ssh2006
27.06.12
✎
12:49
|
(20) без всяких циклов делается
|
|||
22
andrewks
27.06.12
✎
12:52
|
сделаю за 900 р.
|
|||
23
izekia
27.06.12
✎
12:53
|
890
|
|||
24
andrewks
27.06.12
✎
12:54
|
(23) не мешайся, ты мне ещё за хитрое соединение таблиц должен
|
|||
25
izekia
27.06.12
✎
12:55
|
(24) у тебя там запрос на каждую таблицу, я забыл в условии упомянуть, что там динамика ... но все равно прикольно)
|
|||
26
Maniac
27.06.12
✎
12:58
|
Жесть) долго вы тут будете обсуждать запрос на лист экрана в котором календарь с регистром соединяется?
|
|||
27
gosn1ck
27.06.12
✎
13:01
|
(26) за пол часа уже нахаляву отдаешь разработку? :)
|
|||
28
Maniac
27.06.12
✎
13:03
|
Еще раз - покупаем (17) - получаем сразу полный готовый отчет со всем сразу. Манагеры щасливы, вы нашли готовое решение.
1Сникам вознаграждение от полной продажи 20 процентов. так что еще и заработаете по 3 тысячи. |
|||
29
Ksandr
27.06.12
✎
13:05
|
889 руб
|
|||
30
izekia
27.06.12
✎
13:09
|
(28) они потом за это головную боль не поимеют тысяч на 20?
|
|||
31
Maniac
27.06.12
✎
13:13
|
(30) ну как то уже 800 клиентов. Живой же. Все юзают. Код обработок ежели что открыт и все такое. Обновления, поддержка бесплатны.
|
|||
32
Ненавижу 1С
гуру
27.06.12
✎
13:17
|
(31) уже по интерфейсу видно, что универсальностью тут даже не пахнет
|
|||
33
andrewks
27.06.12
✎
13:31
|
[holiwar mode off]
|
|||
34
Maniac
27.06.12
✎
13:34
|
(32) а что вопрос об универсаольности шел? и нафиг она нужна ? люди выполняют конкретные задачи.
|
|||
35
Ненавижу 1С
гуру
27.06.12
✎
13:34
|
(34) ну купят твое и допиливать?
|
|||
36
Maniac
27.06.12
✎
13:37
|
(35) что допиливать?
Под себя? 90 процентов пользуются тем что есть и постоянно просят обновления. значит используют без доработок. А оставшиеся покупали и дорабатывали под специфику. В эту разработку вложено изначально больше 2 месяцев работы, плюс 2 года обновлений и доработок. Как ты думаеншь проще с нуля писать или 15 тысяч отдать за 80 процентов готового. |
|||
37
andrewks
27.06.12
✎
13:40
|
(25) в смысле "динамика"?
|
|||
38
gosn1ck
27.06.12
✎
13:46
|
(36) с нуля
|
|||
39
Maniac
27.06.12
✎
13:48
|
(38) с нуля есть шанс вообще ничего никогда не написать. Вот ты например на 99.99 процентов я уверен что даже (0) не напишешь. а если и будешь писать то еще недели три. а потом через месяц тебе еще скажут что проверили и отчет твой бред выводит. тк ты его написал непраильно. и считает неправильно. не учел чего нибудь.
|
|||
40
Ненавижу 1С
гуру
27.06.12
✎
13:49
|
(39) ну а если твой не будет правильно считать тогда что?
ждать, когда ты исправишь? |
|||
41
Maniac
27.06.12
✎
13:50
|
Я сам ничего с нуля никогда не пишу если есть готовое решение на задачу. И мой директор также относится ко всему. ПОтому что помимо каждой задачи на работе еще десятки дел которые нужно решать. А писать лесапеды - ни мне неинтересно ни в интересах бизнеса. ПОэтому я на фирму всегда покупаю готовые решения если они есть. И уже если надо дописываю их.
|
|||
42
Maniac
27.06.12
✎
13:53
|
(40) программ без ошибок не бывает. и людей которые их делают тоже - если кто то скажет что это не так - он не знает мир.
А какие еще варианты? ты если ошибки делаешь точно также их исправляешь и все ждут. Или ты не делаешь ошибок? Если не делаешь то ты точно не на Земле родился. У меня бывают ошибки программные при выпуске обновлений. Я их сразу моментально исправляю тк обновления отправляю каждый день десятками клиентов. |
|||
43
izekia
27.06.12
✎
14:12
|
Евгений красавчик))
|
|||
44
izekia
27.06.12
✎
14:13
|
(37) ну суть в том, что там не три колонки может быть а больше, но в общем я сам неправильно условие написал
|
|||
45
Dirk Diggler
27.06.12
✎
15:46
|
кстати, соединение с календарем не канает.
|
|||
46
Dirk Diggler
27.06.12
✎
15:50
|
для пробы сделал вот такой запрос. показывает опять-таки только дни, в которые были движения.
ВЫБРАТЬ СвободныеОстаткиОстаткиИОбороты.Номенклатура, СвободныеОстаткиОстаткиИОбороты.Период КАК Период, СвободныеОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(&НачалоПериода, , День, , Склад В (&СкладГруппа)) КАК СвободныеОстаткиОстаткиИОбороты ПО (СвободныеОстаткиОстаткиИОбороты.Период = РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) ГДЕ СвободныеОстаткиОстаткиИОбороты.Номенклатура = &Номенклатура СГРУППИРОВАТЬ ПО СвободныеОстаткиОстаткиИОбороты.Номенклатура, СвободныеОстаткиОстаткиИОбороты.Период, СвободныеОстаткиОстаткиИОбороты.КоличествоКонечныйОстаток УПОРЯДОЧИТЬ ПО Период |
|||
47
andrewks
27.06.12
✎
15:55
|
так тебе Остатки нужны, не?
|
|||
48
Dirk Diggler
27.06.12
✎
15:56
|
вообще да. А как таблицу остатков с календарем соединить?
|
|||
49
Maniac
27.06.12
✎
16:18
|
(45) ясень пень не канает если криво написано
|
|||
50
Maniac
27.06.12
✎
16:20
|
| ОБЪЕДИНИТЬ ВСЕ
| | ВЫБРАТЬ | НоменклатураСКолДней.Номенклатура, | НоменклатураСКолДней.ХарактеристикаНоменклатуры, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | СУММА(НоменклатураСКолДней.КоличествоДнейВПродаже), | 0, | 0, | 0 | ИЗ | (ВЫБРАТЬ | РабочиеДниНоменклатуры.Номенклатура КАК Номенклатура, | РабочиеДниНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(ВЫБОР | КОГДА ИсторияОстатков.КоличествоКонечныйОстаток > 0 | ИЛИ КОНЕЦПЕРИОДА(РабочиеДниНоменклатуры.ДатаКалендаря, ДЕНЬ) = КОНЕЦПЕРИОДА(ИсторияОстатков.Период, ДЕНЬ) | И ИсторияОстатков.КоличествоКонечныйОстаток <= ИсторияОстатков.КоличествоРасход | И (НЕ ИсторияОстатков.КоличествоРасход = 0) | И ИсторияОстатков.КоличествоНачальныйОстаток > 0 | ТОГДА 1 | ИНАЧЕ 0 | КОНЕЦ) КАК КоличествоДнейВПродаже | ИЗ | (ВЫБРАТЬ | ДниКалендаря.ДатаКалендаря КАК ДатаКалендаря, | МАКСИМУМ(ИсторияОстатков.Период) КАК Период, | ИсторияОстатков.Номенклатура КАК Номенклатура, | ИсторияОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры | ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК ДниКалендаря | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ИсторияОстатков.Период КАК Период, | ИсторияОстатков.Номенклатура КАК Номенклатура, | ИсторияОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(ИсторияОстатков.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, | СУММА(ИсторияОстатков.КоличествоРасход) КАК КоличествоРасход, | СУММА(ИсторияОстатков.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток | ИЗ | (ВЫБРАТЬ | ТоварыНаСкладах.Период КАК Период, | ТоварыНаСкладах.Номенклатура КАК Номенклатура, | ТоварыНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТоварыНаСкладах.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, | ТоварыНаСкладах.КоличествоРасход КАК КоличествоРасход, | ТоварыНаСкладах.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток | ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, ДЕНЬ, , {(Номенклатура).* КАК Номенклатура, (Склад.Подразделение).* КАК Подразделение, (Склад).* КАК Склад}) КАК ТоварыНаСкладах | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ТоварыВРознице.Период, | ТоварыВРознице.Номенклатура, | ТоварыВРознице.ХарактеристикаНоменклатуры, | ТоварыВРознице.КоличествоНачальныйОстаток, | ТоварыВРознице.КоличествоРасход, | ТоварыВРознице.КоличествоКонечныйОстаток | ИЗ | РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, ДЕНЬ, , {(Номенклатура).* КАК Номенклатура, (Склад.Подразделение).* КАК Подразделение, (Склад).* КАК Склад}) КАК ТоварыВРознице) КАК ИсторияОстатков | | СГРУППИРОВАТЬ ПО | ИсторияОстатков.Период, | ИсторияОстатков.Номенклатура, | ИсторияОстатков.ХарактеристикаНоменклатуры) КАК ИсторияОстатков | ПО (НАЧАЛОПЕРИОДА(ДниКалендаря.ДатаКалендаря, ДЕНЬ) >= НАЧАЛОПЕРИОДА(ИсторияОстатков.Период, ДЕНЬ)) | ГДЕ | ДниКалендаря.ДатаКалендаря <= &ДатаКонПродаж | И ДниКалендаря.ДатаКалендаря >= &ДатаНачПродаж | И ДниКалендаря.ВидДня В(&ПереченьРабочихДней) | | СГРУППИРОВАТЬ ПО | ДниКалендаря.ДатаКалендаря, | ИсторияОстатков.Номенклатура, | ИсторияОстатков.ХарактеристикаНоменклатуры) КАК РабочиеДниНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ИсторияОстатков.Период КАК Период, | ИсторияОстатков.Номенклатура КАК Номенклатура, | ИсторияОстатков.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(ИсторияОстатков.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, | СУММА(ИсторияОстатков.КоличествоРасход) КАК КоличествоРасход, | СУММА(ИсторияОстатков.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток | ИЗ | (ВЫБРАТЬ | ТоварыНаСкладах.Период КАК Период, | ТоварыНаСкладах.Номенклатура КАК Номенклатура, | ТоварыНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ТоварыНаСкладах.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, | ТоварыНаСкладах.КоличествоРасход КАК КоличествоРасход, | ТоварыНаСкладах.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток | ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, ДЕНЬ, , {(Номенклатура).* КАК Номенклатура, (Склад.Подразделение).* КАК Подразделение, (Склад).* КАК Склад}) КАК ТоварыНаСкладах | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ТоварыВРознице.Период, | ТоварыВРознице.Номенклатура, | ТоварыВРознице.ХарактеристикаНоменклатуры, | ТоварыВРознице.КоличествоНачальныйОстаток, | ТоварыВРознице.КоличествоРасход, | ТоварыВРознице.КоличествоКонечныйОстаток | ИЗ | РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, ДЕНЬ, , {(Номенклатура).* КАК Номенклатура, (Склад.Подразделение).* КАК Подразделение, (Склад).* КАК Склад}) КАК ТоварыВРознице) КАК ИсторияОстатков | | СГРУППИРОВАТЬ ПО | ИсторияОстатков.Период, | ИсторияОстатков.Номенклатура, | ИсторияОстатков.ХарактеристикаНоменклатуры) КАК ИсторияОстатков | ПО РабочиеДниНоменклатуры.Период = ИсторияОстатков.Период | И РабочиеДниНоменклатуры.Номенклатура = ИсторияОстатков.Номенклатура | И РабочиеДниНоменклатуры.ХарактеристикаНоменклатуры = ИсторияОстатков.ХарактеристикаНоменклатуры | | СГРУППИРОВАТЬ ПО | РабочиеДниНоменклатуры.Номенклатура, | РабочиеДниНоменклатуры.ХарактеристикаНоменклатуры) КАК НоменклатураСКолДней | | СГРУППИРОВАТЬ ПО | НоменклатураСКолДней.Номенклатура, | НоменклатураСКолДней.ХарактеристикаНоменклатуры) КАК ВложенныйЗапрос |
|||
51
andrewks
27.06.12
✎
16:21
|
вот это портянка
|
|||
52
andrewks
27.06.12
✎
16:24
|
(48) а что конкретно тебе надо? чтобы входили дни, когда остаток нулевой? или что?
|
|||
53
Dirk Diggler
27.06.12
✎
16:33
|
нужно отношение дней когда свободный остаток номенклатуры >0 к количеству рабочих дней.
причем чтобы это отношение высчитывалось только для тех периодов(месяцы, кварталы), когда были продажи по этой позиции. |
|||
54
Dirk Diggler
27.06.12
✎
16:34
|
я пошел по пути вот этого: http://infostart.ru/public/101321/
|
|||
55
Maniac
27.06.12
✎
16:41
|
(54) о чем я и говорил. через время тебе скажут что все работает неправильно.
|
|||
56
Dirk Diggler
27.06.12
✎
16:44
|
(55) мне никто ничего не скажет. и кстати. все работает заепца.
|
|||
57
Maniac
27.06.12
✎
16:46
|
(56) да мне тоже в принципе поуй))
|
|||
58
Maniac
27.06.12
✎
16:47
|
тока как бы на начало дня считать - тоже неправильно. Товар пришел утром и поступил в продажу.
Или пришел и продался. на начало дня его нет, на конец нет. но он был и продавался. |
|||
59
Dirk Diggler
27.06.12
✎
16:48
|
(58) я тебе кажется уже говорил, что у меня специфика?
|
|||
60
Maniac
27.06.12
✎
19:44
|
Специфика в получении остатков?)))) такая что ты первый попавшийся запрос который нашел выловил и уже доволен.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |