Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 дек 2023, 04:17

Номер месяца по названию

Автор shams, 23 мая 2023, 12:10

0 Пользователей и 1 гость просматривают эту тему.

shams

надо описать функцию которая будет по строке с названием месяца возвращать порядковый номер месяца (от 1 до 12).

помогите плиз

LexaK

shams, пишите кейс (один из вариантов)
примерно так

Функция НомерМесяца(НаименованиеМесяца)
Если нрег(НаименованиеМесяца) = "январь" Тогда Номер = 1;
ИначеЕсли нрег(НаименованиеМесяца) = "февраль" Тогда Номер = 2;
...
КонецЕсли;
Возврат Номер;
КонецФункции
если помогло нажмите: Спасибо!

shams

LexaK, а где 3 точки надо 12 номер добавить?

shams

LexaK, Это типо так ?




Функция НомерМесяца(НаименованиеМесяца)
   
   Если нрег(НаименованиеМесяца) = "январь" Тогда Номер = 1;
   ИначеЕсли нрег(НаименованиеМесяца) = "февраль" Тогда Номер = 2;
   ИначеЕсли нрег(НаименованиеМесяца) = "Март" Тогда Номер = 3;
   ИначеЕсли нрег(НаименованиеМесяца) = "Апрель" Тогда Номер = 4;
   ИначеЕсли нрег(НаименованиеМесяца) = "Май" Тогда Номер = 5;
   ИначеЕсли нрег(НаименованиеМесяца) = "Июнь" Тогда Номер = 6;
   ИначеЕсли нрег(НаименованиеМесяца) = "Июль" Тогда Номер = 7;
   ИначеЕсли нрег(НаименованиеМесяца) = "Август" Тогда Номер = 8;
   ИначеЕсли нрег(НаименованиеМесяца) = "Сентябрь" Тогда Номер = 9;
   ИначеЕсли нрег(НаименованиеМесяца) = "Октябрь" Тогда Номер = 10;
   ИначеЕсли нрег(НаименованиеМесяца) = "Ноябрь" Тогда Номер = 11;
   ИначеЕсли нрег(НаименованиеМесяца) = "Декабрь" Тогда Номер = 12;

   КонецЕсли;

   Возврат Номер;

КонецФункции

номер = НомерМесяца("Август");

antoneus

нет, не так. Нрег переводит все буквы в нижний регистр, "Март" никак не получится.

shams

antoneus, а как надо сделать

shams

antoneus, я когда вызываю функцию там пустой окошко открывается

shams

LexaK, это типо так ?


Функция НомерМесяца(НаименованиеМесяца)
   
   Если нрег(НаименованиеМесяца) = "январь" Тогда Номер = 1;
   ИначеЕсли нрег(НаименованиеМесяца) = "февраль" Тогда Номер = 2;
   ИначеЕсли нрег(НаименованиеМесяца) = "Март" Тогда Номер = 3;
   ИначеЕсли нрег(НаименованиеМесяца) = "Апрель" Тогда Номер = 4;
   ИначеЕсли нрег(НаименованиеМесяца) = "Май" Тогда Номер = 5;
   ИначеЕсли нрег(НаименованиеМесяца) = "Июнь" Тогда Номер = 6;
   ИначеЕсли нрег(НаименованиеМесяца) = "Июль" Тогда Номер = 7;
   ИначеЕсли нрег(НаименованиеМесяца) = "Август" Тогда Номер = 8;
   ИначеЕсли нрег(НаименованиеМесяца) = "Сентябрь" Тогда Номер = 9;
   ИначеЕсли нрег(НаименованиеМесяца) = "Октябрь" Тогда Номер = 10;
   ИначеЕсли нрег(НаименованиеМесяца) = "Ноябрь" Тогда Номер = 11;
   ИначеЕсли нрег(НаименованиеМесяца) = "Декабрь" Тогда Номер = 12;

   КонецЕсли;

   Возврат Номер;

КонецФункции

номер = НомерМесяца(11);
Сообщить(номер);

LexaK

shams, почти


&НаКлиенте
Функция НомерМесяца(НаименованиеМесяца)
   
Если нрег(НаименованиеМесяца) = "январь" Тогда Номер = 1;
ИначеЕсли нрег(НаименованиеМесяца) = "февраль" Тогда Номер = 2;
ИначеЕсли нрег(НаименованиеМесяца) = "март" Тогда Номер = 3;
ИначеЕсли нрег(НаименованиеМесяца) = "апрель" Тогда Номер = 4;
ИначеЕсли нрег(НаименованиеМесяца) = "май" Тогда Номер = 5;
ИначеЕсли нрег(НаименованиеМесяца) = "июнь" Тогда Номер = 6;
ИначеЕсли нрег(НаименованиеМесяца) = "июль" Тогда Номер = 7;
ИначеЕсли нрег(НаименованиеМесяца) = "август" Тогда Номер = 8;
ИначеЕсли нрег(НаименованиеМесяца) = "сентябрь" Тогда Номер = 9;
ИначеЕсли нрег(НаименованиеМесяца) = "октябрь" Тогда Номер = 10;
ИначеЕсли нрег(НаименованиеМесяца) = "ноябрь" Тогда Номер = 11;
ИначеЕсли нрег(НаименованиеМесяца) = "декабрь" Тогда Номер = 12;
Иначе ПоказатьПредупреждение(,"Это не месяц: " + НаименованиеМесяца,10); Номер = 0;
КонецЕсли;

Возврат Номер;

КонецФункции


проверять так

номер = НомерМесяца("Апрель");
Сообщить(номер);

номер = НомерМесяца("Тест");
Сообщить(номер);





если помогло нажмите: Спасибо!

LexaK

можно немного сократить
&НаКлиенте
Функция НомерМесяца(НаименованиеМесяца)
    лкИмя = нрег(НаименованиеМесяца);
Если   лкИмя = "январь" Тогда Номер = 1;
ИначеЕсли лкИмя = "февраль" Тогда Номер = 2;
ИначеЕсли лкИмя = "март" Тогда Номер = 3;
ИначеЕсли лкИмя = "апрель" Тогда Номер = 4;
ИначеЕсли лкИмя = "май" Тогда Номер = 5;
ИначеЕсли лкИмя = "июнь" Тогда Номер = 6;
ИначеЕсли лкИмя = "июль" Тогда Номер = 7;
ИначеЕсли лкИмя = "август" Тогда Номер = 8;
ИначеЕсли лкИмя = "сентябрь" Тогда Номер = 9;
ИначеЕсли лкИмя = "октябрь" Тогда Номер = 10;
ИначеЕсли лкИмя = "ноябрь" Тогда Номер = 11;
ИначеЕсли лкИмя = "декабрь" Тогда Номер = 12;
Иначе ПоказатьПредупреждение(,"Это не месяц: " + НаименованиеМесяца,10); Номер = 0;
КонецЕсли;

Возврат Номер;

КонецФункции
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск