Поиск номера месяца в году из его наименования средствами 1С

Публикация № 17026 29.09.07

Разработка - Универсальные функции

Иногда необходимо найти из строки наименования месяца его порядковый номер в году.
Стандартной функции или процедуры в 1С нет. И по этому многие ищут разный подход...
В стандартной конфигурации ЗиК от 1С в глобальном модуле встретил вот это:
Привожу фрагмент.

 //Функция глПреобразоватьСтрокуМесяца(Месяц, ПредпочтительнаяДата) Экспорт
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
//Если		ПерваяБуква="Я"	Тогда				ВведенноеЧисло = 1;
//	ИначеЕсли	ПерваяБуква="Ф"	Тогда			ВведенноеЧисло = 2;
//	ИначеЕсли	ПерваяБуква="С"	Тогда			ВведенноеЧисло = 9;
//	ИначеЕсли	ПерваяБуква="О"	Тогда			ВведенноеЧисло = 10;
//	ИначеЕсли	ПерваяБуква="Н"	Тогда			ВведенноеЧисло = 11;
//	ИначеЕсли	ПерваяБуква="Д"	Тогда			ВведенноеЧисло = 12;
//	ИначеЕсли	ПерваяБуква="М"	Тогда	
// если "М" - посмотрим Март или Май
//		Если		Лев(СтрокаМесяц,3)="МАР" Тогда	ВведенноеЧисло = 3; 
// задан март	явным образом
//		ИначеЕсли	Лев(СтрокаМесяц,3)="МАЙ" Тогда	ВведенноеЧисло = 5; 
// задан май	явным образом
//	Иначе	ВведенноеЧисло = ?((ПредпочтитМесяц>4)или(ПредпочтитМесяц<3),5,3);
//		КонецЕсли;
//	ИначеЕсли	ПерваяБуква="А"	Тогда
// если "А" - посмотрим Апрель или Август
//		Если		Лев(СтрокаМесяц,2)="АП"	 Тогда	ВведенноеЧисло = 4; 
// задан апрель	явным образом
//		ИначеЕсли	Лев(СтрокаМесяц,2)="АВ"	 Тогда	ВведенноеЧисло = 8; 
// задан август	явным образом
//		Иначе	ВведенноеЧисло= ?((ПредпочтитМесяц>7)или(ПредпочтитМесяц<4),8,4);
//		КонецЕсли;
//	ИначеЕсли	ПерваяБуква="И"	Тогда	// если "И" - посмотрим Июнь или Июль
//		Если		Лев(СтрокаМесяц,3)="ИЮН" Тогда	ВведенноеЧисло = 6; 
// задан июнь	явным образом
//		ИначеЕсли	Лев(СтрокаМесяц,3)="ИЮЛ" Тогда	ВведенноеЧисло = 7; 
// задан июль	явным образом
//		Иначе		ВведенноеЧисло = ?(ПредпочтитМесяц=6,6,7);
//		КонецЕсли;
//КонецЕсли;
//  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//КонецФункции	// глПреобразоватьСтрокуМесяца
 


Я предлагаю свой метод поиска переменной «ВведенноеЧисло». Одной строкой.

 ВведенноеЧисло  =  (Найти(\"янвфевмарапрмайиюниюлавгсеноктноядек\",Нрег(Лев(СтрокаМесяц,3)))+2)/3; 
Я не буду описывать технологии внедрения вычленения самого наименования и т.д.
Извините, со школы не люблю писать рефераты и сочинения.

Для удобства проверки выложена обработка тест.
//infostart.ru/projects/1292/

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VUN 38 01.10.07 01:06 Сейчас в теме
А скобки после 2 не нужны? - (Найти(...)+2)/3;
2. Mordens 90 01.10.07 07:00 Сейчас в теме
Нужны, спасибо за внимательность
3. stpd 01.10.07 08:32 Сейчас в теме
Изящно. :) Молоток. Я обычно массив названий делал.
4. BabySG 01.10.07 11:19 Сейчас в теме
Хорошее решение, особенно на фоне верхнего :)
5. NickDem 01.10.07 14:46 Сейчас в теме
Сразу видно что автор не по наслышке знаком с математикой )))
6. astonvilla 234 02.10.07 09:19 Сейчас в теме
А чего? Прикольно. Правда такой задачи никогда не возникало - но буду иметь в виду :)
7. svsrus 178 02.10.07 10:08 Сейчас в теме
Краткость - сестра таланта. Здорово!
8. ivisor_fil 10 02.10.07 13:13 Сейчас в теме
9. Mordens 90 10.12.07 15:20 Сейчас в теме
Спасибо кто оставил свои высказывания...но вот только непойму одного...можно ли выкладывать статьи без согласия автора?
я выкладывал на _www.infostart.ru_, а нашел
10. пользователь 03.08.11 07:44
Сообщение было скрыто модератором.
...
11. пользователь 14.12.11 20:31
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

См. также

1С 7.7 и новый 1С:Контрагент

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    1200    zhenyat    7    

6

Печать таблицы значений в 1С 7.7 при отладке

Универсальные функции Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    3437    Zoltan_Black    11    

1

Проверка часового пояса

Информационная безопасность Универсальные функции Платформа 1С v7.7 Бесплатно (free)

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.

16.05.2016    12427    kudenzov    3    

10

Процедура расшифровки ячейки таблицы в отчетах 1С 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.

24.09.2015    20329    Anzhey    14    

12

Универсальный способ сравнения таблиц

Универсальные функции Запросы Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

На эту тему уже есть статьи, но этот способ нигде не описан. Хотя я его использую с тех пор, как занимаюсь программированием. Его преимущество в простоте и универсальности: можно применять на 1С, SQL, а также в любом другом языке программирования.

05.07.2015    21101    json    3    

20

Числа прописью в родительном падеже в 7.7? Легко!

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.

20.06.2015    13907    gimalaj    3    

14

Исправление в типовой комплексной конфигурации глобальной функции глВсеРеквизитыДокументаЗаполнены()

Универсальные функции Платформа 1С v7.7 1С:Комплексная 7.7 Россия Бесплатно (free)

В типовых конфигурациях глобальная функция глВсеРеквизитыДокументаЗаполнены() не работает с реквизитами табличной части. Данная статья содержит текст исправленной функции, корректно проверяющей табличную часть.

20.08.2014    8492    hvv2002    0    

4

Проверка ИНН v.7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Проверка ИНН, есть наверняка куча аналогов, для v.8.x точно есть и не один.

08.03.2014    10124    kras_71    0    

3

Полезные функции. Склонение (должность и фамилия подписантов). Любой язык

Универсальные функции Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Уехал директор в командировку, отпуск... , оставил доверенность на хозяйственные операции на другого сотрудника. Все договора и другие документы в обмороке - "подписант" теперь другой, по тексту тоже много правок... Пересмотрел много публикаций, вариантов много, не приглянулось. Сделал свой "Баян" . У меня всего-то крутится пять фигурантов ... Нет простого, наглядного и всепогодного варианта без языкового барьера. Всем процессом управляет пользователь.

03.03.2014    18879    kompas-dm    5    

3

Устранение проблемы при работе с полем, которое ограничено маской ввода

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Для поля, у которого установлена маска ввода, перед программной инициализацией необходимо начальное значение преобразовать к значению в соответствии с маской, иначе буду потеряны символы в местах разделителях. В данной публикации приведена функция, которая универсально выполняет данное действие.

08.08.2012    18278    www2000    4    

4

Скрытие помеченных на удаление в справочнике

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Корректно скрываем помеченных на удаление в справочнике, с иерархией и без. Вроде простая и нужная вещь, но почему-то нигде не встречалась

08.08.2012    15330    mikukrnet    7    

6

Исправление и проведение документов

Универсальные функции Механизмы типовых конфигураций Бухгалтерский учет 7.7 1С:Производство+Услуги+Бухгалтерия Россия Бесплатно (free)

Исправление и проведение документов, например, счетов-фактур, введенных на основании документов реализации, можно организовать многими способами. Описан сравнительно простой подход, реализованный и работающий несколько лет в реальной бухгалтерии 1Cv7.7. Без внешних компонентов.

23.07.2012    14017    BorisBelov    11    

5

Получение характеристик и управление текущим процессом 1С на основе WMI

Универсальные функции Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Бесплатно (free)

Функционал для работы из 1С с текущим процессом класса Win32_Process. Пример получает текущее значение ОЗУ занятое процессом 1С. По описанной методике можно получать значения пиковых нагрузок на ОЗУ, время запуска текущей сессии 1С с точностью до миллисекунд. Определять загрузку активного ядра процессом и даже поменять приоритет самого процесса.

09.07.2012    22381    dusha0020    8    

38

Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7)

Универсальные функции OpenConf Бухгалтерский учет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Функция проверки валидности e-mail с использованием регулярных выражений RegExp (7.7). Данную функцию можно вставить в Глобальный модуль и пользоваться, например, при вводе или сохранении e-mail.

30.10.2011    12158    zaursoft    11    

15

Неправильное изменение категории плательщика ПФР при проведении справки МСЭК

Зарплата Механизмы типовых конфигураций Универсальные функции Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бухгалтерский учет ФОМС, ЕФС Бесплатно (free)

В ЗиК (релиз 314) при проведении документа "Справка МСЭК" вкралась ошибка: проведение некорректно изменяет категорию плательщика ПФР на "Работник сельскохозяйственной организации - инвалид", затем на "Работник колхоза, совхоза и другого сельскохозяйственного предприятия". Связано это с разными типами ожидаемого и возвращаемого перечисления в функции "глКатегорияПФР": "КатегорияПлательщикаПФ" и "КатегорииЗастрахованныхЛицПФР". Решение: изменить функцию "глКатегорияПФР" (около 2932-й строки).

17.10.2011    6717    Krokokot    3    

6

Хитрость. Использование БУЛЕВО при OLE обмене/подключении из 7.7 к 8

Универсальные функции Обмен между базами 1C Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Бесплатно (free)

Как известно, при OLE обмене доступны только типы СТРОКА, ЧИСЛО, ДАТА. А вот БУЛЕВО (ИСТИНА, ЛОЖЬ) использовать при подключении из 7.7 к 8 не получается. Как же быть? Есть хитрость, как использовать тип булево в семерке при обмене с 1С8! :)

28.09.2011    18001    dnikolaev    8    

18

Дата запрета редактирования

Универсальные функции Бухгалтерский учет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Очень часто необходимо постоянно закрывать период для редактирования документов. Вот как я вышла из этой ситуации.

15.07.2011    11023    natalika1601    14    

17

Форма 1-НДФЛ для 2011 года (Зарплата и Кадры 7.7, релиз 310)

Зарплата Универсальные функции Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бухгалтерский учет НДФЛ Бесплатно (free)

В прежних релизах была возможность из справочника "Сотрудники" сформировать форму 1-НДФЛ по кнопке "Ввод данных" (там была возможность расшифровки сумм). Вернём полезную функцию!

29.04.2011    7267    Q-Q    9    

29

Две простенькие функции для правильного учета сторно-записей и записей-перерасчетов

Зарплата Универсальные функции Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Бухгалтерский учет Бесплатно (free)

Часто при подсчете дней по записям журнала расчетов "Зарплата" берется знак "+" или "-" в зависимости от признака сторно-записи. Но рано или поздно результат получится ошибочным.

19.02.2011    11413    jack19    3    

9

Программное изменение текста в надписях Word

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Печатная форма договора в шаблоне Word. Реквизиты в 1С. Заполнение шаблона реквизитами: все стандартно, но в надписях долго получалось. Получилось :) Может кому пригодится.

06.12.2010    18899    АннаШ    10    

27

Подбор свободного кода справочника "Номенклатура" без захвата одного и того же кода несколькими операторами.

Универсальные функции Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Бесплатно (free)

При использовании в справочнике Номенклатура конструкции подбора не занятых кодов менее максимального, при работе нескольких операторов возникла проблема захвата одного и того же кода, если не использовать Записать() при создании нового элемента.

05.11.2010    10215    Rusk51    10    

1

Быстрый подсчет элементов справочника

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Частенько бывает нужно подсчитать количество элементов в справочнике, чтобы показать пользователю прогресс выполнения обработки. Быстро это сделать позволяет следующая функция.

18.10.2010    27232    brr    11    

18

Мьютексы в 1С 7.7

Файловый обмен (TXT, XML, DBF), FTP Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Бесплатно (free)

Существует ряд задач, которые требуют строго последовательного исполнения. Чаще всего это возникает при многопоточном программировании, в этом случае используются критические секции, но иногда надо синхронизировать и разные приложения - для этого существуют такие объекты ядра операционной системы как Мьютекс-ы. http://ru.wikipedia.org/wiki/Мьютекс В статье рассказывается как можно сделать аналогичный объект средствами 1С v7.7

02.07.2010    14499    Sk0rp    24    

10

ТаблицаЗначений в виде сводной таблицы

Универсальные функции Бухгалтерский учет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Зарегистрирован: 15 апр 2009, 07:58 Сообщений: 26 Очень часто приходилось преобразовывать ТаблицуЗначений в вид, наподобие Сводной таблицы в Excel (типа шахматки). Для себя написал функцию, которая этим как раз и занимается. Возможно кому-то и пригодится.

08.06.2010    19369    79044970523    8    

12

Фильтрация иерархического справочника по какому-либо условию в форме списка

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Перед 1С программистами порой встаёт задача реализовать фильтрацию справочника по какому-нибудь условию прямо в форме списка (Например "ФормаСписка" или "ДляПодбора"). Вот и передо мной, недавно, поставили такую задачу. Она оказалась не такой уж и тривиальной, особенно для иерархического справочника...

19.05.2010    14740    Antoska    19    

13

Как получить GUID без v7plus.dll в Предприятии 7.7

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Часто в терминальных сессиях у пользователю Windows не хватает прав на регистрацию v7plus.dll. Соответственно нельзя воспользоваться, например методом СоздатьGUID() класса V7SysInfo.

12.05.2010    15477    prolancer    5    

10

1C v7.7: Вывод на печать произвольной переменной типа "Таблица значений"

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Смотрю, "полку нашего прибыло" - стали публиковаться семерочные обработки по выводу таблицы значений на экран, когда поместить таблицу значений на форму или ВыбратьСтроку() по каким-то причинам не удовлетворяет. Это - описание глобальной процедуры, которая выводит любую таблицу значений в табличный документ, с которым уже можно работать дальше. Автор: Денис Горбунов, осень 2001 - осень 2003 Оригинал расположен на: http://faq1c.gorbunov.ru

14.04.2010    23313    v.l.    14    

12

Алгоритм расчета периодов

Универсальные функции Математика и алгоритмы Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Вычисление периодов в формате ГГММДД. Вычисление дат по формуле Дата + ГГММДД. Примечание: Даты передаем в виде 'ДД.ММ.ГГГГ', периоды - "ГГ-ММ-ДД". Пользуйтесь.

10.03.2010    10237    arithmometr    1    

3

Простое решение проблемы с казахстанской кодировкой

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Казахстан Бесплатно (free)

Известно, что для того, чтобы работать в 1С с казахскими шрифтами, нужно изменить кодировку в ОС. Иногда это может быть не очень удобно.

22.01.2010    19311    Gvozdod    3    

8

"Быстрый" выбор периода в журнале

Универсальные функции Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Всего одна функция глобального модуля и у вас в каждом журнале появиться возможность в 2 клика выбрать любой месяц.

09.12.2009    11945    mdbm    11    

14

1С Предприятие 7.7 и Mozilla Thunderbird. Отправка писем из командной строки

Универсальные функции Email рассылки Оперативный учет 7.7 Бухгалтерский учет 7.7 Конфигурации 1cv7 1С:Бухгалтерия 7.7 Бесплатно (free)

Клиент захотел чтобы у него из 1С формировались письма с вложениями и отправлялись через Mozilla Thunderbird. Из этого вышла маленькая процедура.

30.11.2009    15361    kasperok    15    

5