![]() |
![]() |
![]() |
|
При указании метода дополнения ДвиженияИГраницыИнтервала в запросе к виртуа | ☑ | ||
---|---|---|---|---|
0
1c_voage
25.10.07
✎
21:32
|
При указании метода дополнения ДвиженияИГраницыИнтервала в запросе к виртуальной таблице остатков и оборотов для тех операций, по которым не было движений в периоде, за кот-ый формируется отчет, два раза дублируется строка остатка. Один раз - на дату начала периода, 2-ой раз - на конечную дату. Получается, что в итоге сумма остатка удваивается. Что делать? Как можно избавиться от этого. Ведь если указать Движения, тогда остатки вообще не возьмутся.
|
|||
1
ТелепатБот
гуру
25.10.07
✎
21:32
|
||||
2
Wladimir_spb
25.10.07
✎
21:35
|
В нормальных запросах начальный и конечный остаток не складываются. Посмотрите любой стд. отчет.
|
|||
3
1c_voage
25.10.07
✎
21:38
|
Не сказать, что у меня совсем нормальный запрос.
|
|||
4
Wladimir_spb
25.10.07
✎
21:44
|
Либо "нормализуйте" запрос, чтобы сработали механизмы платформы, либо разруливайте эту ситуацию самостоятельно, явно разделяя остатки.
|
|||
5
1c_voage
25.10.07
✎
21:46
|
Вот запрос. Честно говоря, уже не способна думать над этим, поэтому спрашиваю.
"ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачОст, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата, | РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) КАК РазностьДат, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) > -36 | И РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) < 0 | И &НачДата > ОстаткиИОбороты.Сделка.Дата | ТОГДА ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум0_35, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) < -35 | И РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) > -51 | И &НачДата > ОстаткиИОбороты.Сделка.Дата | ТОГДА ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум36_50, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) < -50 | И РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) > -71 | И &НачДата > ОстаткиИОбороты.Сделка.Дата | ТОГДА ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум51_70, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) < -70 | И &НачДата > ОстаткиИОбороты.Сделка.Дата | ТОГДА ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты"; |ИТОГИ | СУММА(НачОст), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата), | СУММА(НачСум0_35), | СУММА(НачСум36_50), | СУММА(НачСум51_70), | СУММА(НачСум70_) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | Период, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
6
Wladimir_spb
25.10.07
✎
22:00
|
Утро вечера мудренее...
|
|||
7
1c_voage
25.10.07
✎
22:01
|
Это точно. Только времени нет
|
|||
8
selenat
25.10.07
✎
22:22
|
(0) Где удваиваются остатки? В итоговых строках любых уровней вроде не должны бы. В каком виде выводишь отчет? Если смущают лишние строки в детальных записях, то их при выводе (обходе группировок выборки) можно просто пропусать. Или ты пользуешься построителем?
|
|||
9
1c_voage
25.10.07
✎
22:26
|
Остатки удваиваются при суммировании полей выборки НачСум0_35,НачСум36_50,НачСум51_70,НачСум70_.
Я уже даже объединение делаю с аналогичным запросом, только по основным остаткам ставлю 0 Как НачСум. И все равно выводит двойные суммы. |
|||
10
1c_voage
25.10.07
✎
22:33
|
В дереве значений вижу есть 2 строки. Одна:
Контрагент Сделка 01.10.2007 1770 Контрагент Сделка 31.10.2007 1770 Выше соответственно Контрагент Сделка 3440 |
|||
11
Wladimir_spb
25.10.07
✎
22:35
|
При использование функции ВЫБОР не работает стандартный платформенный механизм обработки остатков по периодам и включается простое суммирование. Поможет вам (4).
|
|||
12
selenat
25.10.07
✎
22:37
|
(11) а если использовать ОБЪЕДИНИТЬ ВСЕ, вынеся все поля типа ВЫБОР во второй запрос, а в первом соотвтественно эти поля = 0? Поможет?
|
|||
13
1c_voage
25.10.07
✎
22:37
|
Вот и я подумала, что похоже на то. Остатки считаются, как и должны, а эти поля как-то не так и думала их обычным суммированием делать. Ясно тогда. Правда, еще не ясно, что делать
|
|||
14
1c_voage
25.10.07
✎
22:40
|
to Wladimir spb: а где такую информацию можно прочесть?
|
|||
15
Wladimir_spb
25.10.07
✎
22:45
|
(14) Не знаю. Я эти выводы из собственного опыта получил. И на форуме где-то подобное обсуждение видел.
Тут либо уходить от функции ВЫБОР через Объединение/Соединение. Либо явно разделять остатки или не использовать итоги, как-то это делалось. Помню, что делал в разных случаях по-разному, но в чем фишка сейчас сказать не могу. |
|||
16
1c_voage
25.10.07
✎
22:47
|
У меня не получится явно разделить остатки, так как нужна детализация до регистратора. Да, конечно. Туманность немного все-таки проясняется
|
|||
17
Wladimir_spb
25.10.07
✎
22:52
|
не суммируй остатки. Получай их отдельно во вложеном запросе. Не самый красивый вариант, но сработает.
|
|||
18
1c_voage
25.10.07
✎
22:56
|
Имеются в виду остатки обычные или те, которые я через Выбор делаю
|
|||
19
Wladimir_spb
25.10.07
✎
23:00
|
Те которые у тебя двоятся.
|
|||
20
1c_voage
25.10.07
✎
23:00
|
Сейчас попробую. Вы только никуда не уходите :))
|
|||
21
selenat
25.10.07
✎
23:02
|
Короче, попробуй перенести все поля, содержащие ВЫБОР во вложенный запрос (видимо вирт. табл. остатков на НачДата) и соединяй основной запрос с этим вложенным по договору и сделке.
|
|||
22
1c_voage
25.10.07
✎
23:10
|
Может, я что не так поняла. Сделала. Только уже с объединением. Все равно двоит. Привожу текст. Если не так поняла, то скажите, пожалуйста.
"ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачОст, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата, | 0 КАК РазностьДат, | 0 КАК НачСум0_35, | 0 КАК НачСум36_50, | 0 КАК НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ВложенныйЗапрос.Контрагент, | ВложенныйЗапрос.ТоргПред, | ВложенныйЗапрос.Координатор, | ВложенныйЗапрос.Сделка, | ВложенныйЗапрос.Период, | ВложенныйЗапрос.РегистраторДвижения, | ВложенныйЗапрос.НачОст, | ВложенныйЗапрос.КонОст, | ВложенныйЗапрос.Отгрузка, | ВложенныйЗапрос.Оплата, | ВложенныйЗапрос.РазностьДат, | ВложенныйЗапрос.НачСум0_35, | ВложенныйЗапрос.НачСум36_50, | ВложенныйЗапрос.НачСум51_70, | ВложенныйЗапрос.НачСум70_ |ИЗ | (ВЫБРАТЬ | ОстаткиИОборотыДет.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОборотыДет.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОборотыДет.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОборотыДет.Сделка КАК Сделка, | ОстаткиИОборотыДет.Период КАК Период, | ОстаткиИОборотыДет.Регистратор КАК РегистраторДвижения, | 0 КАК НачОст, | 0 КАК КонОст, | 0 КАК Отгрузка, | 0 КАК Оплата, | РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) КАК РазностьДат, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) > -36 | И РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) < 0 | И &НачДата > ОстаткиИОборотыДет.Сделка.Дата | ТОГДА ОстаткиИОборотыДет.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум0_35, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) < -35 | И РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) > -51 | И &НачДата > ОстаткиИОборотыДет.Сделка.Дата | ТОГДА ОстаткиИОборотыДет.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум36_50, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) < -50 | И РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) > -71 | И &НачДата > ОстаткиИОборотыДет.Сделка.Дата | ТОГДА ОстаткиИОборотыДет.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум51_70, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, ОстаткиИОборотыДет.Сделка.Дата, ДЕНЬ) < -70 | И &НачДата > ОстаткиИОборотыДет.Сделка.Дата | ТОГДА ОстаткиИОборотыДет.СуммаВзаиморасчетовНачальныйОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум70_ | ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОборотыДет) КАК ВложенныйЗапрос |ИТОГИ | СУММА(НачОст), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата), | СУММА(НачСум0_35), | СУММА(НачСум36_50), | СУММА(НачСум51_70), | СУММА(НачСум70_) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | Период, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
23
selenat
25.10.07
✎
23:15
|
(22) слишком сложно. Во-первых, вложенный запрос тебе достаточно взять остатки на НачДата (а не остатки и обороты). Во вложенном запросе не обязательно сохранять структуру полей внешнего запроса, 0 можно убрать. И потом, делай левым соединением...
|
|||
24
1c_voage
25.10.07
✎
23:18
|
Дело в том, что это упрощенный вариант моего запроса. Мне нужны еще и конечные остатки таким же образом. Мне почему-то кажется, что за счет соединений у меня могут продублироваться и основные остатки
|
|||
25
selenat
25.10.07
✎
23:19
|
ВЫБРАТЬ
| ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачОст, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата, | ВложенныйЗапрос.РазностьДат, | ВложенныйЗапрос.НачСум0_35, | ВложенныйЗапрос.НачСум36_50, | ВложенныйЗапрос.НачСум51_70, | ВложенныйЗапрос.НачСум70_ ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ... ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&НачДата,...)) КАК ВложенныйЗапрос ПО ОстаткиИОбороты.ДоговорКонтрагента = ВложенныйЗапрос.ДоговорКонтрагента И ОстаткиИОбороты.Сделка= ВложенныйЗапрос.Сделка Попробуй как-то так... |
|||
26
1c_voage
25.10.07
✎
23:19
|
И я не совсем понимаю тогда, где должен находиться вложенный запрос.
|
|||
27
selenat
25.10.07
✎
23:19
|
(24) усложнять будешь потом.Добейся получения правильных итогов на запросе такой структуры...
|
|||
28
selenat
25.10.07
✎
23:20
|
(26) смотри (25)...
|
|||
29
Wladimir_spb
25.10.07
✎
23:24
|
Как у вас все лихо продвигается :)
Но могу заметить, что если вычислять НачСум не через ВЫБОР а через вложеные запросы, то работать наверняка будет в 1,5-2 раза быстрее и проблема с платформенным механизмом уйдет сама собой) |
|||
30
selenat
25.10.07
✎
23:27
|
(29) ты имеешь в виду перенос конструкций ВЫБОР во вложенный запрос или хочешь сказать, что ВЫБОР вообще можно не использовать?
|
|||
31
Wladimir_spb
25.10.07
✎
23:33
|
Выбор вообще не использовать. Сделать много вложеных запросов.
Я как-то тестил запрос для подбора (там ведь очень критична производительность) и получилось, что запрос с вложеными подзапросами раза в 2 эффективнее, чем с ВЫБОР. Вообще стараюсь использовать эту функцию как можно реже. Да, и обединение отрабатывает несколько быстрее, чем соединение. Так что рекомендую полностью переписать запрос :) |
|||
32
1c_voage
25.10.07
✎
23:38
|
Неа, пока удваиваются. Привожу написанное
"ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачОст, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата, | ВложенныйЗапрос.РазностьДат, | ВложенныйЗапрос.НачСум0_35 КАК НачСум0_35, | ВложенныйЗапрос.НачСум36_50 КАК НачСум36_50, | ВложенныйЗапрос.НачСум51_70 КАК НачСум51_70, | ВложенныйЗапрос.НачСум70_ КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, | Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | Подзапрос.ДоговорКонтрагента КАК ДоговорКонтрагента, | Подзапрос.Сделка КАК Сделка, | Подзапрос.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток, | РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) КАК РазностьДат, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) > -36 | И РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) < 0 | И &НачДата > Подзапрос.Сделка.Дата | ТОГДА Подзапрос.СуммаВзаиморасчетовОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум0_35, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) < -35 | И РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) > -51 | И &НачДата > Подзапрос.Сделка.Дата | ТОГДА Подзапрос.СуммаВзаиморасчетовОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум36_50, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) < -50 | И РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) > -71 | И &НачДата > Подзапрос.Сделка.Дата | ТОГДА Подзапрос.СуммаВзаиморасчетовОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум51_70, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&НачДата, Подзапрос.Сделка.Дата, ДЕНЬ) < -70 | И &НачДата > Подзапрос.Сделка.Дата | ТОГДА Подзапрос.СуммаВзаиморасчетовОстаток | ИНАЧЕ 0 | КОНЕЦ КАК НачСум70_ | ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&НачДата, ) КАК Подзапрос) | КАК ВложенныйЗапрос | ПО ОстаткиИОбороты.ДоговорКонтрагента = ВложенныйЗапрос.ДоговорКонтрагента | И ОстаткиИОбороты.Сделка = ВложенныйЗапрос.Сделка |ИТОГИ | СУММА(НачОст), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата), | СУММА(НачСум0_35), | СУММА(НачСум36_50), | СУММА(НачСум51_70), | СУММА(НачСум70_) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | Период, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
33
selenat
25.10.07
✎
23:38
|
(31) что-то я не соображу как сделать без ВЫБОР. Ей ведь СуммаВзаиморасчетовНачальныйОстаток надо определить в одно из 4 полей в зависимости от "возраста" сделки. Но в любом случае, какая разница каким образом получены эти данные во вложенном запросе (с использованием ВЫБОР или нет), ведь в основном запросе, где будем брать итоги ВЫБОР уже не используется...
|
|||
34
1c_voage
25.10.07
✎
23:40
|
Я понимаю, что Wladimir spb рекомендует для каждого поля выборки вида НачСум0_35,НачСум36_50 написать свой вложенный запрос. Только, честно говоря, не представляю, как это выглядит. Либо не сталкивалась с таким, либо просто туплю.
|
|||
35
selenat
25.10.07
✎
23:41
|
(34) анналогично...
|
|||
36
Wladimir_spb
25.10.07
✎
23:41
|
Для каждого поля свой запрос со своими парамерами вирт. таблицы. Итог можно просто собрать как итог по каждому полю и как сумму итогов по всем полям, отдельный запрос для этого не понадобится.
|
|||
37
1c_voage
25.10.07
✎
23:43
|
to selenat: то есть? Честно говоря, в последнее время плохо сплю. Так что ближе к вечеру начинаю тупеть
|
|||
38
Wladimir_spb
25.10.07
✎
23:44
|
(37) см (6) :)
|
|||
39
selenat
25.10.07
✎
23:44
|
(37) это к какому посту вопрос? используй цифирки в скобочках. :))
|
|||
40
1c_voage
25.10.07
✎
23:44
|
Можно как-нибудь наглядно.
|
|||
41
1c_voage
25.10.07
✎
23:46
|
to selenat: это к 35 посту. Я не знаю, каким образом, эти циферки в скобочках становятся ссылкой :))
|
|||
42
Wladimir_spb
25.10.07
✎
23:47
|
| ОстаткиИОбороты.СуммаВзаиморасчетовОстаток КАК НачСум0_35,
| 0 КАК НачСум36_50, | 0 КАК НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата0, &Дата35, Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты | |ОБЪЕДИНИТЬ | 0 КАК НачСум0_35, | ОстаткиИОбороты.СуммаВзаиморасчетовОстаток КАК НачСум36_50, | 0 КАК НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&Дата36, &Дата50, Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты | |ОБЪЕДИНИТЬ .... |
|||
43
Wladimir_spb
25.10.07
✎
23:48
|
(41) А ты попробуй) Они сами ссылкой становятся. Типа (1), (2), (3)
|
|||
44
selenat
25.10.07
✎
23:49
|
Видимо Объединение запросов. Типа
(СуммаВзаиморасчетовОстаток, 0, 0, 0 ИЗ ... ГДЕ Сделка.Дата МЕЖДУ ... ОБЪЕДИНИТЬ ВСЕ 0, СуммаВзаиморасчетовОстаток, 0, 0 ИЗ ... ГДЕ Сделка.Дата МЕЖДУ ... ОБЪЕДИНИТЬ ВСЕ 0, 0, СуммаВзаиморасчетовОстаток, 0 ИЗ ... ГДЕ Сделка.Дата МЕЖДУ ... ) СГРУППИРОВАТЬ |
|||
45
selenat
25.10.07
✎
23:49
|
(42) ага. Сообазил (44) :)))
|
|||
46
Wladimir_spb
25.10.07
✎
23:50
|
Только
ГДЕ Сделка.Дата МЕЖДУ ... не есть хорошо :) |
|||
47
selenat
25.10.07
✎
23:50
|
(41) клавиатура рулит... :)))
|
|||
48
selenat
25.10.07
✎
23:51
|
(46) почему? и как лучше?
ЗЫ Там ведь даты можно параметрами в запрос передавать, количества дней то у нее фиксированы от НачДата... |
|||
49
1c_voage
25.10.07
✎
23:52
|
Знаю такой способ. Получается, придется вычислять граничные даты интервалов вне запроса.
Кроме того, нужно ли здесь в итогах суммировать, кроме НачСум, еще и НачСум0_35,НачСум36_50,... |
|||
50
1c_voage
25.10.07
✎
23:54
|
Это я (49) написала к посту (36)
|
|||
51
Wladimir_spb
25.10.07
✎
23:56
|
(48) Все надо решать в параметрах вирт. таблиц иначе тормозить будет.
(49) Ну, может дальше на самостоятельное рассмотрение) Там уже ничего интересного не осталось... |
|||
52
selenat
25.10.07
✎
23:58
|
(51) Зачем? Мы ведь не выбираем данные за период вирт. таблицы. А берем остаток на дату, просто помещаем его в зависимости от того, в каком диапазоне дата сделки...
|
|||
53
1c_voage
25.10.07
✎
23:59
|
Все таки Вы бы никуда не уходили. Я пишу.
|
|||
54
selenat
26.10.07
✎
00:00
|
меня жена в теплой постели ждет. А я тут как дурак на форуме сижу. :)))
|
|||
55
1c_voage
26.10.07
✎
00:04
|
А как быть в таком случае с конечными остатками? Мне нужно КонСум0_35, только уже отталкиваясь от КонДаты отчета, а не от начдаты. Кроме того, еще есть оплаты, которые нужно тоже распределить по периодам 0-35,35-50,...как разницу между датой оплаты и датой сделки(дата записи - сделка.дата).
Не соображу. Количество объединений увеличится в 3 раза или для коностатков все будет нормально, а для оплат дополнительно нужно объединять |
|||
56
Wladimir_spb
26.10.07
✎
00:06
|
(52) А так (вирт.таб.) ты будешь сразу выбирать сделки из определенных диапазонов)
(54) ))) |
|||
57
Wladimir_spb
26.10.07
✎
00:08
|
(55) еще раз см.(6). Утром все окажется очень простым :)
|
|||
58
1c_voage
26.10.07
✎
00:09
|
Ну серьезно. Я уже домой собираюсь. Все равно никак не соображу. Может, во сне это все скомпонуется в запрос, а может, и нет.
|
|||
59
selenat
26.10.07
✎
00:11
|
(56.1) типа Остатки(&НачДата,,,Сделка.Дата МЕЖДУ ... ) - да. Не подумал. Торможу.
(55) соединяй свою основную таблицу несколькими левыми соединениями с вложенными запросами структуры типа (44)... |
|||
60
selenat
26.10.07
✎
00:12
|
(58) у тебя щас скока на часах?
|
|||
61
1c_voage
26.10.07
✎
00:14
|
Что-то, блин, я не дотямкаю, почему они все-таки вложенные эти запросы.
|
|||
62
1c_voage
26.10.07
✎
00:14
|
(60) 23:09
|
|||
63
1c_voage
26.10.07
✎
00:15
|
Это я свою работу люблю. И комп продала, еще не купила, поэтому на работе так поздно сижу
|
|||
64
Wladimir_spb
26.10.07
✎
00:15
|
(61) не о том думаешь, с терминологией потом разберешься, тем более что здесь они действительно не вложенные :)
|
|||
65
selenat
26.10.07
✎
00:16
|
(61)
Сравни ВЫБРАТЬ ... ИЗ РегистрНакопления.... или ВЫБРАТЬ ... ИЗ (ВЫБРАТЬ... ИЗ ...) Второй варант с вложенным запросом... |
|||
66
selenat
26.10.07
✎
00:17
|
(63) это пройдет...
|
|||
67
1c_voage
26.10.07
✎
00:17
|
Так я и понимаю, только, наверное, просто в (42) еще все мои поля не дописаны и ресурсы. Да?
|
|||
68
selenat
26.10.07
✎
00:18
|
(67) в (42) описана как раз структура вложенного запроса, с которым тебе надо будет ОстаткиИОбороты соединять
|
|||
69
Wladimir_spb
26.10.07
✎
00:18
|
Я уже не люблю твою работу... )))
|
|||
70
Wladimir_spb
26.10.07
✎
00:20
|
(68) Честно говоря, мне кажется, что все можно получить на одном уровне. Без вложеных запросов...) И итоговые остатки в том числе
|
|||
71
selenat
26.10.07
✎
00:21
|
(70) большим количествоб ОБЪЕДИНЕНИЙ и группировкой?
|
|||
72
Wladimir_spb
26.10.07
✎
00:23
|
Ну, типа того. Хотя вместо группировки лучше использовать итоги.
|
|||
73
selenat
26.10.07
✎
00:23
|
(72) ну да. Видимо так...
|
|||
74
selenat
26.10.07
✎
00:26
|
Да, вроде все вырисовывается. Объединение 5 запросов. Тока я бы результат этого объединения все равно сгруппировал, а потом уже итоги брал...
|
|||
75
1c_voage
26.10.07
✎
00:26
|
С НачСум0_35,НачСум36_50,НачСум51_70 все понятно. А вот,когда мне нужно для тех долгов, что > 70. Тогда получается, что остаток смотрю на &начдата=начдатаотчета-70, а &кондата не понятно, какая. И совпадет ли НачОст (то есть остаток в целом) с суммой всех этих НачСум0_35,НачСум36_50,НачСум51_70 и НачСум70_.
Если все красиво. То тогда я объединяю и все остальные "объединения": для КонСум0_... и для оплат. |
|||
76
1c_voage
26.10.07
✎
00:27
|
А большое кол-во объединений не даст мне ошибку про доступ 256 таблиц
|
|||
77
selenat
26.10.07
✎
00:28
|
(75) абсолютно нет разницы - используешь диапазон дат или условие на >...
|
|||
78
Wladimir_spb
26.10.07
✎
00:28
|
)))
Видимо это будет очень БОЛЬШОЕ количество объединений) |
|||
79
selenat
26.10.07
✎
00:29
|
(76) не думаю. До этого ограничения тебе скорее всего еще далеко...
|
|||
80
1c_voage
26.10.07
✎
00:30
|
:)) (79) я уже его достигала в своем предыдущем отчете. Так что я могу
|
|||
81
1c_voage
26.10.07
✎
00:31
|
(77) почему нет разницы
|
|||
82
selenat
26.10.07
✎
00:31
|
(80) мне как-то раз это тоже удалось. :)))
|
|||
83
Wladimir_spb
26.10.07
✎
00:32
|
Могу заметь, что перебором сделок и ВЫБРАТЬ на это ограничение можно натолкнуться гораздо раньше и совсем неожиданно...
|
|||
84
Wladimir_spb
26.10.07
✎
00:32
|
+(83)Собственно, (80) судя по всему лишнее тому подтверждение)))
|
|||
85
1c_voage
26.10.07
✎
00:34
|
Возможно:)) Ладно, Вы завтра здесь будете? Я убегаю. Уже такси приехало.
пока. |
|||
86
selenat
26.10.07
✎
00:35
|
(81)
ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачОст, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата, | РАЗНОСТЬДАТ(&НачДата, ОстаткиИОбороты.Сделка.Дата, ДЕНЬ) КАК РазностьДат, 0, 0, 0, 0 из ... Объединить Все 0, ... 0, Остатки.НачОстаток, 0, ... из Регистр.Остатки(ДатаНач,Сделка.Дата МЕЖДУ ...) Объединить Все 0, ... 0, Остатки.НачОстаток, 0, ... из Регистр.Остатки(ДатаНач,Сделка.Дата >...) |
|||
87
selenat
26.10.07
✎
00:36
|
ну, я пошел спать. У меня скоро час ночи...
|
|||
88
Wladimir_spb
26.10.07
✎
00:39
|
Всем пока)
Гуд найт |
|||
89
1c_voage
26.10.07
✎
11:10
|
Все равно двоятся НачСум0_35,НачСум36_50,НачСум51_70,НачСум70_. Не понимаю, почему. Убрала же уже все поля с Выбором. Пишу так:
"ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачОст, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата, | 0 КАК НачСум0_35, | 0 КАК НачСум36_50, | 0 КАК НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, |&КонДата, Запись, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ОстаткиИОбороты0_35.ДоговорКонтрагента.Владелец, | ОстаткиИОбороты0_35.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель, | ОстаткиИОбороты0_35.ДоговорКонтрагента.Владелец.ю_Координатор, | ОстаткиИОбороты0_35.Сделка, | ОстаткиИОбороты0_35.Период, | ОстаткиИОбороты0_35.Регистратор, | 0, | 0, | 0, | 0, | ОстаткиИОбороты0_35.СуммаВзаиморасчетовНачальныйОстаток, | 0, | 0, | 0 |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -36 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < 0 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты0_35 | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ОстаткиИОбороты36_50.ДоговорКонтрагента.Владелец, | ОстаткиИОбороты36_50.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель, | ОстаткиИОбороты36_50.ДоговорКонтрагента.Владелец.ю_Координатор, | ОстаткиИОбороты36_50.Сделка, | ОстаткиИОбороты36_50.Период, | ОстаткиИОбороты36_50.Регистратор, | 0, | 0, | 0, | 0, | 0, | ОстаткиИОбороты36_50.СуммаВзаиморасчетовНачальныйОстаток, | 0, | 0 |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -35 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -51 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты36_50 | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ОстаткиИОбороты51_70.ДоговорКонтрагента.Владелец, | ОстаткиИОбороты51_70.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель, | ОстаткиИОбороты51_70.ДоговорКонтрагента.Владелец.ю_Координатор, | ОстаткиИОбороты51_70.Сделка, | ОстаткиИОбороты51_70.Период, | ОстаткиИОбороты51_70.Регистратор, | 0, | 0, | 0, | 0, | 0, | 0, | ОстаткиИОбороты51_70.СуммаВзаиморасчетовНачальныйОстаток, | 0 |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -50 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -71 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты51_70 | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец, | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель, | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец.ю_Координатор, | ОстаткиИОбороты70_.Сделка, | ОстаткиИОбороты70_.Период, | ОстаткиИОбороты70_.Регистратор, | 0, | 0, | 0, | 0, | 0, | 0, | 0, | ОстаткиИОбороты70_.СуммаВзаиморасчетовНачальныйОстаток |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -70 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты70_ |ИТОГИ | СУММА(НачОст), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата), | СУММА(НачСум0_35), | СУММА(НачСум36_50), | СУММА(НачСум51_70), | СУММА(НачСум70_) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | Период, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
90
selenat
26.10.07
✎
11:12
|
(89) похоже, трабла была не в ВЫБОР... :)
|
|||
91
1c_voage
26.10.07
✎
11:18
|
Наверное. В дереве значений показывает опять же
Контрагент Сделка 01.10.2007 1770 Контрагент Сделка 31.10.2007 1770 Итого: Контрагент Сделка 3540 |
|||
92
selenat
26.10.07
✎
11:22
|
(91) попробуй еще сгруппировать поля, хотя вряд ли повлияет
|
|||
93
selenat
26.10.07
✎
11:47
|
как успехи?
|
|||
94
1c_voage
26.10.07
✎
12:02
|
ничего хорошего. Даже руки уже опускаются.
|
|||
95
selenat
26.10.07
✎
12:06
|
(94) давай спокойно локализовывать проблему. Возьми один из запросов своего объединения и сформируй его с итогами. Посмотри - задваиваются ли итоги. Потом сделай то же со следующим...
|
|||
96
Пушистик
26.10.07
✎
12:08
|
Поля период и регистратор сильно нужны???
|
|||
97
1c_voage
26.10.07
✎
12:09
|
(96) нужны. Мне нужно детализировать до регистратора. А без периодичности этого не сделаешь.
|
|||
98
selenat
26.10.07
✎
12:14
|
(97) попробуй (95) у меня в запросе простой структуры ничего не задваивается. Нужно понять, что так влияет на резултат...
|
|||
99
selenat
26.10.07
✎
12:16
|
Секундочку. А зачем ты вставляешь Период и регистратор в итоги?
|
|||
100
selenat
26.10.07
✎
12:17
|
+99 это ведь по-любому детальные записи...
|
|||
101
selenat
26.10.07
✎
12:19
|
"ВЫБРАТЬ
| УчетДисконтныхКартОстаткиИОбороты.Кассир КАК Кассир, | УчетДисконтныхКартОстаткиИОбороты.Карта КАК Карта, | УчетДисконтныхКартОстаткиИОбороты.Регистратор, | УчетДисконтныхКартОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, | УчетДисконтныхКартОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, | УчетДисконтныхКартОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход, | УчетДисконтныхКартОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток |ИЗ | РегистрНакопления.УчетДисконтныхКарт.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Кассир = &Кассир) КАК УчетДисконтныхКартОстаткиИОбороты | |УПОРЯДОЧИТЬ ПО | Кассир, | Карта |ИТОГИ | СУММА(КоличествоНачальныйОстаток), | СУММА(КоличествоПриход), | СУММА(КоличествоРасход), | СУММА(КоличествоКонечныйОстаток) |ПО | Кассир, | Карта"; Ничего не задваивает... |
|||
102
1c_voage
26.10.07
✎
12:23
|
Потому что мне нужно будет оплаты (расход) тоже так разворачивать по интервалам и регистратору
|
|||
103
1c_voage
26.10.07
✎
12:26
|
попробуй добавить еще одно поле с нач остатком
|
|||
104
1c_voage
26.10.07
✎
12:26
|
+(103) и суммируй его
|
|||
105
selenat
26.10.07
✎
12:27
|
(102) Ладно. Ты попробовала взять итоги отдельно для каждого запроса из объединения? Задваивает?
|
|||
106
1c_voage
26.10.07
✎
12:35
|
Я смотрю. Пока не двоит. Только как-то с остатками странно. Что-то не то.
С обычными, я имею в виду. |
|||
107
1c_voage
26.10.07
✎
12:38
|
Точно, часть куда-то подевалась,хотя у них остатки должны быть.
|
|||
108
selenat
26.10.07
✎
12:41
|
(107) это в каком из запросов? Первом?
|
|||
109
1c_voage
26.10.07
✎
12:45
|
|ВЫБРАТЬ
| ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец Как Контрагент, | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель Как ТоргПред, | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец.ю_Координатор Как Координатор, | ОстаткиИОбороты70_.Сделка Как Сделка, | ОстаткиИОбороты70_.Период Как Период, | ОстаткиИОбороты70_.Регистратор Как РегистраторДвижения, | 0 КАК НачОст, | 0 КАК КонОст, | 0 КАК Отгрузка, | 0 КАК Оплата, | 0 Как НачСум0_35, | 0 КАК НачСум36_50, | 0 Как НачСум51_70, | ОстаткиИОбороты70_.СуммаВзаиморасчетовНачальныйОстаток КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, |РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -70 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты70_ |ИТОГИ | СУММА(НачОст), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата), | СУММА(НачСум0_35), | СУММА(НачСум36_50), | СУММА(НачСум51_70), | СУММА(НачСум70_) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | Период, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ"; Я попробовала на том, на котором суммы долгов давно висят. вот этот работает нормально для этих сумм. А если его с чем-то объединять, то будут проблемы |
|||
110
selenat
26.10.07
✎
12:46
|
Добавил еще одно поле у себя с КоличествоНачальныйОстаток, включил его в суммируемые. Только по нему почему-то итоги не формируются
|
|||
111
1c_voage
26.10.07
✎
12:47
|
В том-то все и дело. что-то тут не так
|
|||
112
Пушистик
26.10.07
✎
12:53
|
Предлагаю начать задачу с самого начала, какая таблица должна в итоге получится???
|
|||
113
selenat
26.10.07
✎
12:55
|
Действительно, в периоде, в котором не было движений задваивает КоличествоНачальныйОстаток.
|
|||
114
selenat
26.10.07
✎
12:55
|
(112) не, тут надо разобраться в чем дело на запросе предельно простой структуры...
|
|||
115
Пушистик
26.10.07
✎
12:56
|
И еще не вижу смысла в ДвиженияИГраницыПериода, может попробовать просто Движения???
|
|||
116
Пушистик
26.10.07
✎
12:57
|
(114) это (109) предельно простая структура???
|
|||
117
1c_voage
26.10.07
✎
12:58
|
(116) ну вообще-то да:))
|
|||
118
selenat
26.10.07
✎
13:02
|
(116) в (101) простая структура. Если пишу
"ВЫБРАТЬ | УчетБонусовОстаткиИОбороты.Кассир КАК Кассир, | УчетБонусовОстаткиИОбороты.Бонус КАК Бонус, | УчетБонусовОстаткиИОбороты.Регистратор, | УчетБонусовОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток1, | УчетБонусовОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, | УчетБонусовОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, | УчетБонусовОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход, | УчетБонусовОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, | УчетБонусовОстаткиИОбороты.Бонус.Номинал КАК БонусНоминал |ИЗ | РегистрНакопления.УчетБонусов.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор,, Кассир = &Кассир) КАК УчетБонусовОстаткиИОбороты | |УПОРЯДОЧИТЬ ПО | Кассир, | БонусНоминал, | Бонус |ИТОГИ | СУММА(КоличествоНачальныйОстаток1), | СУММА(КоличествоНачальныйОстаток), | СУММА(КоличествоПриход), | СУММА(КоличествоРасход), | СУММА(КоличествоКонечныйОстаток) |ПО | Кассир, | БонусНоминал, | Бонус"; то имею ту же траблу с задвоением... |
|||
119
Пушистик
26.10.07
✎
13:05
|
(118) Зачем КоличествоНачальныйостаток суммировать???
|
|||
120
selenat
26.10.07
✎
13:07
|
(119) что значит зачем? Чтоб итог этих значений иметь...
|
|||
121
Пушистик
26.10.07
✎
13:09
|
Если я правильно понимаю То получаем примерно это:
товар | НачОст | Приход | Расход | КонОст | товар1 | 10 | 0 | 0 | 10 | товар1 | 10 | 3 | 1 | 8 | товар1 | 8 | 0 | 3 | 11 | ИТОГО | 28 | 3 | 7 | 29 | |
|||
122
1c_voage
26.10.07
✎
13:09
|
Интересно, можно ли на этом форуме обращаться к 1С-никам из 1С. К кому-то, кто знает эту проблему изнутри
|
|||
123
Пушистик
26.10.07
✎
13:10
|
не 7, а 4
|
|||
124
Пушистик
26.10.07
✎
13:12
|
Или это в зависимости от периода
товар | НачОст | Приход | Расход | КонОст | товар1 | 10 | 0 | 0 | 10 | товар1 | 10 | 3 | 1 | 8 | товар1 | 8 | 0 | 3 | 11 | товар1 | 8 | 0 | 0 | 8 | ИТОГО | 36 | 3 | 7 | 37 | |
|||
125
1c_voage
26.10.07
✎
13:12
|
(121) что-то вроде, только
Контрагент|Сделка |Период |НачОст Контрагент1 Сделка1 01.10.2007 1770 Контрагент1 Сделка1 31.10.2007 1770 Итого 3540 А д.б. 1770 |
|||
126
Пушистик
26.10.07
✎
13:15
|
(125) Итого по начальному остатку чему должно быть равно??? Вроде остатку на начало периода, а не сумме остатков по записям
|
|||
127
1c_voage
26.10.07
✎
13:17
|
Правильно, остатку на начало периода, то есть 1770. А он берет 3540
|
|||
128
Пушистик
26.10.07
✎
13:18
|
ну так в запросе и написанно СУММА(НачОст), вот и получаем сумму
|
|||
129
1c_voage
26.10.07
✎
13:19
|
Может, считается, что в итогах может быть только один начальный остаток. 1-ый по счету или 2-ой, а другой считается простым суммированием
|
|||
130
1c_voage
26.10.07
✎
13:20
|
(128) У платформы есть определенный принцип расчета остатков. При нормальном раскладе ты получишь именно 1770. Т.е. если в полях выборки будешь указывать только один раз начальный остаток
|
|||
131
Пушистик
26.10.07
✎
13:22
|
Видимо должно получится что то вроде
Контрагент |Сделка |Период |НачОст Контрагент1| Сделка1| 01.10.2007| 1770 Контрагент1| Сделка1| 31.10.2007| 1770 Контрагент2| Сделка2| 31.10.2007| 1770 Итого 3540 |
|||
132
1c_voage
26.10.07
✎
13:24
|
(131) да
|
|||
133
Пушистик
26.10.07
✎
13:27
|
думаю итог проще посчитать другим запросом
|
|||
134
selenat
26.10.07
✎
13:30
|
(109) т.е. с первым из запросов самим по себе проблем нету? А итоги по втрому запросу неправильные? (именно не по их объединению, а отдельно по второму, третьему и т.д.)
|
|||
135
1c_voage
26.10.07
✎
13:30
|
Каким образом?
|
|||
136
1c_voage
26.10.07
✎
13:31
|
(134) сами по себе они все работают. Просто когда их начинаешь объединять, соединять либо что-то еще, т.е. когда в объединении нах-ся несколько полей остатков, тогда начинается ерунда
|
|||
137
Пушистик
26.10.07
✎
13:33
|
+(133) например так
ВЫБРАТЬ ВзаиморасчетыСКонтрагентамиОстатки.Контрагент КАК Контрагент, ВзаиморасчетыСКонтрагентамиОстатки.Сделка КАК Сделка, ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток КАК СуммаУпрОстаток ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКон, ) КАК ВзаиморасчетыСКонтрагентамиОстатки ИТОГИ СУММА(СуммаУпрОстаток) ПО ОБЩИЕ, Контрагент, Сделка |
|||
138
selenat
26.10.07
✎
13:33
|
(136) попробуй их объединение внести во вложенный запрос, сгруппировать, а потом уже взять итог.
|
|||
139
selenat
26.10.07
✎
13:34
|
(137) и что бы это значило? и к чему бы это? Вы хоть поняли в чем проблема?
|
|||
140
Пушистик
26.10.07
✎
13:36
|
запрос (109) выведет в (131) итог не 3540, а 5310 , потому что сам запрос не соответствует желаемому
|
|||
141
Пушистик
26.10.07
✎
13:39
|
Если есть проблемы при компановки данных одним запросом, то есть смысл разбить задачу на несколько и решать каждую отдельным запросом.
|
|||
142
selenat
26.10.07
✎
13:40
|
(140) уверена? Насколько я понял, со (109) как раз все в порядке...
|
|||
143
1c_voage
26.10.07
✎
13:40
|
(141) а как быть с регистратором?
|
|||
144
Пушистик
26.10.07
✎
13:42
|
(142) так получится (131) или (125) если использовать (109)
|
|||
145
selenat
26.10.07
✎
13:43
|
(141) угу. Собирай потом из десятка запросов данные соответствующих уровней. С учетом того, что нам нужно ДвиженияИГраницыПериода (т.е. с остатками по регисраторам)...
|
|||
146
Пушистик
26.10.07
✎
13:43
|
Тогда я действительно не понимаю проблему
|
|||
147
Пушистик
26.10.07
✎
13:45
|
Что должно получится, если 1) Движений за период не было
2) Если движения были??? |
|||
148
selenat
26.10.07
✎
14:15
|
интересно получается. Во втором поле, где УчетБонусовОстаткиИОбороты.КоличествоНачальныйОстаток сделал
УчетБонусовОстаткиИОбороты.КоличествоНачальныйОстаток+0 Задваивание ушло. |
|||
149
selenat
26.10.07
✎
14:22
|
+148 все итоги корректны.
Попробуй во все суммируемые поля добавить +0. Посмотри что получится... |
|||
150
selenat
26.10.07
✎
14:26
|
так. я убегаю по делам. Вечером еще загляну в веточку. Автору удачи.
|
|||
151
selenat
26.10.07
✎
18:26
|
как дела? что-нить получилось?
|
|||
152
1c_voage
26.10.07
✎
18:44
|
С возвращением. А с чего это ты +0 добавил? Прямо интересно. С ним в простейшем случае все нормально работает. Но нужно не ставить его у конечного остатка. А также, когда пробуешь вводить данные, приходится в какие-то суммируемые поля добавлять этот +0, а из каких-то убирать. Систему я не усмотрела.
А это что-то значит, или ты наобум. |
|||
153
selenat
26.10.07
✎
19:21
|
(152) в какой-то мере наобум.
Проверил, что если в качестве дополнительного суммируемого поля ставлю просто 0, то он не портит итоги. Значит, не любое поле все портит. Попробовал сделать так, чтобы оба одинаковых поля не совпадали полностью, хоть и давали одинаковый результат и это сработало. Видимо это фича платформы: Если в разных полях встречает абсолютно идентичные выражения, то суммирует их в итогах одного из полей. Так свою задачу ты решила или еще что-то не получатеся? |
|||
154
1c_voage
26.10.07
✎
19:33
|
Нет, конечно. Не решила.
Я тут к парням с работы обратилась. Так мне один сказал, что у него такое было, он промучался несколько дней и в итоге сделал отдельно 2 запроса. Один по контрагентам, торгпредам, координаторам и сделкам без периодичности и группировки по периоду и регистратору(!все-таки ты правильно заметил, именно в этом проблема). А другой запрос вызывается из цикла на этапе вывода в табдокумент с параметрами конкретный контрагент, конкр. торгпред, конкр. координатор и конкр. сделка. То есть фактически для каждой такой комбинации вызывается запрос. Он точно такой же, только с периодичностью и группировкой по регистратору. Это решение давно можно было бы сделать, конечно, и самой, но я даже мысли о таком не хочу допускать. Причем, этот отчет вып-ся |
|||
155
1c_voage
26.10.07
✎
19:36
|
+(154) minimum 18 минут, т.к. у меня много контрагентов, но почти не введены торгпреды, координаторы. Сделок за один месяц несколько сотен. А за проверяемый период регистраторов очень мало.
А у клиента на 7-чной базе отчет за 2 минуты вып-ся. А если в этом варианте вызова запроса в цикле если не детализировать до регистраторов, то вып-ся за 0.5 минуты. Но кому такое надо. У меня еще есть один день, чтобы решить этот вопрос нормально. |
|||
156
selenat
26.10.07
✎
19:42
|
(154,155) да, запрос в цикле - это оч плохо. Надо как-то подумать над структурой запроса, чтобы во-первых, все поля одного запроса отличались хотя-бы формально (типа в одном из них ставить +0), во-вторых, может быть получать итоги в одном запросе без детализации по периоду и регистратору и соединять его с запросом, который дает эти период и регистратор.
|
|||
157
1c_voage
26.10.07
✎
19:49
|
Запрос в цикле - это не очень плохо. Это ужасно.
Самое плохое решение, которое только можно придумать. Я не знаю, как для кого, а мне нужно не сделать, а сделать грамотно. Потому что в след. раз ты потратишь на это гораздо меньше времени, потому что будешь в этом прекрасно разбираться. Да и оптимальность очень важна. В общем, нет удовлетворения от проделанной работы и потраченной энергии. И в любом случае даже этот вариант клиенту не повезешь. |
|||
158
1c_voage
26.10.07
✎
19:50
|
а ты не знаешь, что это за Хомнет такой, что здесь на форуме обсуждают.
|
|||
159
selenat
26.10.07
✎
19:55
|
(158) понятия не имею. Сам спросил в той ветке. :)
(157) профессионализм это хорошо, но ИМХО не стоит быть такой принципиальной. Если на данном этапе не можешь решить задачу хорошо, то лучше решить плохо, чем вообще не решить. Но конечно, это не должно становиться правилом... :)) |
|||
160
1c_voage
26.10.07
✎
19:59
|
Я не принципиальная. Это мое жизненное кредо.
Просто начальство хочет, чтобы огромная цифра 18 минут уменьшилась, понимаешь. Я бы, конечно, могла отвезти в таком виде, а потом найти решение. Но... |
|||
161
selenat
26.10.07
✎
20:02
|
(160) если хочешь, выложи теперешний вид запроса и описание проблем, которые имеешь с ним сейчас. Только я сейчас убегаю на пару часов и опреативно не смогу отвечать. С другой стороны, может Владимир_Спб подтянется или еще кто. Здесь есть спецы получше меня...
|
|||
162
1c_voage
26.10.07
✎
20:03
|
Хочешь посмеяться?
Почитай пост 17 в сообщении, начинающемся Помогите,не понимаю. Zjama его пишет, по-моему |
|||
163
1c_voage
26.10.07
✎
20:04
|
а он мне тебя рекомендует:))
|
|||
164
selenat
26.10.07
✎
20:09
|
(163) кто рекомендует? я его вроде не знаю...
|
|||
165
selenat
26.10.07
✎
20:10
|
я убежал. Постараюсь еще вечером заглянуть в ветку...
|
|||
166
1c_voage
26.10.07
✎
20:15
|
Я сегодня здесь недолго. Завтра буду. Надо уже отдыхать, не то в зеркало смотреть страшно.
|
|||
167
selenat
26.10.07
✎
21:53
|
Кстати, в развитие идеи. Ты ведь можешь везьде, где могут встречаться поля с одинаковыми данными прибавлять не один 0, а несколько. Т.е. в одном месте "Поле", в другом "Поле+0", в третьем "Поле+0+0" и т.д. Этим ты не особо задумываясь гарантируешь себя от возможных задвоений в итогах каким бы сложным ни был запрос. На производительности запроса это реально не скажется...
|
|||
168
Wladimir_spb
26.10.07
✎
23:07
|
Что-то вы тут уже в ересь впадаете)
(167) Попробуй в (118) так: ЕСТЬNULL(УчетБонусовОстаткиИОбороты.КоличествоНачальныйОстаток,0) КАК КоличествоНачальныйОстаток1, ЕСТЬNULL(УчетБонусовОстаткиИОбороты.КоличествоНачальныйОстаток,0) КАК КоличествоНачальныйОстаток, |
|||
169
selenat
27.10.07
✎
09:21
|
(168) щас нет возможности проверить, базы той под рукой нет. Но, ересь - не ересь, а проблему задвоения решает. :) Если мое предположение в (153) верно, то ЕСТЬNULL не поможет. Проверю когда получится.
|
|||
170
1c_voage
27.10.07
✎
19:16
|
(166) один из 1С-ников ответил, что "Язык запросов не позволяет корректно рассчитывать итоги по нескольким экземплярам одного и того же поля остатка.
Проблему будем анализировать." Однако, анализируется проблема с января текущего года. Кстати, один из программеров тоже предложил добавлять +0, чтобы сделать выражения разными. Но у меня почему-то все-равно не выходит. Так, как он предложил, не считаются итоги по верхним группировкам. То бишь, ничего и не будет дублироваться. (168) Не поможет. Итоги должны считаться по разным выражениям, а здесь получаются одинаковые. |
|||
171
Wladimir_spb
27.10.07
✎
19:18
|
(170) Пробовала?
|
|||
172
selenat
28.10.07
✎
00:13
|
(170) что-то я не пойму что у тебя не получается. В моем простеньком запросе после добавления +0 итоги посчитались корректно по обоим полям. Значит, по идее формального изменения поля достаточно для нормального расчета итогов по дублирующимся полям. Думаю, (167) должно решить проблему любого количества одинаковых полей. Ты пробовала (167)? Выкладывай теперешний вид запроса и описание того, что не получается...
|
|||
173
selenat
28.10.07
✎
00:16
|
кстати, я правильно понял (170), что вы получили по своему вопросу официальный ответ из 1С?
|
|||
174
Wladimir_spb
28.10.07
✎
00:18
|
(173) Привет, а ты (168) пробовал)
|
|||
175
selenat
28.10.07
✎
00:23
|
(174) нет еще. Я сегодня весь день в ремонте. Конечно, конструктором выходной формы в любой базе можно составить за 10 мин аналогичный отчет. Но как-то рук не дошли...
|
|||
176
selenat
28.10.07
✎
00:24
|
+175 а ты попробовал? :)
|
|||
177
Wladimir_spb
28.10.07
✎
00:26
|
Да.
|
|||
178
selenat
28.10.07
✎
00:27
|
(177) блин. Придется и мне проверить. А я уж собрался спать идти. :)))
|
|||
179
Wladimir_spb
28.10.07
✎
00:27
|
:)
|
|||
180
selenat
28.10.07
✎
00:42
|
(177) ты прав. Ничего не задваивает. Вот текст
"ВЫБРАТЬ | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстаткиИОбороты.Склад), | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстаткиИОбороты.Номенклатура), | ТоварыНаСкладахОстаткиИОбороты.Период, | ТоварыНаСкладахОстаткиИОбороты.Регистратор, | ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстаткиИОбороты.Регистратор), | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,0) КАК КоличествоНачальныйОстаток1, | ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,0) КАК КоличествоНачальныйОстаток, | ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход, | ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты( | &ДатаНач, | &ДатаКон, | Запись, | ДвиженияИГраницыПериода, | Склад = &Склад | И Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ТоварыНаСкладахОстаткиИОбороты |ИТОГИ | СУММА(КоличествоНачальныйОстаток1), | СУММА(КоличествоНачальныйОстаток), | СУММА(КоличествоПриход), | СУММА(КоличествоРасход), | СУММА(КоличествоКонечныйОстаток) |ПО | Склад, | Номенклатура"; Не зря я всюду у себя по делу и просто так ЕСТЬNULL вставляю. Даже не подозревал от чего меня это защищает. :))) |
|||
181
selenat
28.10.07
✎
00:48
|
Всем спокойной ночи. У меня завтра сумасшедший день намечается, так что я спать...
|
|||
182
Wladimir_spb
28.10.07
✎
00:49
|
Гуд найт)
|
|||
183
1c_voage
28.10.07
✎
17:57
|
При таком виде запроса остатки не двоятся и в случае с +0, и в случае с ЕСТЬNULL.
"ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток,0) КАК НачОст, | ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток,0) Как НачСум51_70, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата |ИЗ |РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата,&КонДата, | Регистратор, | ДвиженияИГраницыПериода, |) КАК ОстаткиИОбороты | |ИТОГИ | СУММА(НачОст), | СУММА(НачСум51_70), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ |"; А при таком виде по-любому двоятся. Сейчас еще проверю без Выбор на объединениях. "ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток,0) КАК НачОст, | Выбор Когда (( РазностьДат(&НачДата,ОстаткиИОбороты.Сделка.Дата,День) < -50) | И ( РазностьДат(&НачДата,ОстаткиИОбороты.Сделка.Дата,День) > -71)) | И (&НачДата > ОстаткиИОбороты.Сделка.Дата) Тогда | ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток,0) | Иначе 0 | Конец |Как НачСум51_70, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата |ИЗ |РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата,&КонДата, | Регистратор, | ДвиженияИГраницыПериода, |) КАК ОстаткиИОбороты | |ИТОГИ | СУММА(НачОст), | СУММА(НачСум51_70), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ |"; |
|||
184
1c_voage
28.10.07
✎
18:13
|
И при таком виде тоже двоятся
"ВЫБРАТЬ | ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, | ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, | ОстаткиИОбороты.Сделка КАК Сделка, | ОстаткиИОбороты.Период КАК Период, | ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, | ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток,0) КАК НачОст, | ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК КонОст, | ОстаткиИОбороты.СуммаВзаиморасчетовПриход КАК Отгрузка, | ОстаткиИОбороты.СуммаВзаиморасчетовРасход КАК Оплата, | 0 КАК НачСум0_35, | 0 КАК НачСум36_50, | 0 КАК НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, | Регистратор, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ОстаткиИОбороты0_35.ДоговорКонтрагента.Владелец Как Контрагент, | ОстаткиИОбороты0_35.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель Как ТоргПред, | ОстаткиИОбороты0_35.ДоговорКонтрагента.Владелец.ю_Координатор Как Координатор, | ОстаткиИОбороты0_35.Сделка Как Сделка, | ОстаткиИОбороты0_35.Период Как Период, | ОстаткиИОбороты0_35.Регистратор Как РегистраторДвижения, | 0 КАК НачОст, | 0 КАК Отгрузка, | 0 КАК Оплата, | 0 Как КонОст, | ЕСТЬNULL(ОстаткиИОбороты0_35.СуммаВзаиморасчетовНачальныйОстаток,0) Как НачСум0_35, | 0 КАК НачСум36_50, | 0 Как НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Регистратор, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -36 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < 0 | И &НачДата > Сделка.Дата | ) КАК ОстаткиИОбороты0_35 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ОстаткиИОбороты36_50.ДоговорКонтрагента.Владелец, | ОстаткиИОбороты36_50.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель, | ОстаткиИОбороты36_50.ДоговорКонтрагента.Владелец.ю_Координатор, | ОстаткиИОбороты36_50.Сделка, | ОстаткиИОбороты36_50.Период, | ОстаткиИОбороты36_50.Регистратор, | 0 КАК НачОст, | 0 КАК Отгрузка, | 0 КАК Оплата, | 0 Как КонОст, | 0 Как НачСум0_35, | ЕСТЬNULL(ОстаткиИОбороты36_50.СуммаВзаиморасчетовНачальныйОстаток,0) КАК НачСум36_50, | 0 Как НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -35 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -51 | И &НачДата > Сделка.Дата | ) КАК ОстаткиИОбороты36_50 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ОстаткиИОбороты51_70.ДоговорКонтрагента.Владелец, | ОстаткиИОбороты51_70.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель, | ОстаткиИОбороты51_70.ДоговорКонтрагента.Владелец.ю_Координатор, | ОстаткиИОбороты51_70.Сделка, | ОстаткиИОбороты51_70.Период, | ОстаткиИОбороты51_70.Регистратор, | 0 КАК НачОст, | 0 КАК Отгрузка, | 0 КАК Оплата, | 0 Как КонОст, | 0 Как НачСум0_35, | 0 КАК НачСум36_50, | ЕСТЬNULL(ОстаткиИОбороты51_70.СуммаВзаиморасчетовНачальныйОстаток,0) Как НачСум51_70, | 0 КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -50 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -71 | И &НачДата > Сделка.Дата | ) КАК ОстаткиИОбороты51_70 | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец, | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель, | ОстаткиИОбороты70_.ДоговорКонтрагента.Владелец.ю_Координатор, | ОстаткиИОбороты70_.Сделка, | ОстаткиИОбороты70_.Период, | ОстаткиИОбороты70_.Регистратор, | 0 КАК НачОст, | 0 КАК Отгрузка, | 0 КАК Оплата, | 0 Как КонОст, | 0 Как НачСум0_35, | 0 КАК НачСум36_50, | 0 Как НачСум51_70, | ЕСТЬNULL(ОстаткиИОбороты70_.СуммаВзаиморасчетовНачальныйОстаток,0) КАК НачСум70_ |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Запись, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -70 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты70_ |ИТОГИ | СУММА(НачОст), | СУММА(КонОст), | СУММА(Отгрузка), | СУММА(Оплата), | СУММА(НачСум0_35), | СУММА(НачСум36_50), | СУММА(НачСум51_70), | СУММА(НачСум70_) |ПО | ОБЩИЕ, | Контрагент, | ТоргПред, | Координатор, | Сделка, | Период, | РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
185
Wladimir_spb
28.10.07
✎
18:59
|
ВЫБРАТЬ
ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, ОстаткиИОбороты.Сделка КАК Сделка, ОстаткиИОбороты.Период КАК Период, ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачОст, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток, 0) КАК КонОст, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовПриход, 0) КАК Отгрузка, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовРасход, 0) КАК Оплата, ЕСТЬNULL(ОстаткиИОбороты0_35.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум0_35, ЕСТЬNULL(ОстаткиИОбороты36_50.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум36_50 ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( &НачДата, &КонДата, Регистратор, ДвиженияИГраницыПериода, РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -36 И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < 0 И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты0_35 ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты0_35.Регистратор И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты0_35.ДоговорКонтрагента И ОстаткиИОбороты.Сделка = ОстаткиИОбороты0_35.Сделка ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( &НачДата, &КонДата, Регистратор, ДвиженияИГраницыПериода, РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -50 И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -35 И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты36_50 ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты36_50.Регистратор И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты36_50.ДоговорКонтрагента И ОстаткиИОбороты.Сделка = ОстаткиИОбороты36_50.Сделка ИТОГИ СУММА(НачОст), СУММА(КонОст), СУММА(Отгрузка), СУММА(Оплата), СУММА(НачСум0_35), СУММА(НачСум36_50) ПО ОБЩИЕ, Контрагент, Сделка, Период, РегистраторДвижения |
|||
186
1c_voage
28.10.07
✎
19:11
|
Сейчас закончу другое и попробую.
|
|||
187
1c_voage
28.10.07
✎
19:49
|
Не выводит в колонки 0-35,36-50,51-70,>70 ничего.
Считает эти суммы в общем( как в общих итогах). Не считает по группировкам по контрагенту, торгпреду,координатору. Запрос у меня в виде: |ВЫБРАТЬ |ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, |ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_ТорговыйПредставитель КАК ТоргПред, |ОстаткиИОбороты.ДоговорКонтрагента.Владелец.ю_Координатор КАК Координатор, |ОстаткиИОбороты.Сделка КАК Сделка, |ОстаткиИОбороты.Период КАК Период, |ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, |ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачОст, |ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток, 0) КАК КонОст, |ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовПриход, 0) КАК Отгрузка, |ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовРасход, 0) КАК Оплата, |ЕСТЬNULL(ОстаткиИОбороты0_35.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум0_35, |ЕСТЬNULL(ОстаткиИОбороты36_50.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум36_50, |ЕСТЬNULL(ОстаткиИОбороты51_70.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум51_70, |ЕСТЬNULL(ОстаткиИОбороты70_.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум70_ |ИЗ |РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, |Регистратор, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты //0-35 | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Регистратор, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -36 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < 0 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты0_35 | ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты0_35.Регистратор | И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты0_35.ДоговорКонтрагента | И ОстаткиИОбороты.Сделка = ОстаткиИОбороты0_35.Сделка //36-50 | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Регистратор, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -50 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -35 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты36_50 | ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты36_50.Регистратор | И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты36_50.ДоговорКонтрагента | И ОстаткиИОбороты.Сделка = ОстаткиИОбороты36_50.Сделка //51-70 | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Регистратор, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -50 | И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -71 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты51_70 | ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты51_70.Регистратор | И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты51_70.ДоговорКонтрагента | И ОстаткиИОбороты.Сделка = ОстаткиИОбороты51_70.Сделка //>70 | ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( | &НачДата, | &КонДата, | Регистратор, | ДвиженияИГраницыПериода, | РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -70 | И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты70_ | ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты70_.Регистратор | И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты70_.ДоговорКонтрагента | И ОстаткиИОбороты.Сделка = ОстаткиИОбороты70_.Сделка | ИТОГИ |СУММА(НачОст), |СУММА(КонОст), |СУММА(Отгрузка), |СУММА(Оплата), |СУММА(НачСум0_35), |СУММА(НачСум36_50), |СУММА(НачСум51_70), |СУММА(НачСум70_) |ПО |ОБЩИЕ, |Контрагент, |ТоргПред, |Координатор, |Сделка, |Период, |РегистраторДвижения |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
188
Wladimir_spb
28.10.07
✎
20:09
|
Хочешь сказать, что общие итоги по этим колонкам есть, а сами колонки пустые?..
|
|||
189
1c_voage
28.10.07
✎
20:11
|
Да. Но, судя по этим итогам, они не задвоились. Но почему не просчитались итоги по верхним группировкам - непонятно.
|
|||
190
Wladimir_spb
28.10.07
✎
20:13
|
Работай в консоли, там все видно.
У меня во всяком случае все есть. У тебя тоже, раз итоги выводит. Может с выводом на экран перемудрила. |
|||
191
1c_voage
28.10.07
✎
20:28
|
Да нет,вывод стандартный, как обычно. В дереве значений ни в одной детальной записи нет сумм НачСум0_35,... А есть только в общих итогах. Странно.
|
|||
192
1c_voage
28.10.07
✎
20:29
|
А в консоли я еще ни разу не пробовала. Даже, честно говоря, не знаю, как.
|
|||
193
Wladimir_spb
28.10.07
✎
20:34
|
Построй по тому заказу, по которому должны быть обязательно.
А консоль в любом случае осваивать придется. Стандартный инструмент разработчика. |
|||
194
1c_voage
28.10.07
✎
20:53
|
Проверила. Та же история. Выдает мне в общих итогах тютелька в тютельку. А по сделке,контрагенту не выдает.
|
|||
195
Wladimir_spb
28.10.07
✎
20:59
|
У меня все выдает. Выведи (185) в консоли.
|
|||
196
1c_voage
28.10.07
✎
20:59
|
Причем, самое интересное то, что я не вывожу общие итоги сама. В дереве значений на самом верхнем уровне группировок(Контрагенты) появляется как бы пустой контрагент. И по нему идет весь этот подсчет. То есть похоже на общие итоги. Но это не сами общие итоги.
|
|||
197
Wladimir_spb
28.10.07
✎
21:03
|
Теоретически пустых быть не должно. Попробу левое соединение, хотя при данных условиях это не должно влиять.
|
|||
198
1c_voage
28.10.07
✎
21:09
|
При левом вообще ничего не выводит. Уже пробовала. Даже "итоговых" сумм
|
|||
199
Wladimir_spb
28.10.07
✎
21:13
|
А у меня выводит...
|
|||
200
Wladimir_spb
28.10.07
✎
21:14
|
200! :)
|
|||
201
1c_voage
28.10.07
✎
21:17
|
+(200) начнем третью сотню
|
|||
202
Wladimir_spb
28.10.07
✎
21:19
|
Ты лучше консоль осваивай, а то глядишь, четвертую открывать придется )))
|
|||
203
1c_voage
28.10.07
✎
21:19
|
Хоть я и не ругаюсь матом, но у меня такое чувство, что скоро как матюкнусь из-за этого отчета.
|
|||
204
Wladimir_spb
28.10.07
✎
21:21
|
Только не сюда, а то забанят) Да, и некрасиво как-то...
|
|||
205
1c_voage
28.10.07
✎
21:22
|
Так. Нажала я добавить в консоли. Указала наименование запроса. Параметры самой указывать? Или можно как-то существующий отчет уже автоматом туда загнать. Там расширение какое-то .rcf
|
|||
206
Wladimir_spb
28.10.07
✎
21:25
|
Самой. на соответствующей закладке. В этом смысле коноль запросов несколько удобнее.
|
|||
207
Wladimir_spb
28.10.07
✎
21:30
|
У тебя же там всего два параметра) НачДата и КонДата
|
|||
208
1c_voage
28.10.07
✎
21:31
|
Это получается мне нужно в конструкторе запрос опять самой построить.Да?
А что я смогу увидеть благодаря консоли? |
|||
209
Wladimir_spb
28.10.07
✎
21:34
|
М-мм... У тебя уже есть запрос, зачем ты его заново строить собираешься?
Можешь хоть с форума взять, например, (185). |
|||
210
1c_voage
28.10.07
✎
21:39
|
Он-то есть. Только, когда я его туда вставляла, он мне выдал синтаксическую ошибку по поводу "|Выбрать"
|
|||
211
Wladimir_spb
28.10.07
✎
21:40
|
Открой свой запрос конструктором и скопируй текст. Чтобы был без "|". Или ручками поудаляй.
|
|||
212
1c_voage
28.10.07
✎
21:40
|
Пишет такую ерунду.{Обработка.КонсольОтчетов.Форма.Форма(712)}: Ошибка при вызове метода контекста (ПолучитьЗапрос): {(1, 4)}: Ожидается выражение "ВЫБРАТЬ"
<<?>>"|ВЫБРАТЬ Если ПостроительОтчетов.ПолучитьЗапрос().Текст = "" Тогда по причине: {(1, 4)}: Ожидается выражение "ВЫБРАТЬ" <<?>>"|ВЫБРАТЬ |
|||
213
1c_voage
28.10.07
✎
21:44
|
Сделала. проставила группировки. чего еще делать?
|
|||
214
1c_voage
28.10.07
✎
21:52
|
Все,сформировала. Выдает все то же самое, что и без консоли. То же какой то Null-контрагент и по нему все итоги.
|
|||
215
Wladimir_spb
28.10.07
✎
21:53
|
Попробуй запрос (185). С полным и слевым соединением
|
|||
216
1c_voage
28.10.07
✎
21:58
|
со (185) такая же ситуация. Тоже выводит Null-контрагента и итоги по нему по полям НачСум0_35,НачСум36_50.
|
|||
217
1c_voage
28.10.07
✎
22:00
|
Ладно, я - домой. Не то у меня уже норма спички в глазах
|
|||
218
Wladimir_spb
28.10.07
✎
22:00
|
Издеваешься? :)
|
|||
219
1c_voage
28.10.07
✎
22:01
|
Нисколечко. Я могу тебе даже отчет выслать, если ты не против, конечно. Ну я действительно не знаю, почему так и в моем и в (185) получается.
|
|||
220
Wladimir_spb
28.10.07
✎
22:04
|
Этот запрос у меня выводит данные по всем измерениям и без пустых контрагентов
ВЫБРАТЬ ОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент, ОстаткиИОбороты.Сделка КАК Сделка, ОстаткиИОбороты.Период КАК Период, ОстаткиИОбороты.Регистратор КАК РегистраторДвижения, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачОст, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток, 0) КАК КонОст, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовПриход, 0) КАК Отгрузка, ЕСТЬNULL(ОстаткиИОбороты.СуммаВзаиморасчетовРасход, 0) КАК Оплата, ЕСТЬNULL(ОстаткиИОбороты0_35.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум0_35, ЕСТЬNULL(ОстаткиИОбороты36_50.СуммаВзаиморасчетовНачальныйОстаток, 0) КАК НачСум36_50 ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, ДвиженияИГраницыПериода, ) КАК ОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( &НачДата, &КонДата, Регистратор, ДвиженияИГраницыПериода, РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -36 И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < 0 И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты0_35 ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты0_35.Регистратор И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты0_35.ДоговорКонтрагента И ОстаткиИОбороты.Сделка = ОстаткиИОбороты0_35.Сделка ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты( &НачДата, &КонДата, Регистратор, ДвиженияИГраницыПериода, РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) > -50 И РАЗНОСТЬДАТ(&НачДата, Сделка.Дата, ДЕНЬ) < -35 И &НачДата > Сделка.Дата) КАК ОстаткиИОбороты36_50 ПО ОстаткиИОбороты.Регистратор = ОстаткиИОбороты36_50.Регистратор И ОстаткиИОбороты.ДоговорКонтрагента = ОстаткиИОбороты36_50.ДоговорКонтрагента И ОстаткиИОбороты.Сделка = ОстаткиИОбороты36_50.Сделка ИТОГИ СУММА(НачОст), СУММА(КонОст), СУММА(Отгрузка), СУММА(Оплата), СУММА(НачСум0_35), СУММА(НачСум36_50) ПО ОБЩИЕ, Контрагент, Сделка, Период, РегистраторДвижения |
|||
221
1c_voage
28.10.07
✎
22:08
|
Похоже на мое творение:))
Ну не знаю я, честно. Давай мыло. Я тебе перешлю. Посмотришь в консоли. Я просто на работе. Мне еще домой добираться. Но было бы, конечно, хорошо,если бы ты посмотрел |
|||
222
Wladimir_spb
28.10.07
✎
22:15
|
Я мыло на форуме не оставляю, итак спама много.
Стучись в аську. А лучше оставь до завтра, может за ночь что изменится, контрагенты пустые исчезнут, остатки по измерениям появятся... Нужно верить в чудо и тогда оно обязательно произойдет))) |
|||
223
1c_voage
28.10.07
✎
22:18
|
Теперь ты издеваешься:)) Не смогу в аську. На работе нет доступа. Дома компа сейчас нет. Ну ладно, пока. Я - домой.
|
|||
224
Wladimir_spb
28.10.07
✎
22:19
|
Удачи)
|
|||
225
selenat
29.10.07
✎
09:13
|
О, скока интересного здесь! Как успехи?
|
|||
226
Wladimir_spb
29.10.07
✎
09:25
|
Бодрое утро)
С успехами плохо. 1c_voage все выходные провела на работе, а толку от этого... |
|||
227
selenat
29.10.07
✎
09:50
|
(226) Мда. Нельзя так работать. Видать, молодая ишшо...
|
|||
228
selenat
29.10.07
✎
09:52
|
+227 конечно, пока семьи и детей нет можно, но лучше это время потратить на охмурение мальчиков... :)
|
|||
229
Wladimir_spb
29.10.07
✎
09:54
|
(228) В одной фирме, с которой я сотрудничаю, выявилась интересная статистика: вовремя домой уходят только не женатые/не замужние. Те, у кого есть семья, предпочитают задержаться на работе :)
|
|||
230
selenat
29.10.07
✎
10:08
|
(229) для меня это странно. Даже при том, что я практически никогда не задерживаюсь на работе, времени семье мало удается уделять. Работа - это зло...
|
|||
231
1c_voage
29.10.07
✎
10:26
|
Доброе утро. Отклонились от темы:))
|
|||
232
selenat
29.10.07
✎
10:36
|
(231) кидай мне отчет. seleand_rabota Собак mail.ru
Правда, не обещаю, что быстро отвечу. Работы хватает... |
|||
233
1c_voage
29.10.07
✎
10:39
|
Подожди, сейчас я одну вещь штуку проверю. Мне кажется, в этом дело
|
|||
234
selenat
29.10.07
✎
10:42
|
(233) ок
|
|||
235
1c_voage
29.10.07
✎
11:05
|
Насколько я понимаю, в строках остатков нет регистратора. Именно поэтому (185) работает не таким образом. Если убираешь в условиях соединениях условие на равенство регистраторов, все вроде как становится нормально.
Правда, нужно еще проверить досконально. Но нет уверенности, что условий соединения достаточно в таком случае. |
|||
236
1c_voage
29.10.07
✎
11:10
|
+(235) и еще когда в таком отчете убираешь проверку на Null для всех полей остатков, тоже ничего не двоит.
|
|||
237
selenat
29.10.07
✎
11:18
|
(235) в строках итогов заполнены итоги вышестоящего уровня и нет итогов нижестоящего и детальных записей. Ты об этом?
|
|||
238
1c_voage
29.10.07
✎
11:39
|
(237) Я не совсем поняла, что ты имеешь в виду.
:)) Теперь оплаты двоятся. |
|||
239
1c_voage
29.10.07
✎
11:42
|
+(237) хотя,наверное, да. Потому что появляются несколько пустых строк, их кол-во равно кол-ву группировок. И в них есть все итоги. А в детальных записях сумм НачСум0_35,НачСум36_50,... нету.
|
|||
240
selenat
29.10.07
✎
11:43
|
(238) у меня после вчерашнего тоже все двоится. Пива много выпил. :)))
|
|||
241
Wladimir_spb
29.10.07
✎
11:52
|
Скачай отчет 1c_voage, будет четвериться))
(235) Что бы спокойно убрать условие на равенство регистраторов, нужно само поле регистратор переделать, что бы оно бралось из подзапросов по периодам, а не из общего запроса, иначе может не только двоиться, но троиться, четвериться и т.д. |
|||
242
1c_voage
29.10.07
✎
11:58
|
(241) и как это должно выглядеть
|
|||
243
Wladimir_spb
29.10.07
✎
12:02
|
Для начала, в приципе, убери регитратор из запроса и посмотри как работает. Может у тебя еще ошибки есть.
Регистратор из подзапросов будет выглядеть плохо, поэтому перед тем как надстраивать этот лисапед, нужно быть уверенным в работоспособности базового запроса. |
|||
244
selenat
29.10.07
✎
12:06
|
+243 кстати, не забывай делать копии своего отчета на разных этапах. Чтобы потом легко было откатиться, не переписывая все заново.
|
|||
245
1c_voage
29.10.07
✎
12:34
|
Начальству уже по барабану, как я это сделаю. Лишь бы сделала. Цикл уже всех устраивает. Не устраивает время выполнения. Нужно оптимизировать:))
|
|||
246
1c_voage
29.10.07
✎
13:14
|
Я пока буду заниматься оптимизацией. Чуть позже попробую (243), ну и т.д. :))
|
|||
247
selenat
29.10.07
✎
13:18
|
(246) Какая может быть оптимизация, если делать в цикле? Этот цикл с запросом основное время наверняка жрет.
|
|||
248
1c_voage
29.10.07
✎
13:46
|
Еще как. Просто уже нет времени. Мой замдирека уже чуть ли не через каждые 5 минут подходит и спрашивает: ну что? :))
Веселуха:) |
|||
249
Wladimir_spb
29.10.07
✎
13:53
|
А замдирека сидел на работе все выходные? :)
|
|||
250
1c_voage
29.10.07
✎
13:59
|
(249) :))
Он спросил, что я делаю для того, чтобы обойти проблему. Я сказала, что была на работе и в субботу и в воскресенье. А кого это волнует?:)) |
|||
251
Wladimir_spb
29.10.07
✎
14:00
|
Пора менять замдирека))
|
|||
252
1c_voage
29.10.07
✎
14:04
|
Нормальный замдирека. просто жадный:))
|
|||
253
Wladimir_spb
29.10.07
✎
14:05
|
Значит не нормальный. С каких это пор жадность стала нормой?
|
|||
254
selenat
29.10.07
✎
14:05
|
(252) ты ему дай веточку почитать. Чтоб он не думал, что здесь все так просто...
|
|||
255
Wladimir_spb
29.10.07
✎
14:07
|
После (251)-(253) ему лучше веточку не читать...)))
|
|||
256
selenat
29.10.07
✎
14:11
|
(255) ну, веточку можно в текстовик сохранить и вырезать лишние посты...
|
|||
257
1c_voage
29.10.07
✎
16:00
|
Я уже ему показывала ответ разработчика. Так он немножко успокоился.
Правда, совсем, чуть-чуть.:)) |
|||
258
1c_voage
29.10.07
✎
20:05
|
Пока что я решила эту проблему с помощью 2-ух запросов. То бишь в цикле обращаюсь к выборке 2-ого запроса. Сейчас поеду в командировку. Загляну на выходные, буду пытаться все-таки решить нормальным способом.
|
|||
259
Wladimir_spb
29.10.07
✎
20:05
|
Удачи)
|
|||
260
1c_voage
29.10.07
✎
20:10
|
Ну спасибо:)) Так просто вы от меня не отделаетесь:))
Кстати, я нашла в ЕСИСЕ обсуждение проблемы остатков в случае, когда периодичность = регистратор и когда итоги считаются по регистратору, там как раз остатки считаются некорректно. Она датируется еще мартом 2005 года |
|||
261
Wladimir_spb
29.10.07
✎
20:11
|
Не знаю, я здесь уже несколько запросов выложил, которые в такой ситуации работают корректно... )
|
|||
262
1c_voage
29.10.07
✎
20:22
|
Ну не знаю. У меня они двоятся:))
|
|||
263
Wladimir_spb
29.10.07
✎
20:23
|
Бывает) см.(240)
|
|||
264
1c_voage
29.10.07
✎
20:25
|
Ладно. Думаю, это как-нибудь решится. Но в любом случае с помощью 2-ух запросов он работает достаточно быстро. Ну и, впринципе, корректно. Правда, я еще оплаты не разбивала по месяцам. Там тоже немножко нужно подумать.
Я уже его после выходных повезу. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |