|
Подскажите почему общий итог не считается | ☑ | ||
---|---|---|---|---|
0
dfaa
05.08.11
✎
15:27
|
Делаю отчёт в СКД, есть 2 склада. По складам остатки в отдельности правильно считает а вот общий по ним неправильно. Пример:
Склады НачалОстат Приход Расход КонОстаток Склад 1 100,000 50,000 20,000 130,000 Склад 2 5,000 10,000 10,000 5,000 общий итог 99,000 60,000 30,000 103,000 |
|||
1
ssh2006
05.08.11
✎
15:30
|
Кривая схема кд
|
|||
2
dfaa
05.08.11
✎
15:31
|
(1) а почему тогда по складам в отдельности правильно считает?
Да и приход с уходом верный в общем итоге. |
|||
3
ssh2006
05.08.11
✎
15:33
|
так потому что кривая схема - иначе считал бы верно
|
|||
4
dfaa
05.08.11
✎
15:36
|
(3) ну понятное дело что что то не так, может знаешь примерные причины с чем может быть связано ?
|
|||
5
ssh2006
05.08.11
✎
15:38
|
из (0) больше сказать ничего нельзя, не гадать же.
|
|||
6
GROOVY
05.08.11
✎
15:38
|
(4) На основе регистра бухгалтерии данные вытиаскиваете?
|
|||
7
dfaa
05.08.11
✎
15:41
|
КОД таков
////////////////////////////////////////////////// ВЫБРАТЬ Номенклатур.Ссылка КАК спр, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Номенклатура, Номенклатур.Ссылка) КАК Рег, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,0) КАК КоличествоНачальныйОстаток, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,0) КАК КоличествоПриход, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход,0) КАК КоличествоРасход, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,0) КАК КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда, ТоварыНаСкладахОстаткиИОбороты.Регистратор, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Склад, Склады.Ссылка) КАК Склад ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонец, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатур ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = Номенклатур.Ссылка ПОЛНОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажах ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор = ОтчетОРозничныхПродажах.Ссылка ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор = ПоступлениеТоваровУслуг.Ссылка ПОЛНОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор = РеализацияТоваровУслуг.Ссылка ПОЛНОЕ СОЕДИНЕНИЕ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор = ПеремещениеТоваров.Ссылка ПОЛНОЕ СОЕДИНЕНИЕ Документ.ОприходованиеТоваров КАК ОприходованиеТоваров ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор = ОприходованиеТоваров.Ссылка ПОЛНОЕ СОЕДИНЕНИЕ Документ.СписаниеТоваров КАК СписаниеТоваров ПО ТоварыНаСкладахОстаткиИОбороты.Регистратор = СписаниеТоваров.Ссылка ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры ПО ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Ссылка, Справочник.Склады КАК Склады ГДЕ Номенклатур.ЭтоГруппа = ЛОЖЬ СГРУППИРОВАТЬ ПО Номенклатур.Ссылка, ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Номенклатура, Номенклатур.Ссылка), ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Склад, Склады.Ссылка), ТоварыНаСкладахОстаткиИОбороты.Регистратор, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда ////////////////////////////////////////////////// |
|||
8
dfaa
05.08.11
✎
15:42
|
(5)(6) из (7) можно что нить подсказать ?
|
|||
9
GROOVY
05.08.11
✎
15:43
|
(8) Да, я наверно мало что понимаю, но это какойто бредовый запрос.
|
|||
10
ssh2006
05.08.11
✎
15:43
|
жестко
|
|||
11
GROOVY
05.08.11
✎
15:44
|
Зачем делать соединение с документами?
Зачем группировать записи? Зачем ЕСТЬNULL? |
|||
12
GROOVY
05.08.11
✎
15:44
|
Зачем соединяться со справочником?
|
|||
13
ssh2006
05.08.11
✎
15:45
|
Предположение о кривой схеме оправдалось
|
|||
14
GROOVY
05.08.11
✎
15:46
|
ВЫБРАТЬ
Номенклатура, Склад, Регистратор, КоличествоНачальныйОстаток, КоличествоПриход, КоличествоРасход, КоличествоКонечныйОстаток, ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонец, Регистратор, , ) Все. |
|||
15
GROOVY
05.08.11
✎
15:47
|
Йе... Еще и таблица справочника привязана без соединения... Ох...
(8) Поучите запросы. |
|||
16
dfaa
05.08.11
✎
15:48
|
с док соединения для того чтоб по регистратору выводились нормальные остатки
группировать затем чтоб избавиться от задвоенных записей есть NULL чтоб остатки выводились нормально. А нужно чтоб помимо номенклатуры из регистра. выводилась номенклатура из справочника за указанный период (та что без остатков) |
|||
17
dfaa
05.08.11
✎
15:49
|
(14) это не подойдёт по условию задачи. нужна вся номенклатура а не конкретно из регистра
|
|||
18
GROOVY
05.08.11
✎
15:50
|
(16) Ну нафига соединять таблицу с документами чтобы остатки посчитать? Они и так считаются нормально.
Виртуальная таблица всегда максимально сгруппирована, если не делать "неразумных" соединений, то ничего группировать не надо. Тем более в СКД. Справочник соединили полным соединением, ну Бог с Вами. А склады то каким там боком? |
|||
19
dfaa
05.08.11
✎
15:50
|
(15) если нужно было бы просто с регистра взять данные я бы сюда не писал
|
|||
20
dfaa
05.08.11
✎
15:52
|
(18) я вот если честно тоже думал что всё просто будет соединить, но когда начинаешь писать что то много проблем возникает, и как кажется вначале что остатки не должны скакать, они начинают непонятным образом себя вести
|
|||
21
GROOVY
05.08.11
✎
15:52
|
(17) Делаете второй набор данных в СКД и выбираете там ссылк из номенклатуры (И ВСЕ!) и связываете 2 набора. Левым набором будет набор справочника.
|
|||
22
dfaa
05.08.11
✎
15:53
|
(21) это я уже делал, не прокатило, остатки прыгают
|
|||
23
GROOVY
05.08.11
✎
15:53
|
(22) У меня не прыгают. Удачи.
|
|||
24
dfaa
05.08.11
✎
15:56
|
(23) спасибо за советы, буду пробовать.
|
|||
25
dfaa
05.08.11
✎
16:10
|
(21) а не подскажите если делать по этому варианту, то как подвязать туда склад. 3 набором данных в котором будет справочник склад и соеденятть с регистром по складу ?
|
|||
26
GROOVY
05.08.11
✎
16:12
|
(25) Вы же склад из регистра берете.
|
|||
27
dfaa
05.08.11
✎
16:16
|
(26) согласен, а та номенклатура у которой нет остатка она же за этот период не попадает в выборку, а мне нужна вся что есть в справочнике. А как она будет проходить в разрезе склада?
|
|||
28
dfaa
05.08.11
✎
16:17
|
если склад взять из регистра, то номенклатура из справочника не попадает в выборку
|
|||
29
hhhh
05.08.11
✎
16:24
|
(28) номенклатуру тоже из регистра берите. Выкиньте вы эти справочники.
|
|||
30
ssh2006
05.08.11
✎
16:25
|
Держи схему компоновки.
http://goo.gl/EZ4BQ Это вариант соединения со справочником в запросе. Обрати внимание на указание ролей у полей и номеров периодов. Галка "Игнорировать NULL" у поля регистратор установлена чтобы при группировке по регистратору не было строки с пустым регистратором по записи с начальным/конечным остатком. Почитай вот это http://its.1c.ru/db/metod81#content:3093:1 |
|||
31
dfaa
05.08.11
✎
16:26
|
(29) я бы рад это сделать :). Но в том то и дело, что по условию задачи мне нужно вся номенклатура и с остатками и без
|
|||
32
dfaa
05.08.11
✎
16:26
|
а тут возникает проблема со складами
|
|||
33
Живой Ископаемый
05.08.11
✎
16:28
|
ну да... та номенклатура, которой нет на остатках - ее на каких складах нет?
|
|||
34
hhhh
05.08.11
✎
16:31
|
(33) не, обратная задача. Остатки, а которых нет номенклатуры.
|
|||
35
dfaa
05.08.11
✎
16:33
|
за указанный период если у неё нет остатков, её не возможно отобрать по складу. А если я вывожу всю номенклатуру даже ту, у которой нет остатков, то как мне её отобрать по складам? Как составить запрос чтоб такое было возможно ? И вообще можно ли такой запрос составить ?
|
|||
36
ssh2006
05.08.11
✎
16:39
|
Я тебе же все написал в (30) Скачай схему, воткни в отчет, настрой группировки номенклатура - склад - регистратор. Если нужно сделай отборы в настройках скд. Если поставить отбор - склад не заполнено вывалится только номенклатура без движений
|
|||
37
dfaa
05.08.11
✎
16:43
|
(36) загружаю схему. Вываливается ошибка не подскажешь с чем связана
Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/schema}DataCompositionSchema Форма: Элемент Тип: {http://v8.1c.ru/8.1/data-composition-system/settings}Settings по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {http://v8.1c.ru/8.1/data-composition-system/schema}dataSource Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType |
|||
38
dfaa
05.08.11
✎
16:47
|
извиняюсь всё загрузил, сейчас гляну
|
|||
39
ssh2006
05.08.11
✎
16:47
|
Ты её грузи не в настройки, а на вкладке наборы данных внизу слева кнопка открытия файла
|
|||
40
dfaa
05.08.11
✎
16:51
|
(39) спасибо за схему, но я тоже самое и делаю. Только проблема в том что при отборе по складу не выводиться номенклатура у которой нет остатков, видна только та у которой есть остатки. А мне нужна вся ((((
|
|||
41
ssh2006
05.08.11
✎
16:53
|
Сделай отбор в настройках: Группа ИЛИ: 1) склад = склад1 2) склад не заполнено
|
|||
42
hhhh
05.08.11
✎
16:55
|
(40) так делай отбор
Склад = &Склад ИЛИ Склад ЕСТЬ NULL |
|||
43
dfaa
05.08.11
✎
17:02
|
(41)и (42) да и правда работает!!!!!!!!!!!!!, А ещё вопрос при таких отборах номенклатура у которой нет остатков попадает в отдельный список, можно ли сделать отбор чтоб она была в складах а не отдельно ?
|
|||
44
Lady исчезает
05.08.11
✎
17:22
|
(43) см. (33)
|
|||
45
ssh2006
05.08.11
✎
17:47
|
(43) Качай
http://goo.gl/NgTc5 Теперь в группировке по каждому складу будет выводится вся номенклатура - и с остатками и без |
|||
46
dfaa
05.08.11
✎
17:57
|
ок сейчас попробую
|
|||
47
ssh2006
05.08.11
✎
17:58
|
+(45) Делая отбор по складу все равно увидишь всю номенклатуру
|
|||
48
dfaa
05.08.11
✎
18:02
|
(47) а это схема самих настроек ?
|
|||
49
dfaa
05.08.11
✎
18:07
|
(47) это схема загружается только в настройки СКД, а я так понимаю должна быть схема самого отчёта ?
|
|||
50
ssh2006
05.08.11
✎
18:25
|
Была сама схема. Я уже ушел. Могу в понедельник отправить еще раз. Там с Вт регистра соединяется не справочник, а подзапрос
Выбрать номенклатура.ссылка как номенклатура, Склады.ссылка как склад |
|||
51
ssh2006
05.08.11
✎
18:33
|
Полное соединение.
|
|||
52
dfaa
05.08.11
✎
19:02
|
(50) ну она загрузилась только в настройки отчёта, ок я попробую на выходных всё сделать если не получиться тогда на ящик тебе напишу. Но думаю получиться всё. Спасибо тебе.
|
|||
53
dfaa
05.08.11
✎
19:53
|
Сделал так, но остатки всё равно летят, может что не так соединил
/////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда, ВЫБОР КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор КОНЕЦ КАК Регистратор, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.Склад ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Номенклатура.Ссылка КАК Номенклатура, Склады.Ссылка КАК Склад ИЗ Справочник.Номенклатура КАК Номенклатура, Справочник.Склады КАК Склады) КАК ВложенныйЗапрос ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ВложенныйЗапрос.Номенклатура И ТоварыНаСкладахОстаткиИОбороты.Склад = ВложенныйЗапрос.Склад ////////////////////////////////////////////////////// |
|||
54
Xapac
05.08.11
✎
20:01
|
(53)а безлевых соединений не летят?
|
|||
55
ssh2006
05.08.11
✎
20:23
|
Вот так надо - Вложенный запрос левое соединение регистр
И проставь роли и номера периодов! как в первой схеме иначе итоги неверно могут быть посчитаны |
|||
56
dfaa
06.08.11
✎
16:24
|
(55) Спасибо тебе огромно!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Действительно вся проблема была в "И проставь роли и номера периодов! как в первой схеме иначе итоги неверно могут быть посчитаны"
|
|||
57
ssh2006
06.08.11
✎
18:02
|
Запрос то из (53) переделал как я в (55) написал?
|
|||
58
dfaa
06.08.11
✎
18:34
|
(57) да переделал под левое соединение, А подскажи ты ссылку на ИТС давал. За какую статью ты говорил ?
|
|||
59
ssh2006
06.08.11
✎
19:02
|
(58) Типичные проблемы при расчете остатков
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |