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

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

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

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

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

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

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

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



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

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

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




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


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


воскресенье, 19 ноября 2017 г.

Пауза, задержка времени, при выполнении кода 1С

Задержку времени в 1С можно реализовать с помощью COM объекта "WScript.Shell" или на встроенном языке.

Задержка времени на встроенном языке 1С


На встроенном языке 1С можно написать цикл с проверкой даты и времени. Данный метод является более универсальным.

Процедура ПаузаПустымЦиклом(Секунды)
  
 ВремяОкончания = ТекущаяДата() + Секунды;
 Пока ТекущаяДата() <= ВремяОкончания Цикл 
 КонецЦикла;
 
КонецПроцедуры 

четверг, 21 сентября 2017 г.

Макет СКД как печатная форма

Макет СКД прекрасно подходит для прорисовки печатных форм.

1) Сначала нужно создать Макет СКД для объекта печати (ПКМ по объекту - добавить - макет)

воскресенье, 10 сентября 2017 г.