7.7 Как вывести Февраль, Январь, Декабрь, а не 1,0,-1?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем vlad275, 25 фев 2008.

  1. TopicStarter Overlay
    vlad275
    Offline

    vlad275

    Регистрация:
    25 ноя 2007
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Как вывести Февраль, Январь, Декабрь, а не 1,0,-1?
    Код:
    DM0=ДатаМесяц(спр.Дата);
    DM1=Число(ДатаМесяц(РабочаяДата()))-0;
    DM2=ДатаМесяц(РабочаяДата())-1;
    DM3=ДатаМесяц(РабочаяДата())-2;
    
    
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1. Где-то есть функция МесяцПрописью или что-то в этом духе
    2. Проверяй, что если текМесяц - ЧИСЛО < 1, тогда нужный месяц равен 12 + (текМесяц - ЧИСЛО)
  3. TopicStarter Overlay
    vlad275
    Offline

    vlad275

    Регистрация:
    25 ноя 2007
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Так 0 - это Январь?
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Ну, тогда немного изменить :) Но принцип-то не меняется...
  5. TopicStarter Overlay
    vlad275
    Offline

    vlad275

    Регистрация:
    25 ноя 2007
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Код:
    DM1=Число(ДатаМесяц(РабочаяДата()))-0;
    DM2=ДатаМесяц(РабочаяДата())-1;
    if DM2<0 then DM2=12+DM2; endif;
    DM3=ДатаМесяц(РабочаяДата())-2;
    if DM3<0 then DM3=12+DM3; endif;
    
    
    Спасибо.
    Сделал вот так.
    Но в описании встроенного языка нигде не нашел ничего похожего на МесяцПрописью :-(
  6. Akulina
    Offline

    Akulina Опытный в 1С

    Регистрация:
    30 авг 2007
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Формат(НужнаяДата,"Д ММММ")
  7. TopicStarter Overlay
    vlad275
    Offline

    vlad275

    Регистрация:
    25 ноя 2007
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Message("For month N: "+Формат(DM1,"Д ММММ") +" spent "+p0+" roubles");
    Вообще теперь не выодит месяц. Может что-то не так в синтаксисе?
  8. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    формат(НужнаяДата,"ДММММГГ");
    выведет тебе следующие: наименование месяца ХХ, где ХХ - это год...
    Лев(формат(НужнаяДата,"ДММММГГ"), (СтрДлина(формат(НужнаяДата,"ДММММГГ")-3));
    а вот это по идее тебе выведет наименование месяца... если я конечно нигде не ошибся
  9. Akulina
    Offline

    Akulina Опытный в 1С

    Регистрация:
    30 авг 2007
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    А у меня этот метод
    Message("For month N: "+Формат(DM1,"Д ММММ") +" spent roubles");

    все вывел и написал "Февраль". Посмотрите, что у Вас в DM1.
  10. TopicStarter Overlay
    vlad275
    Offline

    vlad275

    Регистрация:
    25 ноя 2007
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    У вас 8-я?

    Для 7.7:
  11. XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    Формат(Дата, "ДММММ");
    Главное без пробелов
  12. Akulina
    Offline

    Akulina Опытный в 1С

    Регистрация:
    30 авг 2007
    Сообщения:
    87
    Симпатии:
    0
    Баллы:
    26
    Ничего подобного! После Д можно ставить пробел (я всегда ставлю для наглядности). Проверьте!
  13. XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    да, обрати внимание - у тебя DM1 - число, а не дата!!!

Поделиться этой страницей