Необходимо для вывода в отчете (на СКД) дату представить как "[Месяце] 2016 года".
Где [Месяце] - это Январе, Феврале и т.д.
Подкиньте идею...
---
месяц = месяц + "ь";
СтрЗаменить(месяц,"йь","е"); - для майь
СтрЗаменить(месяц,"ьь","е"); - для январьь, февральь, апрельь, июньь, июльь, сентябрьь, октябрьь, ноябрьь, декабрьь
СтрЗаменить(месяц,"ь","е"); - для марть,августь

итого:

```1c
    месяц = месяц + "ь"; СтрЗаменить(месяц,"йь","е"); СтрЗаменить(месяц,"ьь","е"); СтрЗаменить(месяц,"ь","е");
```

выражение, но не очень длинное :)
---
а) вызвывать из скд свою функцию б) написать свою функцию, которая будет возвращать месяц в нужном падеже
---
можно вот этим сервисом пользоваться тынц
---
Обошелся без модификации типовой конфигурации.
Решил следующим образом:
В макете создал шаблон
Через параметр макета подставил длинное выражение:\

```1c
    ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="01") ТОГДА "Январе" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="02") ТОГДА "Феврале" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="03") ТОГДА "Марте" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="04") ТОГДА "Апреле" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="05") ТОГДА "Мае" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="06") ТОГДА "Июне" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="07") ТОГДА "Июле" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="08") ТОГДА "Августе" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="09") ТОГДА "Сентябре" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="10") ТОГДА "Октябре" ИНАЧЕ ВЫБОР КОГДА (Формат(ПараметрыДанных.КонецПериода, "ДФ =ММ")="11") ТОГДА "Ноябре" ИНАЧЕ "Декабре" Конец Конец Конец Конец Конец Конец Конец Конец Конец Конец Конец
```
---
И не жалко своих глаз? У меня в кучу, после третьего вложенного кейса.
В выражениях представления СКД можно сделать более элегантно

```1c
    ВЫБОР КОГДА Месяц(Дата) = 1 ТОГДА
    "Январе"
    КОГДА Месяц(Дата) = 2 ТОГДА
    "Феврале"
    КОГДА Месяц(Дата) = 3 ТОГДА
    "Марте"
    КОГДА Месяц(Дата) = 4 ТОГДА
    "Апреле"
    КОГДА Месяц(Дата) = 5 ТОГДА
    "Мае"
    КОГДА Месяц(Дата) = 6 ТОГДА
    "Июне"
    КОГДА Месяц(Дата) = 7 ТОГДА
    "Июле"
    КОГДА Месяц(Дата) = 8 ТОГДА
    "Августе"
    КОГДА Месяц(Дата) = 9 ТОГДА
    "Сентябре"
    КОГДА Месяц(Дата) = 10 ТОГДА
    "Октябре"
    КОГДА Месяц(Дата) = 11 ТОГДА
    "Ноябре"
    КОГДА Месяц(Дата) = 12 ТОГДА
    "Декабре"
    КОНЕЦ
```

или еще короче

```1c
    ВЫБОР КОГДА ПОДСТРОКА(Формат(Дата,"ДФ = 'MMMM'")
    ,ДлинаСтроки(Формат(Дата,"ДФ = 'MMMM'"))
    ,ДлинаСтроки(Формат(Дата,"ДФ = 'MMMM'"))) ="т"
    ТОГДА
    Формат(Дата,"ДФ = 'MMMM'")+"е"
    ИНАЧЕ
    ПОДСТРОКА(Формат(Дата,"ДФ = 'MMMM'")
    ,1
    ,ДлинаСтроки(Формат(Дата,"ДФ = 'MMMM'"))-1)
    +"е"
    КОНЕЦ
```
---
В выражении : ПараметрыДанных.КонецПериода необходимый месяц...

Собственно через выражения подобную штуку можно запихнуть в любое место отчета :)
---
Сообщение было скрыто модератором.
---
Если Вы создавали внешний отчет - можно же было функцию поместить в модуль и вызвать... Хотя Ваше решение любопытное. =)
---
месяц = месяц + "ь";
СтрЗаменить(месяц,"йь","е"); - для майь
СтрЗаменить(месяц,"ьь","е"); - для январьь, февральь, апрельь, июньь, июльь, сентябрьь, октябрьь, ноябрьь, декабрьь
СтрЗаменить(месяц,"ь","е"); - для марть,августь

итого:

```1c
    месяц = месяц + "ь"; СтрЗаменить(месяц,"йь","е"); СтрЗаменить(месяц,"ьь","е"); СтрЗаменить(месяц,"ь","е");
```

выражение, но не очень длинное :)
---
Небольшой некропостинг )

Начиная с версии 8.3.13

Массив = ПолучитьСклоненияСтроки("Январь",, "ПД=Предложный");
Сообщить(Массив[0]); //Январе
---
Позволю слегка углубить предыдущего оратора:

```1c
    МизД = Формат(ТекущаяДата(),"ДФ=ММММ"); // Получаем текстовое представление текущей даты
    МесРождП = ПолучитьСклоненияСтроки(МизД,"ПЛ=Мужской","ПД=Предложный"); //создаётся Массив
    Сообщить(МесРождП[0]); //выводим значение массива по 0 индексу
```