Имя: Пароль:
1C
 
Как вывести в дате только месяц?
0 Айрат_116
 
18.05.20
10:27
Добрый день, помогите пожалуйста, как можно вывести только месяц?

https://wampi.ru/image/RcxyT4Q
1 Гобсек
 
18.05.20
10:30
"ДФ=ММММ"
2 SleepyHead
 
гуру
18.05.20
10:34
Конструктор форматной строки. И экспериментируй.
3 Айрат_116
 
18.05.20
10:34
(1)  Точно, Спасибо большое)
4 Айрат_116
 
18.05.20
10:35
(2) Я там искал, чего то найти не смог
5 SleepyHead
 
гуру
18.05.20
10:38
(4) Серьезно?!
6 ДенисЧ
 
18.05.20
10:42
(4) У тебя СП контрафактный. Могу продать лицензионный... ))
7 Айрат_116
 
18.05.20
10:43
(6) Денег нет чтоб что то покупать)
8 Айрат_116
 
18.05.20
10:44
(5) Слепой похоже я(
9 Айрат_116
 
18.05.20
10:47
Колхозно похоже получилось?

https://wampi.ru/image/Rc5cTNy
10 Волшебник
 
18.05.20
10:48
Процедура КнопкаВыполнитьНажатие(Кнопка)
    Сообщить(ПолучитьМесяцПоДате(дата));
КонецПроцедуры


Функция ПолучитьМесяцПоДате(дата) Экспорт
    
    Если дата = '00010101' Тогда
        Возврат "";
    КонецЕсли;
    
    месяцы = Новый Структура("_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12",
                          "Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
    
    НомерМесяца = Месяц(дата);
    Если месяцы.Свойство("_"+НомерМесяца) Тогда
        НазваниеМесяца = месяцы["_"+НомерМесяца];
        Возврат НазваниеМесяца;
    КонецЕсли;
    
    Возврат "";
    
КонецФункции
11 Гобсек
 
18.05.20
10:51
(9) Попробуй "ДФ='дд ММММ гг'"
12 Айрат_116
 
18.05.20
10:51
(10)  Спасибо, сохраню на будущее
13 Айрат_116
 
18.05.20
10:53
(11)  Результат такой - 03.12.2019 23:59:59
14 Гобсек
 
18.05.20
10:55
(13) у меня получается 18 мая 20
15 Волшебник
 
18.05.20
10:56
(12) Можно ещё так:

Функция ПолучитьМесяцПоДате(дата) Экспорт
    
    Если дата = '00010101' Тогда
        Возврат "";
    КонецЕсли;
    
        //перенесите в глобальные переменные для ускорения
    месяцы = Новый Соответствие();
    месяцы.Вставить(1,  "Январь");
    месяцы.Вставить(2,  "Февраль");
    месяцы.Вставить(3,  "Март");
    месяцы.Вставить(4,  "Апрель");
    месяцы.Вставить(5,  "Май");
    месяцы.Вставить(6,  "Июнь");
    месяцы.Вставить(7,  "Июль");
    месяцы.Вставить(8,  "Август");
    месяцы.Вставить(9,  "Сентябрь");
    месяцы.Вставить(10, "Октябрь");
    месяцы.Вставить(11, "Ноябрь");
    месяцы.Вставить(12, "Декабрь");
        
    НомерМесяца = Месяц(дата);
    НазваниеМесяца = месяцы[НомерМесяца];
    
    Если НазваниеМесяца <> Неопределено Тогда
        Возврат НазваниеМесяца;
    Иначе
        Возврат "";
    КонецЕсли;
    
КонецФункции
16 Айрат_116
 
18.05.20
10:57
(14) Еще раз проверю
17 ДенисЧ
 
18.05.20
11:08
18 Aleksey
 
18.05.20
11:08
НазваниеМесяца  = СокрП(Сред("        январь  февраль март    апрель  май     июнь    июль    август  сентябрьоктябрь ноябрь  декабрь ",НомерМесяца*8+1,8));
19 Ненавижу 1С
 
гуру
18.05.20
11:11
(10)(15)(18) тёплый ламповый код
20 Волшебник
 
18.05.20
11:13
(18) Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете
21 Волшебник
 
18.05.20
11:15
Лучше использовать функцию Формат, потому что она учитывает региональные настройки базы и пользователя.
22 Айрат_116
 
18.05.20
11:18
(11) Да правильно было, я ошибся где то
Вот это вроде подошло
формат(ДокументыДляПечати.ДатаДокумента, "ДФ='дд ММММ гггг'")
23 Aleksey
 
18.05.20
11:20
(21) зато (18) легко ажаптировать. К примеру изменить окончание или писать сокращенно
24 Волшебник
 
18.05.20
11:59
(23) За (18) надо руки отрывать
25 RomanYS
 
18.05.20
12:07
(24) А зачем (10) при наличии (1)?
26 Arbuz
 
18.05.20
13:49
(25) присоединяюсь к вопросу, а в (18) более лаконичный и более быстрый код, если не брать (21)