|   |   | 
| 
 | Подскажите почему общий итог не считается | ☑ | ||
|---|---|---|---|---|
| 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) Типичные проблемы при расчете остатков     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |