1с скд функция свернуть

Обновлено: 04.07.2024

Всем доброго дня!
Начала заниматься отчетами на СКД и есть вопрос по группировкам - нужно свернуть детальные записи в общий итог. Ну, как это раньше было в запросе
ИТОГИ ПО
СУММА(Имя_ресурса)
ПО Общие.
Вот как свернуть все записи и разворачивать по +, в закладке "Ресурсы" не смогла настроить.
Помогите, пожалуйста)

Я уже смотрела этот курс. Если там про это есть, пойду посмотрю кино) Мерси)

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

ресурс, по своей сути, агрегатная функция, только с более широкими возможностями по сравнению с запросом.

судя по (0) вам нужна не группировка, а вывод общих итогов.

(5) Я же хочу группировки свернуть. Общие итоги выводятся нормально.

Структура и там все свои поля по которым хочешь свернуть указываешь.

(7) Структура - это Вы о чем? На закладке "Группировки" в конструкторе запроса я указывала поля группировки и суммирующие поля. Но этот прием не работает в СКД.

Так у меня там кроме детальных записей ничего нет. Собственно мне ничего и не надо больше сворачивать. Или я чего-то недопонимаю(

(12) Мне показалось, я понятно описала задачу. Я так понимаю, ресурсы не нужно настраивать, надо терзать настройки вывода отчета, так?

Ресурсы - это то что надо считать при свертке данных. Группировки в структуре вывода, указывают как и что надо сворачивать.

Подсмотрела, как это реализовано в типовой, может кому понадобится. Добавляем текстовое поле "Итоги" (или как мы хотим его назвать), после чего в настройках вывода отчета добавляем это поле в структуру вывода и добавляем вложенное в него поле "Детальные записи". И наслаждаемся результатом)
(14) Спасибо за подсказку)

(15) В структуре - внизу справа - Настройки (или доп. настройки, смотреть лениво) - Выводить общие итоги по вертикали.

Народ, помогите советом, а как сделать надстройку по периоду? Задача такая: есть период ДатаНачало-ДатаКонец, как получить отчет вида: Январь-Март
---------------------------
Январь
Данные из регистра сведений
Февраль
Данные из регистра сведений
Март
---------------------------
если период не привязан к набору данных? То есть данные в отчете одни и те же (отбор хочу надстраивать сверху на результат.
Голову сломала уже, добавляла &Период, но ему нельзя указать периодичность. Что с этим можно сделать? Спасибо.

(18) "если период не привязан к набору данных" - то как можно данные группировать по месяцам?

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

(21) Ты нам расскажешь по какому признаку собираешся делить набор данных на части по месяцам? Вообще. Не как это сделать в 1ске, а именно какова задумка?

(20) Мне нужно выбрать полностью весь регистр, чтобы получить все данные из регистра ПараметрыАмортизацииБухгалтерскийУчет, т.к. нужна стоимостьдля вычисления амортизации, какой она была бы, если бы ДатаВыпуска была ДатойПринятияКУчету ( то есть если бы вовремя было принято к учету ОС, т.к. поздно принесли документы бухгалтеру) и для расчета налога нужна стоимость с учетом амортизации, которой еще не случилось (а доложна была бы). В связи с этим мне нужно отобрать все записи из регистра и потом свернуть по периоду, на один и тот же регистр. Ну я так это себе представляю. Может, я не права.

(22) Вот именно, что не надо их на части делить. Выбрать тупо все. Просто сверху на набор данных надстроить период. Такая простая вещь, а как в СКД сделать, не знаю(

ну период, по попаданию которого в интервалы ты собираешся делить все же есть в наборе данных?

Уже лучше, периоды есть. Группировать нужно по дате выпуска, или принятия к учёту? И еще, с СКД не нужно мыслить старыми шаблонами))

(23)А что ты будешь выбирать, если параметры амортизации возникают только в момент принятия к учету?

(27) Вот именно, что параметры амортизации заполняются в момент принятия к учету. Допустим, ситуация такая. ДатаВыпуска 01.09.12, дата принятия к учету 01.02.13. Мне для формирования отчета на 1.11.12 нужно показать, что у меня на эту дату должна быть отражена стоимость и амортизация. На момент ноября еще нет принятия к учету, поэтому опираться на эту дату или датуВыпуска никак нельзя.

(26) нельзя. Мыслить новыми шаблонами отлько привыкаем, еще не перестроилась.

Мысль фееричная - включать в базу расчёта налога "недосписанную" амортизацию с даты выпуска))

(30) То, что бухгалтер не получил вовремя документы о принятии к учету ОС не дает ему права не перечислять налог на имущество. Задним числом принять ОС нельзя. Таким образом мне поставлена задача произвести расчет амортизации для некоторых ОС (по определенному условию) включить их стоимость в расчет налога (за вычетом амортизации).

(30) То есть мы мыслим чисто гипотетически, ах вот если б быол у нас основное средство, вот мы бы его взяли бы и кааак списали. Я сделала выборку, оно все бы хорошо, но по периоду надо привязаться, я добавила параметры, а как приляпать периодичность. не знаю, может надо сделать какой-то запрос, чтоб такой период получить. Вот я и спрашиваю, что тут можно сделать.

оффтопик, а на каких основаниях вы уменьшаете стоимость ОС? документального основания же нет?

(33) мы не уменьшаем. Мы включаем в расчет налога на имущество то, что должны по закону. Стоимость ОС не меняется при этом.

(33) то есть, если у нас имущество есть, мы должны с него уплатить налог, накладки с документами никого не волнуют.
Собственно, мне главное надстройку с периодом сделать.

я могу выводить отчет в цикле, но это дикий моветон.

Можно еще раз у вас поинтересоваться, как будет распределятся набор данных по месяцам?

(28)То есть тебе надо получить начальные параметры амортизации? Это называется срез первых. Это для тех дат, которые меньше даты принятия к учету. Если потом хочешь вывести значения параметров на каждый месяц, ищи в поиске "срез последних на каждую дату в запросе".

(37) Выбираются данные из регистра сведений ПараметрыАмортизацииБухгалтерскийУчет. Добавляются параметры ДатаНачало и ДатаКонец на закладке "Параметры" в схеме. Далее хотелось бы получать помесячно один и тот же набор данных для отбора ОС, подлежащих включению в расчет по налогу в пределах периода, указанного пользователем. никакой период не используется, берем все записи, имеющиеся в базе (и до, и после указанных пользователем дат).

(38) Мне не нужна привязка ни к Дате принятия к учету, ни к дате выпуска. К тому же, для этого регистра сведений в любом случае нельзя указать периодичность Месяц.

Тогда тебе нужно сформировать набор данных в котором у тебя будут месяца. Это может быть запрос к календарю или чтонибудь другое. А потом можно будет и вывести месяца в красивом виде а нижележащими группировками - детальные записи.

(41) вот я про это и думаю, как из какого календаря период доставать? с потолка взять нельзя?

(41) то есть выборка из дат за указанный период, а к нему уже регистр привязать, да? я так мыслю

Важно! Если параметр функции имеет тип Строка и в нем указывается имя поля, которое содержит пробелы, то такое имя поля должно быть заключено в квадратные скобки.
Например: "[Количество Оборот]".

1. Сумма (Total) - рассчитывает сумму значений выражений, переданных ей в качестве аргумента для всех детальных записей. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.

2. Количество (Count) - рассчитывает количество значений отличных от значения NULL. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.

Синтаксис :
Количество([Различные] Параметр)

В указания получения различных значений следует перед параметром метода Количество указать Различные (Distinct).

Пример :
Количество(Продажи.Контрагент)
Количество(Различные Продажи.Контрагент)

3. Максимум (Maximum) - получает максимальное значение. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.

4. Минимум (Minimum) - получает минимальное значение. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.

5. Среднее (Average) - получает среднее значение для значений, отличных от NULL. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.

6. Массив (Array) - формирует массив, содержащий для каждой детальной записи значение параметра.

Синтаксис :
Массив([Различные] Выражение)

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

7. ТаблицаЗначений (ValueTable) - формирует таблицу значений, содержащую столько колонок, сколько параметров у функции. Детальные записи получаются из наборов данных, которые нужны для получения всех полей, участвующих в выражениях параметров функции.

Синтаксис :
ТаблицаЗначений([Различные] Выражение1 [КАК ИмяКолонки1][, Выражение2 [КАК ИмяКолонки2]. ])

Пример :
ТаблицаЗначений(Различные Номенклатура, ХарактеристикаНоменклатуры КАК Характеристика)

8. Свернуть (GroupBy) - предназначена для удаления дубликатов из массива.

Синтаксис :
Свернуть(Выражение, НомераКолонок)

9. ПолучитьЧасть (GetPart) - получает таблицу значений, содержащую определенные колонки из исходной таблицы значений.

Синтаксис :
ПолучитьЧасть(Выражение, НомераКолонок)

  • Выражение - тип ТаблицаЗначений. Таблица значений, из которой нужно получить колонки;
  • НомераКолонок - тип Строка. Номера или имена (через запятую) колонок таблицы значений, которые нужно получить.

Пример :
ПолучитьЧасть(Свернуть(ТаблицаЗначений(НомерТелефона, Адрес) ,"НомерТелефона"),"НомерТелефона");

10. Упорядочить (Order) - предназначена для упорядочивания элементов массива и таблицы значений.

Синтаксис :
Упорядочить(Выражение, НомераКолонок)

  • Выражение - Массив или ТаблицаЗначений, из которой нужно получить колонки;
  • НомераКолонок - (если выражение имеет тип ТаблицаЗначений) номера или имена (через запятую) колонок таблицы значений, по которым нужно упорядочить. Может содержать направление упорядочивания и необходимость автоупорядочивания: Убыв/Возр + Автоупорядочивание.

Пример :
Упорядочить(ТаблицаЗначений(НомерТелефона, Адрес, ДатаЗвонка),"ДатаЗвонка Убыв");

11. СоединитьСтроки (JoinStrings) - предназначена для объединения строк в одну строку.

Синтаксис :
СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)

12. ГрупповаяОбработка (GroupProcessing) - возвращает объект ДанныеГрупповойОбработкиКомпоновкиДанных. В объект в свойство Данные помещается в виде таблицы значений значения группировок для каждого выражения, указанного в параметре функции Выражения. В случае использования иерархической группировки каждый уровень иерархии обрабатывается отдельно. Значения для иерархических записей также помещаются в данные. В свойство ТекущийЭлемент объекта помещается строка таблицы значений, для которой в настоящий момент вычисляется функция.

Синтаксис :
ГрупповаяОбработка(Выражения, ВыраженияИерархии, ИмяГруппировки)

14. Любой (Any) - если хоть одна запись имеет значение Истина, то результат Истина, иначе Ложь

15. СтандартноеОтклонениеГенеральнойСовокупности (Stddev_Pop) - вычисляет стандартное отклонение совокупности. Вычисляется по формуле: SQRT(ДисперсияГенеральнойСовокупности(X)).

Пример :

X123456789
Y7125734324387
ВЫБРАТЬ СтандартноеОтклонениеГенеральнойСовокупности(Y) ИЗ Таблица
Результат: 805.694444

16. СтандартноеОтклонениеВыборки (Stddev_Samp) - вычисляет совокупное типовое стандартное отклонение. Вычисляется по формуле: SQRT(ДисперсияВыборки(X)).

Пример :

X123456789
Y7125734324387
ВЫБРАТЬ СтандартноеОтклонениеВыборки(Y) ИЗ Таблица
Результат: 28.3847573

17. ДисперсияВыборки (Var_Samp) - вычисляет типовое различие ряда чисел без учета значений NULL в этом наборе. Вычисляется по формуле: (Сумма(X^2) - Сумма(X)^2 / Количество(X)) / (Количество(X) - 1). Если Количество(X) = 1, то возвращается значение NULL.

18. ДисперсияГенеральнойСовокупности (Var_Pop) - вычисляет различие совокупности ряда чисел без учета значений NULL в этом наборе. Вычисляется по формуле: (Сумма(X^2) - Сумма(X)^2 / Количество(X)) / Количество(X)

19. КовариацияГенеральнойСовокупности (Covar_Pop) - вычисляет ковариацию ряда числовых пар. Вычисляется по формуле: (Сумма(Y * X) - Сумма(X) * Сумма(Y) / n) / n, где n число пар (Y, X) в которых ни Y ни X не являются NULL.

Синтаксис :
КовариацияГенеральнойСовокупности(Y, X)

20. КовариацияВыборки (Covar_Samp) - вычисляет типовое различие ряда чисел без учета значений NULL в этом наборе. Вычисляется по формуле: (Сумма(Y * X) - Сумма(Y) * Сумма(X) / n) / (n-1), где n число пар (Y, X) в которых ни Y ни X не являются NULL.

Синтаксис :
КовариацияВыборки(Y, X)

21. Корреляция (Corr) - вычисляет коэффициент корреляции ряда числовых пар. Вычисляется по формуле: КовариацияГенеральнойСовокупности(Y, X) / (СтандартноеОтклонениеГенеральнойСовокупности(Y) * СтандартноеОтклонениеГенеральнойСовокупности(X)). Не учитываются пары, в которых Y или X равны NULL.

Синтаксис :
Корреляция(Y, X)

22. РегрессияНаклон (Regr_Slope) - вычисляет наклон линии. Вычисляется по формуле: КовариацияГенеральнойСовокупности(Y, X) / ДисперсияГенеральнойСовокупности(X). Вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияНаклон(Y, X)

23. РегрессияОтрезок (Regr_Intercept) - вычисляет Y-точку пересечения линии регресса. Вычисляется по формуле: Среднее(Y) - РегрессияНаклон(Y, X) * Среднее(X). Вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияОтрезок(Y, X)

24. РегрессияКоличество (Regr_Count) - вычисляет количество пар не содержащих NULL.

Синтаксис :
РегрессияКоличество(Y, X)

25. РегрессияR2 (Regr_R2) - вычисляет коэффициент детерминации. Вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияR2(Y, X)

  • Y - тип Число;
  • X - тип Число.
  • Null - если ДисперсияГенеральнойСовокупности(X) = 0;
  • 1 - если ДисперсияГенеральнойСовокупности(Y)=0 И ДисперсияГенеральнойСовокупности(X)<>0;
  • POW(Корреляция(Y,X),2) - если ДисперсияГенеральнойСовокупности(Y)>0 И ДисперсияГенеральнойСовокупности(X)<>0.

26. РегрессияСреднееX (Regr_AvgX) - вычисляет среднее число X после исключения X и Y пар, где или X или Y являются пустыми. Среднее(X) вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияСреднееX(Y, X)

27. РегрессияСреднееY (Regr_AvgY) - вычисляет среднее число Y после исключения X и Y пар, где или X или Y являются пустыми. Среднее(Y) вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияСреднееY(Y, X)

28. РегрессияSXX (Regr_SXX) - вычисляется по формуле: РегрессияКоличество(Y, X) * ДисперсияГенеральнойСовокупности(X). Вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияSXX(Y, X)

  • Y - тип Число;
  • X - тип Число.

Пример :

X123456789
Y7125734324387
ВЫБРАТЬ РегрессияSXX(Y, X) ИЗ Таблица
Результат: 60

29. РегрессияSYY (Regr_SYY) - вычисляется по формуле: РегрессияКоличество(Y, X) * ДисперсияГенеральнойСовокупности(Y). Вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияSYY(Y, X)

30. РегрессияSXY (Regr_SXY) - вычисляется по формуле: РегрессияКоличество(Y, X) * КовариацияГенеральнойСовокупности(Y, X). Вычисляется без учета пар, содержащих NULL.

Синтаксис :
РегрессияSXY (Y, X)

31. МестоВПорядке (Rank)

Синтаксис :
МестоВПорядке(Порядок, ПорядокИеррахии, ИмяГруппировки)

Пример :
МестоВПорядке("[Количество Оборот]")

32. КлассификацияABC (ClassificationABC)

Синтаксис :
КлассификацияABC(Значение, КоличествоГрупп, ПроцентыДляГрупп, ИмяГруппировки)

1. Вычислить (Eval) - предназначена для вычисления выражения в контексте некоторой группировки. Функция используется для совместимости с предыдущими версиями платформы. Вместо неё рекомендуется использовать функцию ВычислитьВыражение.

Синтаксис :
Вычислить(Выражение, Группировка, ТипРасчета)

  • Выражение (Строка). Cодержит вычисляемое выражение;
  • Группировка (Строка). Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.
    Например:
    Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог").
    В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.
  • ТипРасчета (Строка). В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.

Синтаксис :
ВычислитьВыражение(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка)

В данном примере вычисляется значение текущей иерархии:
Выбор
Когда Уровень() > 0
Тогда ВычислитьВыражение("Ссылка", , "Иерархия")
Иначе Null
Конец

Примечания :
Функция учитывает отбор группировок, но не учитывает иерархические отборы. Функция не может применяться к группировке в групповом отборе этой группировки. Например, в отборе группировки Номенклатура нельзя использовать выражение ВычислитьВыражение("Сумма(СуммаОборот)", , "ОбщийИтог") > 1000 . Но такое выражение можно использовать в иерархическом отборе. Если конечная запись предшествует начальной, то считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют. При расчете интервальных выражений для общего итога (параметр Группировка имеет значение "ОбщийИтог") считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют. Компоновщик макета при генерации выражения функции ВычислитьВыражение, в случае если выражение упорядочивания содержит поля, которые не могут быть использованы в группировке, заменяет функцию ВычислитьВыражение на NULL.

3. ВычислитьВыражениеСГруппировкойМассив (EvalExpressionWithGroupArray) - функция возвращает массив, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.

Синтаксис :
ВычислитьВыражениеСГруппировкойМассив (Выражение, ВыраженияПолейГруппировки, ОтборЗаписей, ОтборГруппировок)

  • Выражение (Строка) - выражение, которое нужно вычислить. Например, "Сумма(СуммаОборот)";
  • ВыраженияПолейГруппировки - выражения полей группировки, перечисленные через запятую. Например, "Контрагент, Партия";
  • ОтборЗаписей - выражение, применяемое к детальным записям. Например, "ПометкаУдаления = Ложь". Если в данном параметре используется агрегатная функция, то при выполнении компоновки данных возникнет ошибка;
  • ОтборГруппировок - отбор, применяемый к групповым записям. Например: "Сумма(СуммаОборот) > &Параметр1".

Компоновщик макета при генерации макета преобразовывает параметры функции в термины полей макета компоновки данных. Например, поле Контрагент будет конвертировано в НаборДанных.Контрагент.
Компоновщик макета при генерации выражений для вывода пользовательского поля, в выражении которого присутствует только функция ВычислитьМассивСГруппировкой генерирует выводимое выражение таким образом, чтобы данные выводить представления и данные были упорядочены.
Например, для пользовательского поля с выражением:
ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаОборот)", "Контрагент")
компоновщик макета сгенерирует для вывода следующее выражение:
СоединитьСтроки(Массив(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Представление(Сумма(НаборДанных.СуммаОборот)), Сумма(НаборДанных.СуммаОборот)", "НаборДанных.Контрагент"), "2")))

4. ВычислитьВыражениеСГруппировкойТаблицаЗначений (EvalExpressionWithGroupValueTable) - функция возвращает таблицу значений, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.

Синтаксис :
ВычислитьВыражениеСГруппировкойТаблицаЗначений (Выражение, ВыраженияПолейГруппировки, ОтборЗаписей, ОтборГруппировок)

  • Выражение (Строка) - выражение, которое нужно вычислить. В строке может быть перечислено несколько выражений через запятую. После каждого выражения может быть необязательное ключевое слово КАК и имя колонки таблицы значений. Например: "Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж".
  • ВыраженияПолейГруппировки - выражения полей группировки, перечисленные через запятую. Например, "Контрагент, Партия";
  • ОтборЗаписей - выражение, применяемое к детальным записям. Например, "ПометкаУдаления = Ложь". Если в данном параметре используется агрегатная функция, то при выполнении компоновки данных возникнет ошибка;
  • ОтборГруппировок - отбор, применяемый к групповым записям. Например: "Сумма(СуммаОборот) > &Параметр1".

Результатом работы данной функции будет таблица значений с колонками Контрагент и ОбъемПродаж, в которых будут находиться контрагенты с их объемами продаж.
Компоновщик макета при генерации макета преобразовывает параметры функции в термины полей макета компоновки данных. Например, поле Контрагент будет конвертировано в НаборДанных.Контрагент.
Например, пользовательского поля с выражением:
ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Контрагент, Сумма(СуммаОборот)", "Контрагент")
Компоновщик макета сгенерирует для вывода следующее выражение:
СоединитьСтроки(ПолучитьЧасть(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("НаборДанных.Контрагент, НаборДанных.КонтрагентПредставление, Сумма(НаборДанных.СуммаОборот), Представление(НаборДанных.СуммаОборот), НаборДанных.ПолеУпорядочивание", "НаборДанных.Контрагент"), "5, 1, 3"), "2, 4"))

5. Уровень (Level) - функция предназначена для получения текущего уровня записи.

6. НомерПоПорядку (SequenceNumber) - получить следующий порядковый номер.

7. НомерПоПорядкуВГруппировке (SequenceNumberInGrouping) - возвращает следующий порядковый номер в текущей группировке.

8. Формат (Format) - получить отформатированную строку переданного значения.

Синтаксис :
Формат(Значение, ФорматнаяСтрока)

  • Значение - выражение, которое требуется отформатировать;
  • ФорматнаяСтрока - форматная строка задается в соответствии с форматной строкой 1С:Предприятие.

9. НачалоПериода (BeginOfPeriod) - функция предназначена для выделения определенной даты из заданной даты.

Синтаксис :
НачалоПериода(Дата, ТипПериода)

  • Дата (Дата). Заданная дата;
  • ТипПериода (Строка). Содержит одно из значений: Минута; Час; День; Неделя; Месяц; Квартал; Год; Декада; Полугодие.

10. КонецПериода (EndOfPeriod) - функция предназначена для выделения определенной даты из заданной даты.

Синтаксис :
КонецПериода(Дата, ТипПериода)

  • Дата (Дата). Заданная дата;
  • ТипПериода (Строка). Содержит одно из значений: Минута; Час; День; Неделя; Месяц; Квартал; Год; Декада; Полугодие.

11. ДобавитьКДате (DateAdd) - функция предназначена для прибавления к дате некоторой величины.

Синтаксис :
ДобавитьКДате(Выражение, ТипУвеличения, Величина)

  • Выражение (Дата). Исходная дата;
  • ТипУвеличения (Строка). Содержит одно из значений: Минута; Час; День; Неделя; Месяц; Квартал; Год; Декада; Полугодие.
  • Величина (Число). На сколько необходимо увеличить дату, дробная часть игнорируется.

12. РазностьДат (DateDifference) - функция предназначена для получения разницы между двумя датами.

Синтаксис :
РазностьДат(Выражение1 , Выражение2 , ТипРазности)

  • Выражение1 (Дата). Вычитаемая дата;
  • Выражение2 (Дата). Исходная дата;
  • ТипРазности (Строка). Содержит одно из значений: Секунда; Минута; Час; День; Месяц; Квартал; Год.

13. Подстрока (Substring) - данная функция предназначена для выделения подстроки из строки.

Синтаксис :
Подстрока(Строка, Позиция, Длина)

  • Строка (Строка). Строка, из которой выделяют подстроку;
  • Позиция (Число). Позиция символа, с которого начинается выделяемая из строки подстрока;
  • Длина (Число). Длина выделяемой подстроки.

14. ДлинаСтроки (StringLength) - функция предназначена для определения длины строки.

  • Строка (Строка). Строка, длину которой определяют.

15. Год (Year) - данная функция предназначена для выделения года из значения типа Дата.

  • Дата (Дата). Дата, по которой определяют год.

16. Квартал (Quarter) - данная функция предназначена для выделения номера квартала из значения типа Дата. Номер квартала в норме находится в диапазоне от 1 до 4.

  • Дата (Дата). Дата, по которой определяют квартал

17. Месяц (Month) - данная функция предназначена для выделения номера месяца из значения типа Дата. Номер месяца в норме находится в диапа-зоне от 1 до 12.

  • Дата (Дата). Дата, по которой определяют месяц.

18. ДеньГода (DayOfYear) - данная функция предназначена для получения дня года из значения типа Дата. День года в норме находится в диапазоне от 1 до 365(366).

  • Дата (Дата). Дата, по которой определяют день года.

19. День (Day) - данная функция предназначена для получения дня месяца из значения типа Дата. День месяца в норме находится в диапазоне от 1 до 31.

  • Дата (Дата). Дата, по которой определяют дня месяца.

20. Неделя (Week) - данная функция предназначена для получения номера недели года из значения типа Дата. Недели года нумеруются, начиная с 1.

  • Дата (Дата). Дата, по которой определяют номера недели.

21. ДеньНедели (WeekDay) - данная функция предназначена для получения дня недели из значения типа Дата. День недели в норме находится в диапазоне от 1 (понедельник) до 7(воскресенье).

  • Дата (Дата). Дата, по которой определяют день недели .

22. Час (Hour) - данная функция предназначена для получения часа суток из значения типа Дата. Час суток находится в диапазоне от 0 до 23.

  • Дата (Дата). Дата, по которой определяют час суток.

23. Минута (Minute) - данная функция предназначена для получения минуты часа из значения типа Дата. Минута часа находится в диапазоне от 0 до 59.

  • Дата (Дата). Дата, по которой определяют минута часа.

24. Секунда (Second) - данная функция предназначена для получения секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне от 0 до 59.

  • Дата (Дата). Дата, по которой определяют секунды минуты.

25. Выразить (Cast) - данная функция предназначена для выделения типа из выражения, которое может содержать составной тип. В случае, если выражение будет содержать тип, отличный от требуемого типа, будет возвращено значение NULL.

Синтаксис :
Выразить(Выражение, УказаниеТипа)

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

26. ЕстьNull (IsNull) - данная функция возвращает значение второго параметра в случае, если значение первого параметра NULL. В противном случае будет возвращено значение первого параметра.

Синтаксис :
ЕстьNull(Выражение1, Выражение2)

  • Выражение1 - проверяемое значение;
  • Выражение2 - возвращаемое значение, если значение Выражение1 есть NULL.

27. ACos - вычисляет арккосинус в радианах.

  • Выражение (Число). Значение косинуса (в диапазоне -1 . 1), по которому определяется угол.
  • Выражение (Число). Значение синуса (в диапазоне -1 . 1), по которому определяется угол.
  • Выражение (Число). Значение тангенса, по которому определяется угол.
  • Выражение (Число). Исходное число, больше 0.
  • Выражение (Число). Исходное число, больше 0.

Синтаксис :
Pow(Основание, Показатель)

  • Основание (Число). Основание операции возведения в степень.
  • Показатель (Число). Показатель степени.
  • Выражение (Число). Значение синуса, по которому определяется угол.

Синтаксис :
Окр(Выражение, Разрядность)

  • Выражение (Число). Исходное число;
  • Разрядность (Число). Число знаков дробной части, до которых производится округление.

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

Пример :
СокращенноеНаименование(Документы.Ссылка, Документы.Дата, Документы.Номер)

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

41. Представление (Resentation) - данная функция возвращает строковое представление переданного значения не примитивного типа. Для значений примитивного типа возвращает само значение.

Если в качестве параметра используется массив или таблица значений, то функция возвращает строку, содержащую строковые представление всех элементов массива, разделенных символами "; ". Если у какого либо элемента строковое представление пустое, то вместо его представления выводится строка "<Пустое значение>".

42. Строка (String) - данная функция преобразует переданное значение в строку.

Если в качестве параметра используется массив или таблица значений, то функция возвращает строку, содержащую строковые представление всех элементов массива, разделенных символами "; ". Если у какого либо элемента строковое представление пустое, то вместо его представления выводится строка "<Пустое значение>".

43. ЗначениеЗаполнено (ValueIsFilled)

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

44. УровеньВГруппировке (LevelInGroup) - данная функция получает текущий уровень записи относительно группировки.

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

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

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

Разместил: E_Migachev  Версии: | 8.2 УП | 8.3 |  Дата: 28.07.2014   Прочитано: 33216

Распечатать

Похожие FAQ

Как заполнить табличную часть формы программно?  6
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2)  0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей. Google maps : вывод точек на карту и режим панорамы  7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Выборка из результата запроса всех вошедших в него значений группировок  4
При обходе результата запроса нередко возникает необходимость получения всех значений группировок внутри какой-либо другой группировки. Такая возможность может понадобиться, например, при выводе кросс отчета. Для обеспечения такой возможности в объек Посмотреть все результаты поиска похожих

Еще в этой же категории

Произвольный макет в СКД  45
Делал недавно отчет с неопределенным количеством колонок. Возиться с кодом было неохота, решил сделать на СКД. С этим проблема не возникла, необходимо было натянуть результат на произвольный макет (свой заголовок + период). Покажу на примере по шагам Программный вывод отчета СКД  35
Несмотря на то, изучающие СКД встречаются с этим на первый или второй день, это должно быть в разделе FAQ. Простой пример программного вывода отчета на компоновке, использующий настройки по умолчанию. //Получаем схему из макета СхемаКомпоновкиДанны Как сформировать отчет СКД без проверки прав (в привилегированном режиме)?  21
Что при разработке отчетов требуется чтобы у пользователя с ограниченными правами, отчет формировался полностью без проверки прав! Особенно если настроен RLS Есть несколько способов как это сделать: 1. Установить привилегированный режим в модул Конструктор схемы компоновки данных - Закладка Связи наборов данных  17
На этой закладке можно указать, какие осуществляются связи между двумя и более наборами дан-ных, по каким параметрам и условиям. https://helpf.pro/uploads/img/sukpd038.jpg 1. «Источник связи» - указывается первый набор данных, от которого осуще Как программно сформировать отчет СКД указав параметры и на выходе получить таблице значений?  12
В одном документе для расчета потребовалось получать данные из отчета на СКД, реализовал следующим образом: //Програмное формирование отчета СКД СхемаОст = Отчеты.ТоннажПоЭкспедиторам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КомпоновщикН Посмотреть все в категории Схема Компоновки Данных

Ключевые слова и Изображения

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

Изображения

Дополню. Если свернуть приведенным в статье кодом, то группировки свернутся, но при раскрытии, если есть ещё нижележащие группировки, они также будут раскрыты. Предлагаю доработать:

КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных;

Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

Читайте также: