Форматирование даты с учетом склонения по падежам

27.07.10

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

Функция позволяет форматировать переданную ей дату с учетом склонения по падежам.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ФорматДаты
.ert 84,00Kb
73
73 Скачать (1 SM) Купить за 1 850 руб.

Функция может заменить стандартный прием форматирования даты - Формат('21.01.10',"ДДДММГГ") на более гибкий - с возможностью склонения по падежам, изменения регистра, удаления в конце буквы "г". В результате использования в некоторых отчетах даты, наконец, будут очеловечены и станут радовать глаз. Имеет смысл поместить функцию в Глобальный модуль.

См. также

Универсальные функции Программист Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    1371    14    user706545_kseg1971    0    

5

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

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

25.04.2022    2339    zhenyat    7    

8

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

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

30.06.2021    5138    Zoltan_Black    11    

2

Универсальные функции Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13933    4    alsen    3    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10766    malovandrey    7    

19

Универсальные функции Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18887    2    HAMMER_59    6    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. jmw 61 28.07.10 11:19 Сейчас в теме
К чему мудрствовать лукаво?
Функция Представление(Слово1,Слово2,Слово3,_Чсл) Экспорт
	Ост2 = _Чсл % 100;
	Ост1 = _Чсл % 10;
	Если (Ост2 > 10) И (Ост2 < 20) Тогда
		ФормаЧисла = 3;
	ИначеЕсли Ост1 = 1 Тогда
		ФормаЧисла = 1;
	ИначеЕсли (Ост1 > 1) И (Ост1 < 5) Тогда
		ФормаЧисла = 2;
	Иначе
		ФормаЧисла = 3;
	КонецЕсли;
	Если ФормаЧисла = 1 Тогда
		Возврат Слово1;
	ИначеЕсли ФормаЧисла = 2 Тогда
		Возврат Слово2;
	Иначе
		Возврат Слово3;
	КонецЕсли;
КонецФункции // Представление
Показать

К примеру:
"2 " + Представление("банан", "банана", "бананов", 2) = "2 банана"
"12 " + Представление("банан", "банана", "бананов", 12) = "12 бананов"
2. gubanoff 63 28.07.10 17:32 Сейчас в теме
В твоем примере решается задача формирования красивых сочетаний "число + слово", что, безусловно, тоже хорошо и использование такого приема должно всячески поощряться. В моем же примере, решается задача склонения даты, чтобы можно было красиво вставить дату, например, в это предложение: "Показатели должны быть выполнены во 2 квартале 2010 г." Чтобы получить нужное склонение, напишем "Показатели должны быть выполнены во [ФорматД(НужнаяДата,"ДККККГГГГ",6,1)]". Как тут твоими "бананами" справиться, ума не приложу.
3. jmw 61 29.07.10 09:21 Сейчас в теме
(2) В твоей разработке почти 200 строк никому не нужного кода!
Ведь давольно-таки сомнительно, что в какой-нибудь нитленке я буду его встраивать, а приведённый тобой пример решается одной строкой.
Вот так:
"Показатели должны быть выполнены " + ?( Число(ПериодСтр(НачКвартала(НужнаяДата), КонКвартала(НужнаяДата))) = 2, "во ", "в") + " квартале " + ДатаГод(НужнаяДата) + " г."
4. gubanoff 63 29.07.10 10:18 Сейчас в теме
Бесспорно, твое
?( Число(ПериодСтр(НачКвартала(НужнаяДата), КонКвартала(НужнаяДата))) = 2, "во ", "в") + " квартале " + ДатаГод(НужнаяДата) + " г."
много лучше моего
[ФорматД(НужнаяДата,"ДККККГГГГ",6,1)]
, только тебе придется для каждого такого нешаблонного склонения изобретать конструкции (и тратить на изобретение оных время), типа приведенной, а я буду использовать универсальную функцию и менять пару ее параметров. А если надо будет написать нечто вроде "Данные предоставить к среде" ты тоже будешь каждый день недели в коде отчета правки делать? ;) или придумаешь функцию, которая по номеру дня недели будет его название выводить? Так вот, когда все варианты того, как может быть дата отформатирована моей функцией сложишь, посчитай количество строк кода.
5. jmw 61 29.07.10 11:12 Сейчас в теме
За 15 лет ни разу за весь свой опыт работы с 1С (начинал ещё с v6) никто и нигде меня не просил, чтобы эска писала "Показатели должны быть выполнены во 2 квартале 2010 г." или "Данные предоставить к среде".
Такие приказы отдать может только уполномоченное лицо, а не программа!
И тем более должно указываться конкретное число, а не гипотетическая среда.
6. AVKonya 29.09.11 11:11 Сейчас в теме
Приведенный на втором скриншоте пример неправильный.
"27 июля" будет именно июЛЯ в любом падеже.
И: Сегодня 27 июЛЯ
Р: У меня в календаре нет 27 июЛЯ
Д: Нужно успеть к 27 июЛЯ
и т.д.
У Вас описано склонение не "27 июля", а "27-й июль". Тогда бы действительно склонялось название месяца.
7. gubanoff 63 03.10.11 22:43 Сейчас в теме
Точно, пожалуй, дал маху :) Отлично, что кто-то еще внимательно относится к русскому языку!
8. taasha25 13 30.06.14 13:57 Сейчас в теме
Здравствуйте, уважаемый!

Как правильно открыть файл. 1С ругается на формат хранилища.

Заранее спасибо!
9. gubanoff 63 30.06.14 17:33 Сейчас в теме
(8) taasha25, это обработка для 1С 7.7
10. taasha25 13 01.07.14 08:12 Сейчас в теме
Спасибо! Я уже разобралась.
11. chmv 01.07.14 08:25 Сейчас в теме
Мы пользуемся dll. но иногда должности слетают
Оставьте свое сообщение