Архив автора: Inozemtsev

Как получить значение перечисления в запросе 1С

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

1
Регистр.НужныйРегистр.Измерение = ЗНАЧЕНИЕ(Перечисление.ИскомоеПеречисление.ЗначениеПеречисления)

Обращение к полю составного типа данных в запросе

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

1
ПоступлениеТоваровУслуг.Сделка.Дата

и учитывать, что «Сделка» — поле составного типа (15 документов), то у в запросе будет построено 15 левых соединений.

А нужно сравнивать только с одним типом документов. Для оптимизации запроса следует использовать следующую конструкцию:

1
ВЫРАЗИТЬ(ПоступлениеТоваровУслуг.Сделка КАК Документ.СписаниеТоваров).Дата

 

Использование функций общих модулей в СКД (инициализация процессора компоновки данных)

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

1
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , , Истина);

Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>).

Использование функций общих модулей в СКД

При формировании отчётов на СКД можно обращаться к экспортным функциям общих глобальных модулей. В вычисляемых полях добавляется новое поле и в выражении этого поля пишется обращение к функции, например:

1
НайтиТретийУровеньВложенностиНоменклатуры(Номенклатура)

В данном случае вызывается функция общего глобального модуля, в которую передаётся параметр — «Номенклатура» — поле набора данных. Функция возвращает значение группы, к которой принадлежит указанная номенклатура.