Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 21:12

Помогите создать запрос

Автор Patriarh, 03 ноя 2012, 08:44

0 Пользователей и 1 гость просматривают эту тему.

Patriarh

Здравствуйте! Помогите разобраться с создание запроса.

Slin

skype: slin-dev

Patriarh

Нужно получить таблицу в которой будет 2 колонки в одной будет продукция и затраченные ресурсы на нее а в другой количество продукции и соответственно количество ресурсов затраченное на продукцию

Dethmontt

А структура то уже есть по которой запрос строить?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Patriarh

В первом сообщении я прикрепил файл док, там есть изображены какие таблицы есть и какую надо получить

mixqn

Цитата: Patriarh от 05 ноя 2012, 17:54
В первом сообщении я прикрепил файл док, там есть изображены какие таблицы есть и какую надо получить
таблицы, которые уже есть как называются в конфигураторе? это регистры или табличные части или что-то еще?
чтобы написать запрос, это надо знать обязательно.
вообще, у вас будет просто левое соединение этих самых таблиц, но прежде чем окончательный текст запроса написать, надо знать структуру данных, а не говорить о каких-то отвлеченных таблицах.

Patriarh

Обе исходных таблицы это регистры накопления, я так понимаю левым соединение нужно прикрепить колонку количество продукции из таблицы продукция на складе к таблице расход ресурсов и у на получится 4 колонки в таблице, как это все превратить в 2, да еще таким хитрым способом

mixqn

2 колонки - это то, что должен видеть пользователь на экране или же задача именно получить "плоскую" таблицу?
Я к тому, что исходная таблица может содержать 4 колонки, а пользователю выводиться в 2 колонки в том виде, как в файле, для этого надо количество свести в 1 колонку, а продукцию и ресурсы разместить в группировках, используя ИТОГИ ну и немного поиграться с фиксированным макетом.

В общем, если такой вариант устроит, могу рассказать как сделать в том виде, что на скриншоте (заморочился, создал пустую базу с нужными регистрами, правда сведений для простоты заполнения) :)

Patriarh

Супер круто то что надо!))) Скажите как так сделать?) Если возможно то хотелось бы еще заполучить консоль запросов)

mixqn

Цитата: Patriarh от 07 ноя 2012, 13:46Если возможно то хотелось бы еще заполучить консоль запросов
конечно, нет проблем - вложил вместе с конфигурацией.

Вкратце суть метода: в итогах сводим количество в одну колонку, см запрос:

ВЫБРАТЬ
   КоличествоПроизведеннойПродукции.Продукция КАК Продукция,
   КоличествоПроизведеннойПродукции.Количество КАК Количество,
   ЗатратыНаПродукцию.Ресурс КАК Ресурс,
   ЗатратыНаПродукцию.Количество КАК КоличествоРесурс
ИЗ
   РегистрСведений.КоличествоПроизведеннойПродукции КАК КоличествоПроизведеннойПродукции
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗатратыНаПродукцию КАК ЗатратыНаПродукцию
      ПО КоличествоПроизведеннойПродукции.Продукция = ЗатратыНаПродукцию.Продукция
ИТОГИ
   ВЫБОР
      КОГДА Ресурс ЕСТЬ NULL
         ТОГДА МАКСИМУМ(Количество)
      ИНАЧЕ МАКСИМУМ(КоличествоРесурс)
   КОНЕЦ КАК Количество
ПО
   Продукция,
   Ресурс

Суть того, что написано в итогах сводится к следующему: конструкция "КОГДА Ресурс ЕСТЬ NULL ТОГДА" позволяет определить нам уровень итогов. Когда мы находимся на уровне итогов по продукции, ресурсов у нас нет, там пусто, то есть NULL и наоборот - если ресурс не NULL, значит мы на уровне итогов по ресурсу, а не по продукции.
Тут надо учесть, что метод работает только для фиксированного макета, если поменять порядок группировок в настройках построителя, уже ничего хорошего не получится.

Далее.
Итоги прописали, надо настроить макет. Как это делается: в группировки загоняем продукцию и ресурс, если не задать фиксированный макет, появляется дополнительная строка с детальными записями. Если например не добавить ресурс в группировки, вид отчета тоже будет не тот, поэтому именно оба измерения надо добавить в группировки. Далее открываем фиксированный макет и просто удаляем строку детальных записей. Все.

Далее можете посмотреть по примеру во вложении. Будут вопросы - пишите.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск