8.х Вычисляемое поле в отчете на СКД (объединение)

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем babylon_5, 30 ноя 2009.

  1. TopicStarter Overlay
    babylon_5
    Offline

    babylon_5

    Регистрация:
    12 ноя 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Делаю отчет на СКД. Тип набора данных - объединение.

    У меня участвует самописный документ, но аналог можно представить так:
    Есть счет на оплату покупателю, на его основе делается расходная. Номенклатура в счете и в расходной может отличаться по количеству и по наименованиям...
    Поэтому делается такой отчет.
    Группировка по счету. Колонки: наименование ТМЦ, количество в счете, количество в расходной, разница в процентах (нужна только по счету в целом).

    В каждом из двух запросов есть поле с количеством (понятно что в одном из них оно переименовывается).
    Не могу сделать поле с разницей в процентах.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Показывайте запросы...
    Либо выкладывайте схему
  3. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Колега правильно сказал. Что так это будет аналогом икать черную кошку в темной комнате. Если эти два поля в запросе у тебя выводятся то в чем проблема на СКД уже в пользовательком режиме пользователькое поле сделать?
  4. TopicStarter Overlay
    babylon_5
    Offline

    babylon_5

    Регистрация:
    12 ноя 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Запрос 1:
    ВЫБРАТЬ
    П_РасчетЗаказа.Ссылка,
    П_РасчетЗаказа.Продукция,
    П_РасчетЗаказаМатериалы.Номенклатура,
    П_РасчетЗаказаМатериалы.Количество,
    0 КАК КоличествоТН
    ИЗ
    Документ.П_РасчетЗаказа.Материалы КАК П_РасчетЗаказаМатериалы
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.П_РасчетЗаказа КАК П_РасчетЗаказа
    ПО П_РасчетЗаказаМатериалы.Ссылка = П_РасчетЗаказа.Ссылка
    ГДЕ
    П_РасчетЗаказа.Проведен <> &НеПроведен
    И П_РасчетЗаказа.Дата > &ДатаНачала
    И П_РасчетЗаказа.Дата < &ДатаОкончания

    Запрос 2:
    ВЫБРАТЬ
    ПартииТоваровНаСкладах.Склад,
    ПартииТоваровНаСкладах.Номенклатура,
    0 КАК Количество;
    ПартииТоваровНаСкладах.Количество как КоличествоТН,
    ПартииТоваровНаСкладах.Стоимость,
    ТребованиеНакладная.П_ДокументОснование.Ссылка,
    ТребованиеНакладная.Ссылка
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ТребованиеНакладная КАК ТребованиеНакладная
    ПО ПартииТоваровНаСкладах.Регистратор = ТребованиеНакладная.Ссылка
    ГДЕ
    ТребованиеНакладная.П_ДокументОснование.Проведен <> &НеПроведен
    И ТребованиеНакладная.Проведен <> &НеПроведен
    И ТребованиеНакладная.П_ДокументОснование.Дата > &ДатаНачала
    И ТребованиеНакладная.П_ДокументОснование.Дата < &ДатаОкончания

    Эти запросы находятся в объединении.
    Т.е. в ТребованииНакладной есть поле со ссылкой на РасчетЗаказа. Дальше вывожу это все с группировкой по РасчетЗаказа.Ссылка И в группировке нужно вывести разницу между количеством ТМЦ в РасчетеЗаказа (расчетное значение) и количеством в ТребованииНакладной (реальное). Разница нужна в процентах. В абсолютном значении уже получил.
  5. TopicStarter Overlay
    babylon_5
    Offline

    babylon_5

    Регистрация:
    12 ноя 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    Проблема в том, что не считает. Поля из разных запросов объединения - я подозреваю, что проблема именно в этом а что сделать не знаю.
    А если пытаюсь сделать одним запросом, то номенклатуру показывает или из РасчетаЗаказа или из ТребованияНакладной. А чтобы и из одного и из другого получается только через 'объединение'.
    ----------------------
    Засада в том, что номенклатура в РасчетеЗаказа и в ТребованииНакладной может не совпадать. Например: в расчете(эт теория) написали 125кг тмц1, а в ТребованииНакладной(практика) 75кг тмц1 и 55кг тмц2 или вообще: 80кг тмц2 и 60кг тмц2. Соответственно в расчете 125кг - 100%, в ТН(берем второй случай) 140кг это 112%. Вывести нужно 12% и именно на строке группировки. Потому что в строках с тмц это практически лишено смысла

    Т.е. получить нужно что-то вроде:
    ------------------------------------------------
    Ссылка.................КвоРЗ...КвоТН...Разница
    ....Наименование
    -------------------------------------------------
    РасчетЗаказа23.....125......140..........12%
    ........тмц1................125
    ........тмц2............................80
    ........тмц3............................60

    Может можно пройти другим путем и таки получить результат одним запросом?
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. Перепишите запрос правильно
    Код:
    "П_РасчетЗаказа.Проведен <> &НеПроведен
    И П_РасчетЗаказа.Дата > &ДатаНачала
    И П_РасчетЗаказа.Дата < &ДатаОкончания"
    
    Переписывается так:
    Код:
    "П_РасчетЗаказа.Проведен 
    И П_РасчетЗаказа.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания"
    
    2. Поля объединения как настроены?
  7. TopicStarter Overlay
    babylon_5
    Offline

    babylon_5

    Регистрация:
    12 ноя 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    1. Сначала так и было, потом в процессе экспериментов стало как сейчас. Не помню почему. Ну, это пока вроде как не критично.
    2. Да никак не настроены... Я так понял из Хрусталевой, что оно само собирает по одинаковым полям.
    Правда, по расчету заказа группирует, а вот номенклатуру (если одинаковая в HP и в ТН) выводит в разные строки.
    А что там и как настроить?
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Честно говоря, сыро еще в СКД объединение :)
    Я предпочитаю напрямую в запросе сделать объединение и не париться.
    Только это и могу порекомендовать :))))
  9. TopicStarter Overlay
    babylon_5
    Offline

    babylon_5

    Регистрация:
    12 ноя 2009
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    А как?
    Похоже, придется плюнуть на СКД и делать по старинке...
  10. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Нет, зачем на СКД плевать? :)
    Просто запрос подпихните с готовым объединением, а не в СКД его создавайте.

Поделиться этой страницей