воскресенье, 11 февраля 2018 г.

Запрос с нарастающим итогом

Запрос с нарастающим итогом рассмотрим на примере поступлений по регистру взаиморасчеты. Порядок решения:

  1. Нужно отобрать необходимые обороты (в данном случае "Приход") из регистра и поместить их во временную таблицу к которой будем обращаться.
  2. Выбрать 2 раза получившуюся таблицу и соединить по внутреннему соединению по необходимым полям и периоду через ">="
  3. Применить необходимую группировку
  4. Упорядочить по вкусу.

Нумерация таблицы в запросе

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

(Рассмотрим на примере нумерации данных справочника контрагенты)

Нужно выбрать 2 раза одну и ту же таблицу и соединить их через внутреннее соединение по ">=" или "=<" и сгруппировать строки по количеству.



воскресенье, 4 февраля 2018 г.

Дерево значений (Выгрузка на форму из запроса)

Чтобы отобразить на форме результат запроса в дереве значений нужно :
Создать на форме элемент формы с типом - "ДеревоЗначений" и необходимые колонки с соответствующими типами:




Листинг кода выгрузки на сервере:


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | Номенклатура.Ссылка КАК Ссылка
               |ИЗ
               | Справочник.Номенклатура КАК Номенклатура
               |ИТОГИ ПО
               | Ссылка ИЕРАРХИЯ";
Результат = Запрос.Выполнить();
ЗначениеВРеквизитФормы(Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией), "ДеревоЗначений"); // эта конструкция и выгружает результат