Имя: Пароль:
1C
1С v8
СКД, выразить число как месяц
,
0 Momus
 
13.04.20
19:58
Не могу сообразить как в вычисляемых полях скд выразить число как месяц строкой (1 - январь, 3 - март и т.д.).
Делал так:
Формат(Дата(2, Месяц_Просрочки, 1), "ДФ=ММММ");
но почему-то падает в исключение с ошибкой "Функция не найдена: Дата"". Не приходит что-то в голову как без Дата() сделать
1 palsergeich
 
13.04.20
20:02
ДобпвитьКДате
2 Momus
 
13.04.20
20:06
(1) тоже не найдена, пробовал.
3 Antonych31
 
13.04.20
20:06
глянул в гуглу, не проверял, но вот такой есть вариант:
Формат(ДобавитьМесяц(НачалоГода(ТекущаяДата()), КоличествоМесяцев), "ДФ=МMММ");
4 Momus
 
13.04.20
20:10
(3) тоже пробовал, но нет. При составлении выражения ошибок нет, но при формировании отчета - ошибка.
5 Курцвейл
 
13.04.20
20:11
Зайди в гугл и набери "язык выражений системы компоновки данных". Сразу увидишь что можно и нельзя.
6 Курцвейл
 
13.04.20
20:14
МЕСЯЦ (MONTH)
Данная функция предназначена для выделения номера месяца из значения типа Дата. Номер месяца в норме находится в диапазоне от 1 до 12. Единственный параметр функции – это выражение, имеющее тип Дата.

МЕСЯЦ(РасхНакл.Дата)
7 Momus
 
13.04.20
20:17
(5) "Литерал типа Дата записывается при помощи ключевого литерала ДАТАВРЕМЯ (DATETIME). После данного ключевого слова в скобках, через запятую, перечисляются год, месяц, день, часы, минуты, секунды. Указание времени необязательно.", - при подставлении параметров функция ожидает константу.
(6) у меня нет даты, но есть число (номер месяца).
8 Momus
 
13.04.20
20:18
(6) мне нужна обратная функция, я не могу сообразить как ее записать в вычисляемых полях скд
9 Antonych31
 
13.04.20
20:19
Формат(ДобавитьКДате(НачалоПериода(ДатаВремя(2002, 10, 12, 10, 15, 34), "Год"), КоличествоМесяцев), "ДФ=МMММ")
10 Momus
 
13.04.20
20:21
(9) ДобавитьКДате также не работает, как и Дата
11 Antonych31
 
13.04.20
20:23
(10) Заинтриговал. Пойду конфигуратор открою.
12 Курцвейл
 
13.04.20
20:23
(10) ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2009, 10, 12, 10, 15, 34), "Месяц", 1)
13 Курцвейл
 
13.04.20
20:25
ДОБАВИТЬКДАТЕ(ДанныеДатаНачалаПросрочки, "Месяц", Месяц_Просрочки)
14 Momus
 
13.04.20
20:31
(12) вот это: "ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ..." работает
15 Momus
 
13.04.20
20:33
(14) и это кстати странно, т.к. (9) похожа. Но ошибка почему-то не синтаксическая, например, а "Функция не найдена ДОБАВИТЬКДАТЕ".
16 Antonych31
 
13.04.20
20:38
Не поленился, сходил, открыл конфигуратор. Вот эта конструкция дала мне стабильно "Апрель":
Формат( ДобавитьКДате( НачалоПериода( ДатаВремя( 2020, 01,01), "Год"), "Месяц", 3) "ДФ=МMММ")
Дальше можно допиливать по потребности.
17 Antonych31
 
13.04.20
20:40
В (9) я неправильно написал, параметр в ДобавитьКДате пропустил, прошу пардону.