Преобразование "Янаврь" - > "01". Я сделал так, а как оптимальнее?
В запросе используется группировка Месяц
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
........
|Группировка Месяц;
.........
|";
Пока Запрос.Группировка(1) = 1 Цикл
МесТхт=Месяц(Запрос.Месяц);
Функция Месяц(Месяц)
Месяц=Врег(Месяц);
Если Найти(Месяц,Врег("Январь"))<>0 Тогда
Возврат "01";
ИначеЕсли Найти(Месяц,Врег("Февраль"))<>0 Тогда
Возврат "02";
ИначеЕсли Найти(Месяц,Врег("Март"))<>0 Тогда
Возврат "03";
ИначеЕсли Найти(Месяц,Врег("Апрель"))<>0 Тогда
Возврат "04";
ИначеЕсли Найти(Месяц,Врег("Май"))<>0 Тогда
Возврат "05";
ИначеЕсли Найти(Месяц,Врег("Июнь"))<>0 Тогда
Возврат "06";
ИначеЕсли Найти(Месяц,Врег("Июль"))<>0 Тогда
Возврат "07";
ИначеЕсли Найти(Месяц,Врег("Август"))<>0 Тогда
Возврат "08";
ИначеЕсли Найти(Месяц,Врег("Сентябрь"))<>0 Тогда
Возврат "09";
ИначеЕсли Найти(Месяц,Врег("Октябрь"))<>0 Тогда
Возврат "10";
ИначеЕсли Найти(Месяц,Врег("Ноябрь"))<>0 Тогда
Возврат "11";
ИначеЕсли Найти(Месяц,Врег("Декабрь"))<>0 Тогда
Возврат "12";
Иначе
Возврат "Ошибка";
КонецЕсли;
КонецФункции // Месяц
Есть ли другие более правильные варианты?
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
........
|Группировка Месяц;
.........
|";
Пока Запрос.Группировка(1) = 1 Цикл
МесТхт=Месяц(Запрос.Месяц);
Функция Месяц(Месяц)
Месяц=Врег(Месяц);
Если Найти(Месяц,Врег("Январь"))<>0 Тогда
Возврат "01";
ИначеЕсли Найти(Месяц,Врег("Февраль"))<>0 Тогда
Возврат "02";
ИначеЕсли Найти(Месяц,Врег("Март"))<>0 Тогда
Возврат "03";
ИначеЕсли Найти(Месяц,Врег("Апрель"))<>0 Тогда
Возврат "04";
ИначеЕсли Найти(Месяц,Врег("Май"))<>0 Тогда
Возврат "05";
ИначеЕсли Найти(Месяц,Врег("Июнь"))<>0 Тогда
Возврат "06";
ИначеЕсли Найти(Месяц,Врег("Июль"))<>0 Тогда
Возврат "07";
ИначеЕсли Найти(Месяц,Врег("Август"))<>0 Тогда
Возврат "08";
ИначеЕсли Найти(Месяц,Врег("Сентябрь"))<>0 Тогда
Возврат "09";
ИначеЕсли Найти(Месяц,Врег("Октябрь"))<>0 Тогда
Возврат "10";
ИначеЕсли Найти(Месяц,Врег("Ноябрь"))<>0 Тогда
Возврат "11";
ИначеЕсли Найти(Месяц,Врег("Декабрь"))<>0 Тогда
Возврат "12";
Иначе
Возврат "Ошибка";
КонецЕсли;
КонецФункции // Месяц
Есть ли другие более правильные варианты?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Во блин, точно, интересно зачем он так сделал..не понятно
ну тогда так
НачДата=Дата("01.01.01");
Для К=0 По 11 Цикл
ТекМесяц=Формат(ДобавитьМесяц(НачДата,К),"ДММММ");
Если ТекМесяц=Месяц Тогда
МесяцЧислом=Формат(К+1,"Ч(0)2");
Прервать;
КонецЕсли;
КонецЦикла;
ну тогда так
НачДата=Дата("01.01.01");
Для К=0 По 11 Цикл
ТекМесяц=Формат(ДобавитьМесяц(НачДата,К),"ДММММ");
Если ТекМесяц=Месяц Тогда
МесяцЧислом=Формат(К+1,"Ч(0)2");
Прервать;
КонецЕсли;
КонецЦикла;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот