Меню

Объясните про параметры вирутуальных таблиц регистра накопления

Объясните про параметры вирутуальных таблиц регистра накопления

Плоховато я понимаю эти регистры. Есть 2 вопроса:

Про параметр Условие в справке написано:
1. «Условие может оперировать полями регистра накопления. Оно будет использовано для ограничения состава записей, по которым будут выбираться итоги. То есть условие будет применяться к исходным записям, а не к уже отобранным.»

Почему же тогда в Условии не получается задать условие на реквизит, а не на измерение? Ведь предназначение поля Условие- накладываться на записи регистра до применения Функции когда все поля регистра ещё доступны, разве нет?

1.1 Дополнительный вопрос: Если мне надо сделать флаг, что-то типа Активности, при условии на который остатки будут то включать, а то не включать некоторые «детальные» записи регистра — получается мне его обязательно надо заносить в Измерения(а не в реквизиты)?

2. И второй вопрос про параметр Периодичность — если мы устанавливаем Периодичность — Регистратор, то в ОстаткиИОбороты как бы появляется измерение — Регистратор и после применения Функции (но не до! в Условии) я как бы могу делать условие на Регистратор.
Но как сделать так чтобы, Периодичность была установлена в скажем месяц, и при этом сохранить возможность работать с полем Регистратор??

Прошу прощения за начальный уровень вопросов — прошу сильно не «отсылать в СП», если можно объясните тут -об этом вроде в книжках мало где написано

butterbean полезно Вам, из того что вы привели по теме не полезно ничего, тем более я просил не осылать к СП, т.к. что касается виртуальных таблиц читал и даже цитировал оттуда

Вопросы остаются: 1. Почему они не оставили возможность в пареметре Условие — задавать условие на реквизиты — ведь в справке именно про это говорится? В чем тогда принципиальная (кроме быстродействия) разница Условия и условий, которые я могу задать потом в «ГДЕ»?
2. Почему они не оставили возможность работы в витруальной таб-це с Регистратором и одновременного разбивания на Периодичность?

(4)(5) А вот хамить вовсе не обязательно.
Вам помогли и всё объяснили. Если Вы не понимаете того что написано — это не является поводом для хамства.

>>Вопросы остаются: 1. Почему они не оставили возможность в пареметре Условие — задавать условие на реквизиты

Вам (1) ответил: >>Реквизит — только у реальной таблицы. Виртуальные с ними не работают.
Вам butterbean ответил: >>Предназначена для получения остатков по регистру накопления. Данные представляют собой итоги ресурсов. Агрегация производится по ИЗМЕРЕНИЯМ указанным в запросе.

Что Вам еще надо написать, чтобы до Вас дошло?

>>2. Почему они не оставили возможность работы в витруальной таб-це с Регистратором и одновременного разбивания на Периодичность?

Ну Вы хотите и на елку влезть и . не поцарапать. Регистратор — это и есть периодичность. И либо периодичность будет месяц (тогда фиг вам а не регистратор), либо периодичность «Регистратор» или «Запись» и тогда регистратор доступен. Просто как Вы сами представляете себе таблицу оборотов по месяцам с регистраторами, какие там должны быть цифры в полях СуммаОборот и КоличествоОборот в каждой строке (по месяцам или все таки по регистраторам)?

(6), Вы не понимаете то что я спрашиваю либо я не правильно понимаю текст кторый привел в самом первом сообщении: «Условие может оперировать полями регистра накопления. Оно будет использовано для ограничения состава записей, по которым будут выбираться итоги. То есть условие будет применяться к исходным записям, а не к уже отобранным.»
Т.е. условие накладывается на реальные записи, до применения функции и получения итоговых (вирутальных) записей. Почему же оно тогда не видит регистратор и реквизит допустим?
К сведению в (4) я не хамил, и хамлю я обычно только после того как мне хамят! и таким людям как (1) и (6)

По поводу 2: и по месяцам и по регистратору; регистратор просто становиться как измерение, как собственно и месяц.

(12), В первую очередь спасибо Вам за корректное общение, а не желание возвыситься опуская других, а во вторую попробую ещё раз процитировать то что я взял из справки СП:

«Условие может оперировать полями регистра накопления. Оно будет использовано для ограничения состава записей, по которым будут выбираться итоги. То есть условие будет применяться к исходным записям, а не к уже отобранным.»

Попробую обобщить:
Виртуальные таблицы строятся либо по реальной таблице итогов (хранящейся в СУБД), либо по реальной таблице регистра (либо и то и другое) — в зависимости от периода.
Отбор в Условии накладывается на поля из таблицы итогов, да?

Тогда нужно правильнее писать справку, например так:
«Условие может оперировать полями скрытой таблицы итогов регистра накопления. Оно будет использовано для ограничения записей из таблицы итогов регистра, по которым будут расчитываться итоги в вирутальной таблице. То есть условие будет применяться к записям таблицы итогов до расчета итогов в записях вирутальной таблицы, а не после»

Источник

Использование виртуальных таблиц 1С в запросах

1. Получение данных — создание запросов к базе данных.

Получение информации из регистров происходит посредством создания запросов к базе данных, и оттого насколько правильно сделан запрос будет зависеть скорость получения данных и как следствие оптимальность работы системы. В данной статье мы рассмотрим некоторые особенности получения данных посредством запросов данных в 1С.

2. Структура регистров.

Регистры состоят из двух таблиц, которые хранятся в базе данных, это таблица движений и таблица итогов. Так же в структуру регистров входят виртуальные таблицы, расчет которых производится на основе таблиц движений и итогов, в момент обращения в базе данных.

(Более подробно данная тема рассматривалась в статье. Следует заметить, что указанная статья не дает полного описания механизма регистров, для более углубленного изучения данного вопроса следует использовать дополнительные материалы).

Расчет таблицы итогов будет зависеть от вида регистра 1С, структура имеет следующий вид:

3. Доступ к виртуальным таблицам 1С.

Посредством запроса 1С можно обратиться к движениям и к виртуальным таблицам 1С, доступ к итогам напрямую невозможен.

Использование таблицы движений является крайне нежелательной, т.к. она содержит максимальное количество записей, обработка которых будет сильно нагружать систему.

Читайте также:  Таблица изменения времени для г Алматы Казахстан

Если обратится к базе данных посредством 1С конструктора запроса, то таблицы будут выглядеть следующим образом.

При написании запроса следует ориентироваться на использование виртуальных таблиц 1Срассчитываемых на основе итогов. В этом случае запрос будет наиболее оптимальным.

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

4. Параметры виртуальной таблицы 1С остатков.

Период – Дата, либо момент времени на который необходимо получить остатки.

В качестве примера рассмотрим следующую таблицу движений и параметры виртуальной таблицы 1С:

Остатки рассчитываются на начало секунды!

Если к примеру мы укажем дату остатков 20.01.2019 12:00:00 то движения за период 20.01.2019 12:00:00 учтены не будут, и остаток будет равен 8.

Период возможно указать с точностью до секунды, возможно ситуация когда движения могут быть в пределах одной секунды, и если использовать дату в качестве периода можно получить некорректные данные.

Движения формируются документом, для того чтобы документы располагались в хронологическом порядке в пределах секунды, платформа 1С использует объект Момент времени.

Он представляет собой поле Дата+Ссылка

Момент времени создается автоматически, и изменить его в пределах одной секунды невозможно. Изменить хронологию документов можно, только переместив дату одного издокументов на следующую секунду.

Допустим, что 20.01.2019 12:00:00 был проведен еще один документ, таблица движений примет следующий вид:

На временной оси два последних документа будут расположены следующим образом

При расчете остатков на МоментВремени документа, движения этого документа не учитываются !

Для того чтобы получить остатки с учетом его движений, необходимо использовать объект Граница.

В зависимости от свойства Вид Границы, можно получить момент непосредственно перед или после позиции документа.

Получение Границы , включая движения документа:

МоментПолученияОстатков = Новый Граница ( МоментВремени (), ВидГраницы . Включая );

Условие – параметр позволяющий произвести отбор данных по измерениям регистра.

В нашем примере у регистра остатков только одно измерение «Номенклатура».

Условия можно описывать как простой конструкцией, например

Так и при помощи подзапроса

Номенклатура В (ВЫБРАТЬ

ВтНоменклатура КАК ВтНоменклатура)

При обращении к виртуальной таблице следует передавать в условия наиболее простые конструкции. Не рекомендуется использовать подзапросы и соединения в параметрах виртуальной таблицы, так как это приводит к медленной работе запроса.

Если все же подзапрос необходим, то необходимо соблюдать следующие условия:

· в подзапросе только одна таблица, нет соединений с другими таблицами.

· если в подзапросе таблица табличной части (например, Документ.Накладная.СписокТоваров), то не должно быть обращения к реквизитам таблицы-шапки (Накладная.Проведен).

· если в подзапросе таблица, у которой могут быть табличные части (например, Документ.Накладная), то не должно быть обращений к табличным частям (например, ГДЕ Документ.Накладная.СписокТоваров.Номенклатура = «1»).

· если в подзапросе временная таблица, то не должно быть условий (раздела ГДЕ).

· если в подзапросе постоянная таблица, то условие (раздел ГДЕ) может быть допустимо, только если условие выполняется для 80% (или более) случаев, отсутствие условия означает выполнение для 100% случаев

· если в подзапросе постоянная таблица, то в ограничениях доступа к данным (RLS) не должно содержатся подзапросов и соединений (допускаются только простые условия вида «ГДЕ Реквизит = Значение», «ГДЕ Истина»).

5. Основные параметры таблицы Оборотов.

Как видим в качестве периода здесь два параметра, это НачалоПериода и КонецПериода.

Обороты в отличие от остатков можно получить только за определенный период. К примеру, если нам требуется узнать остаток товаров, то мы говорим : «Сколько товаров осталось на сегодня на 12:00? а вчера на 18:00». В случае оборотов вопрос строится так: «Сколько товаров было продано за сегодня? А за этот месяц?».

НачалоПериода – в случае если указывается дата, то берется начало секунды; если параметр не указан, то берется начало секунды периода первого движения.

КонецПериода – в случае если указывается дата, то берется конец секунды; если параметр не указан, то берется конец секунды периода последнего движения.

Если оба основных параметра таблицы указать одинаковыми, то период будет равен 1 секунде.

В случае если в качестве параметра НачалоПериода или КонецПериода, берется МоментВремени документа, то движения самого документа будут входить в выбираемый период!

Для того чтобы получить момент непосредственно перед или после позиции документа, следует воспользоваться объектом Граница.

Следующим параметром таблицы оборотов является Периодичность таблицы.

Периодичность — позволяет детализировать записи виртуальной таблицы обороты в соответствии с выбранным периодом.

Рассмотрим использование данного параметра на примере следующей таблицы движений:

Выберем данные из таблицы оборотов, в качестве периодичности выберем месяц.

Т.к. все движения формировались в одном месяце, то получим всего одну запись:

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

Для того чтобы детализировать записи в пределах секунды, в качестве периодичности выберем Регистратор, в результате появится дополнительная колонка Регистратор:

Если в качестве периодичности выбрать авто то возможно привести данные к нескольким периодам:

Параметр условие аналогичен условию в виртуальной таблице остатков.

При использовании в запросах виртуальных таблиц, в первую очередь необходимо выбирать таблицы, расчет которых производится на основе таблиц итогов.

Для регистра с видом остатки это таблица остатки, для оборотного обороты.

Далее необходимо максимально точно описать условия виртуальных таблиц.

При соблюдении этих условий, возможно получить данные наиболее оптимальным способом.

Специалист компании ООО «Кодерлайн»
Александр Гармышев

Источник



1С 8.3 : Параметры виртуальных таблиц

При организации выборок в реальных задачах в подавляющем большинстве случаев организуется отбор данных в соответствии с некоторыми критериями.

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

Язык запросов позволяет наложить условие на выборку из виртуальных таблиц двумя способами: в предложении ГДЕ и с помощью параметров виртуальных таблиц. Оба способа приведут к одному результату (за исключением некоторых специфических случаев), но, тем не менее, они далеко не эквиваленты.

Мы уже знаем, что виртуальные таблицы потому и называются виртуальными, что в базе их на самом деле нет. Формируются они только в тот момент, когда к ним обращается запрос. Несмотря на это, нам (то есть, тем, кто составляет запрос) удобно рассматривать виртуальные таблицы именно как реально существующие. Что же произойдёт в системе 1С Предприятие 8, когда составленный нами запрос всё-таки обратится к виртуальной таблице?

Читайте также:  Различные виды таблиц html

На первом шаге, система построит виртуальную таблицу. На втором шаге из полученной таблицы будут выбраны записи, удовлетворяющие условию, заданному в предложении ГДЕ:
title
Хорошо видно, что в итоговую выборку попадут не все записи из виртуальной таблицы (а, следовательно, и из базы данных), а только те, которые удовлетворяют заданному условию. А остальные записи просто будут исключены из результата.

Таким образом, система проделает не просто бесполезную, а двойную бесполезную работу! Сначала будут затрачены ресурсы на построение виртуальной таблицы на основе лишних данных (на рисунке они помечены как «области данных А и Б»), а потом ещё будет проделана работа по фильтрации этих данных из окончательного результата.

Нельзя ли сразу, на этапе построения виртуальной таблицы, отказаться от использования ненужных данных? Оказывается, можно. Именно для этого и предназначены параметры виртуальных таблиц:
title
Параметризируя виртуальную таблицу, мы сразу ограничиваем объём данных, который будет обрабатываться запросом.

В чем заключается различие значений параметра виртуальной таблицы «МетодДополнения»?
Когда МетодДополнения установлен в «движения», то будут выданы только те периоды в которых были движения. Когда установлен «ДвиженияИГраницыПериода», тогда к вышеуказанным движениям добавятся 2 записи: движения на начало и конец заданного в параметрах ВТ периода. Поле «Регистратор» при этом для этих 2-х записей будет пустым.

Источник

Конструктор запросов 1С — обучение на примерах

Урок 6. Виртуальные таблицы и их использование в конструкторе запросов

Задача 1: Получить остатки номенклатуры на указанном складе на конец месяца.

Задача 2: Получить актуальную цену на конец месяца по указанной номенклатуре и типу цен.

Новые механизмы: заполнение параметров виртуальных таблиц.

Теоретическая часть урока №6

У некоторых объектов метаданных помимо основной таблицы в базе данных присутствуют виртуальные таблицы. Они облегчают доступ к некоторой информации содержащейся в основной таблице. Использовать данные виртуальных таблиц можно при помощи запросов, либо при помощи специальных методов встроенного языка 1с 8.

Рассмотрим основные виды виртуальных таблиц 1с для различных объектов метаданных:

  • СрезПоследних. Метаданные: периодические регистры сведений. Данная таблица позволяет получить последние актуальные данные на указанную дату, такие данные называются срезом последних. Возможно получить срез как в целом по регистру, так и по одному, либо нескольким измерениям;
  • СрезПервых. Метаданные: периодические регистры сведений. Данная таблицы позволяет получить первые актуальные данные появившееся в регистре в указанную дату, либо после нее, такие данные называются срезом первых. Возможно получить срез как в целом по регистру, так и по одному, либо нескольким измерениям;
  • Остатки. Метаданные: регистры бухгалтерии, регистры накопления с видом регистра остатки. Данная таблица позволяет получить остатки по ресурсам регистра на указанную дату. Возможно получать остатки как в целом по регистру, так и в разрезе определенных измерений, для регистров бухгалтерии в измерения также включаются счет и субконто относящиеся к данному счету;
  • Обороты. Метаданные: регистры бухгалтерии, регистры накопления. Данная таблица позволяет получить обороты по ресурсам регистра за указанный период. Возможно получать обороты как в целом по регистру, так и в разрезе определенных измерений, для регистров бухгалтерии в измерения также включаются счет, субконто, кор. счет, кор. субконто;
  • ОстаткиИОбороты. Метаданные: регистры бухгалтерии, регистры накопления с видом регистра остатки. Данная таблица позволяет получать остатки по ресурсам на начало и конец указанного периода и обороты по ресурсам за указанный период. Возможно получать остатки и обороты как в целом по регистру, так и в разрезе определенных измерений, для регистров бухгалтерии в измерения также включаются счет и субконто относящиеся к данному счету;
  • ОборотыДтКт. Метаданные: регистры бухгалтерии. Данная таблица позволяет получить обороты по ресурсам регистра за указанный период. Возможно получать обороты как в целом по регистру, так и в разрезе определенных измерений, в измерения также включаются дебетовая и кредитовая части проводки: счет дебета, счет кредита, субконто дебета, субконто кредита и т.д.;
  • ДвиженияССубконто. Метаданные: регистры бухгалтерии. Данная таблица позволяет получить записи регистра бухгалтерии вместе со значениями субконто.

Конструктор запросов позволяет работать с виртуальными таблицами регистров. Если у регистра есть виртуальные таблицы, то они будут находится в разделе База данных на вкладке Таблицы и поля после основной таблицы регистра.

Виртуальные таблицы в конструкторе запросов 1с

Для того чтобы получить нужные данные из виртуальной таблицы регистра, необходимо заполнить ее параметры. Разберем заполнение параметров для основных виртуальных таблиц. Для того чтобы открыть окно параметров виртуальной таблицы, ее необходимо перенести из раздела База данных, в раздел Таблицы, выделить и нажать в кнопку Параметры виртуальной таблицы.

Открыть параметры виртуальной таблицы

СрезПоследних и СрезПервых

Параметры виртуальной таблицы Срез последних

Условие в параметрах виртуальной таблицы 1с

  • Период. В данном поле необходимо задать параметр, в который будет передана дата, на которую будет осуществляться срез первых, либо срез последних;
  • Условие. Данное поле присутствует практически у всех виртуальных таблиц, в нем задается условие на поля виртуальной таблицы. Данное условие необходимо прописать вручную, либо воспользоваться редактором произвольных выражений, который можно запустить нажав кнопку с тремя точками.

    ПРИМЕЧЕНИЕ! Если вам необходимо задать условия на поля виртуальной таблицы, делать это необходимо именно в параметрах таблицы, а не на вкладке Условия. Все дело в том, что запрос сначала выбирает данные, учитывая указанные параметры, а уже потом накладывает на него отбор из вкладки Условия. Поэтому условия наложенные в параметрах таблицы отработают быстрее, чем те которые указаны на вкладке Условия. Однако это правило не следует использовать для установки условий на ресурсы регистров, так как в данном случае они не будут отрабатывать также, как условия наложенные на измерения и реквизиты (т.е. если вам необходим отбор по ресурсам регистра, делать это нужно на вкладке Условия).

Остатки в регистре накопления

    Период. В данном поле необходимо задать параметр, в который будет передана дата или граница, на которую будет осуществляться получение остатков. У таблицы Остатки существует небольшая особенность, если вам необходимо получить остаток на определенную дату, то передать в параметр необходимо эту дату плюс одну секунду, либо границу с типом границы Включая;Пример 1

Остатки в регистре бухгалтерии

Параметры виртуальной таблицы остатки регистр бухгалтерии

  • УсловиеСчета. В данном поле задается условие на поле Счет виртуальной таблицы. В отличии поля Условия, для создания условий доступно только измерение Счет;
  • Субконто. В данном поле задается параметр, содержащий массив видов субконто, которые должны анализироваться в данной виртуальной таблице. Например, если вы хотите получить остатки по 41 счету бухгалтерского учета, но вам не нужен разрез по складам, то в данный параметр можно передать массив состоящий из одного элемента: Номенклатура из плана видов характеристик ВидыСубконтоХозрасчетные.

При помощи данного параметра можно увеличить скорость выполнения запроса, исключив ненужную аналитику. Субконто в виртуальной таблице будут доступны в том порядке, в котором они стоят в массиве. Если в параметр передано меньше видов субконто, чем существует на счете, то не указанные в параметре субконто использовать нельзя. Данный параметр не является обязательным, если он не задан, то в виртуальной таблице используются все доступные субконто.

Обороты в регистре накопления

Параметры виртуальной таблицы Обороты

  • НачалоПериода. Параметр в котором хранится дата начала периода, за который будут браться обороты;
  • КонецПериода. Параметр в котором хранится дата окончания периода, за который будут браться обороты;
  • Периодичность. Определяет группировку по периоду в виртуальной таблице. Если, например, указана периодичность Месяц, то данные в таблице будут сгруппированы по всем измерениям и месяцу, в полях таблицы появится поле Период, в котором будет хранится первый день месяца, в котором было сделано движение регистра. Если оставить поле Периодичность пустым, то периода в полях виртуальной таблицы не будет. Помимо периодичности связанной с временными промежутками есть еще несколько ее типов:
    • Запись. Данные будут выбираться по отдельным записям регистра, точно также как в полной таблице. В полях появляются Период и Регистратор (документ который сделал данное движение);
    • Регистратор. Данные будут сгруппированы по документу сделавшему движения в регистре. Данная группировка удобна как раз тогда, когда вам необходимо иметь разрез по документам. В полях появляются Период и Регистратор;
    • Период. Данные группируются по измерениям регистра за весь период оборота;
    • Авто. Данные группируются до секунды, в полях появляются Регистратор, ПериодСекунда, …. ПериодГод.
Обороты в регистре бухгалтерии

  • УсловиеКорСчета. В данном поле задается условие на поле корреспондирующий счет проводки. В отличии поля Условия, для создания условий доступно только измерение КорСчет;
  • КорСубконто. В данном поле задается параметр, содержащий массив видов субконто корреспондирующего счета, работает аналогично параметру Субконто, см. раздел «Остатки в регистре бухгалтерии».
Остатки и обороты в регистре накопления

  • МетодДополнения. Метод дополнения периодов, данный параметр определяет за какие периоды будут получены движения регистра. Если указано значение Движения, то будут получены периоды, в которых были движения (обороты не равны нулю), если ДвиженияИГраницыПериода, то за периоды, по которым были движения, плюс начальный и конечный периоды, если на их начало был остаток. Данный параметр имеет смысл только, если Периодичность не равна Период. ДвиженияИГраницыПериода является значением по умолчанию, поэтому если нужен данный метод дополнения, поле можно оставить пустым.
Остатки и обороты в регистре бухгалтерии

Все параметры используемые в данной таблице были описаны в предыдущих пунктах.

Обороты Дебет Кредит

  • УсловиеСчетаДт. В данном поле задается условие на поле СчетДт виртуальной таблицы, это счет левой части бухгалтерской проводки;
  • УсловиеСчетаКт. В данном поле задается условие на поле СчетКт виртуальной таблицы, это счет правой части бухгалтерской проводки;
  • СубконтоДт. В данном поле задается параметр, содержащий массив видов субконто, которые должны анализироваться для левой (дебетовой) части проводки;
  • СубконтоКт. В данном поле задается параметр, содержащий массив видов субконто, которые должны анализироваться для правой (кредитовой) части проводки;
Движения с субконто

  • Упорядочивание. В данном параметре можно задать поля сортировки записей виртуальной таблицы. Упорядочивать записи можно только в том случае, если заполнен параметр Первые.
  • Первые. В данном параметре указывается число первых записей, которые будут взяты из регистра в виртуальную таблицу. Данный параметр необходим для упорядочивания элементов виртуальной таблицы 1с.

Практическая часть урока №6

В данном разделе нам предстоит решить две задачи по пройденной теме.

Задача 1

Получить остатки номенклатуры на указанном складе на конец месяца.

Для простоты предположим, что весь учет товаров на складах идет по 41 счету бухгалтерского учета.

  • Создадим новый запрос;
  • Запустим конструктор запросов;
  • В раздел Таблицы перетащим таблицу Хозрасчетный.Остатки из ветки РегистрыБухгалтерии;
  • Выделим данную таблицу и нажмем кнопку Параметры виртуальной таблицы;
  • В поле Период впишем параметр, в который будет передаваться дата на которую будут браться остатки. Так как мы используем таблицу Остатки, в параметр передадим не дату а границу, с видом Включая;
  • В поле УсловиеСчета вручную или используя редактор произвольных выражений вписываем условие на счет, используя оператор В ИЕРАРХИИ, для того чтобы в запрос попали остатки по всем субсчетам счета 41;
  • В поле Субконто зададим параметр, в который передадим массив субконто. В нашей задаче нам нужны только склады и номенклатура, первым элементом массива зададим вид субконто Склады, а вторым Номенклатура;
  • В поле Условие вручную или используя редактор произвольных выражений наложим отбор на склад, который в нашем случае хранится в поле Субконто1.
  • На этом заполнение параметров виртуальной таблицы завершено, нажимаем кнопку ОК;
  • В раздел Поля перетащим Субконто1, Субконто2 и КоличествоОстаток;
  • Перейдем на вкладку Объединения / Псевдонимы;
  • Зададим псевдонимы для полей Субконто1 и Субконто2, назначим для них Склад и Номенклатура соответственно;
  • Запрос готов, нажимаем кнопку «ОК» в нижней части окна конструктора.

В итоге у нас получится запрос со следующим текстом:

Задача 2

Получить актуальную цену на конец месяца по указанной номенклатуре и типу цен.

  • Создадим новый запрос;
  • Запустим конструктор запросов;
  • В раздел Таблицы перетащим таблицу ЦеныНоменклатуры.СрезПоследних;
  • Выделим данную таблицу и нажмем кнопку Параметры виртуальной таблицы;
  • В поле Период впишем параметр, в который будет передаваться дата на которую будет браться срез последних;
  • В поле Условие вручную или используя редактор произвольных выражений наложим отбор на поля ТипЦен и Номенклатура;
  • В раздел Поля перетащим ресурс Цена;
  • Запрос готов, нажимаем кнопку «ОК» в нижней части окна конструктора.

В итоге у нас получится запрос со следующим текстом:

Источник