суббота, 10 апреля 2021 г.

Получить значение параметра СКД ПриКомпоновкеРезультата

 Чтобы определить значение параметра при ПриКомпоновкеРезультата нужно воспользоваться одним из методов: 

Листинг:

// 1 Способ получения параметра
ПараметрПериод = Новый ПараметрКомпоновкиДанных("Период");
ЗначениеПериод = Неопределено;
Для каждого Элемент ИЗ КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
Если ТипЗнч(Элемент) = Тип("ЗначениеПараметраНастроекКомпоновкиДанных") 
И Элемент.Параметр = ПараметрПериод 
И Элемент.Использование Тогда
ЗначениеПериод = Элемент.Значение;
КонецЕсли;
КонецЦикла;  
// 2 Способ получения парамера (не самый оптимальный)
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
Элемент = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Если Элемент <> Неопределено И Элемент.Использование Тогда
ЗначениеПериод2 = Элемент.Значение;
КонецЕсли;
// 3 Способ (используется в типовых конфигурациях)
Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Период");

понедельник, 7 мая 2018 г.

среда, 4 апреля 2018 г.

Раскрасить табличную часть или условное оформление табличной части

Чтобы раскрасить табличную часть документа (установить параметры условного оформления) нужно воспользоваться следующим методом в предопределенной процедуре "ПриСозданииНаСервере"

Данный метод доступен только в директиве компиляции "&НаСервере"

суббота, 31 марта 2018 г.

Изменение данных объекта (РеквизитФормыВЗначение & ЗначениеВРеквизитФормы)

Чтобы обратиться к экспортной процедуре созданного объекта который еще не сохранен в базе - нужно воспользоваться методом "РеквизитФормыВЗначение"
Данные метод преобразует указанный реквизит формы в объект прикладного типа:



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

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

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

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

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

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

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

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

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