Универсальные функции Даты-Времени в 1Cv7

31.05.12

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

Представлены 4 основные функции  и 2 вспомогательные.
Входом функций являются Дата и Время как в стандартном, так и форматированном представлении.
На закладке "Функции" дана возможность проверить работу функций. Представлен альтернативный выбор Даты с помощью Календаря (кн. "Выбор").;
На закладке "Календарь" показано, как просто можно создать и  распечатать календарь на любой(!) год.    

Скачать файлы

Наименование Файл Версия Размер
ДатаВремя_Демо.zip
.zip 30,20Kb
27
.zip 30,20Kb 27 Скачать

Краткое описание. 

  • функция глДВ_Дата(ВхДата,ДобавитьДни,...)

       В ней реализованы все самые важные функции Даты в 1с7 (ДатаМесяц(), ДатаДень() и т.п). Что необходимо - можно добавить.  Входом может быть как переменная типа "Дата" так и ее строковое выражение в русском стандарте ((день)...(месяц)...(год)) разделенные любыми символами). Год может быть любым, от 1 до 9999999.... (до Наше эры не рассматривались, если нужно - можно сделать).  Типы форматов взяты из в 1с7 (ДДД..ММ..ГГ..), но дни месяцы и год могут располагаться в произвольном порядке.

Добавлен специальный формат "Д^" - выводиться полное количество дней от Рождества Христова.

  • функция глДВ_Время(ВхВрем,ДобавитьВремя,...)

      В ней реализованы все необходимые функции Времени (в 1с7 отсутствуют). 
Входом (ВхВремя,ДобавитьВремя) может быть как переменная типа ТекущееВремя(), так  и любая строка, включающая в  себя 4 или 3 группы цифр, разделенных любыми символами ((сутки)...(часы)...(минуты)...(секунды)  или (часы)...(минуты)...(секунды))
Форматы сделаны по аналогии с Датой - ВД...Ч...М...С..., но порядок следования должен быть именно таким.
Есть специальный формат "Д^" - выводиться количество секунд

       Пример: время="42/23:52:12",  формат="ВДДДЧЧЧЧММСС",  выход="42 дня 23 часа 52 мин. 12 сек.".

  • функция глДВ_ДатаВремя(ВхДата,ВхВрем,...)

       В ней реализованы объединенные функцииДаты- Времени (в 1с7 отсутствуют).
Входом (ВхДата,ДобавитьВремя) может быть любые (стандартные или форматированные Дата и Время - см.выше)
Выход - Дата-Время форматированное согласно объединенному формату.  Строка объединенного формата состоит из строк форматов Даты и Времени в любой последовательности и разделенных любыми символами (не задействованными в форматах)

Добавлен специальный формат "^^" - выдает количество секунд от Рождества Христова.

  • функция глДВ_РазницаДатаВремя(Дата1,Время1,Дата2,Время2...)

       Выдает форматированную разницу между начальным и конечным Датой_Временем (в 1с7 отсутствует).
Входом могут быть Дата и Время в любом "полном"  формате (3 или 2 группы цифр для Даты, 4 или 3 группы цифр для Времени)

Применение для отчетов: задаем Дату-Время начала и конца Отчета - получаем форматированное время работы.

Возможные форматы:       
"ВЛ...Р...Д...Ч...М...С..." - разница Даты-Времени в календарных годах, календарных месяца, днях, часах, минутах, секундах ;
"ВР...Д...Ч...М...С..."  - разница в календарных месяцах (годы пересчитываются в месяцы),  днях, часах, минутах, секундах;
"ВД...Ч...М...С..." -  разница в днях (годы и месяцы пересчитываются в дни), часах, минутах, секундах;
"ВЧ...М...С..." - разница в часах (годы, месяцы и дни пересчитываются в часы), минутах, секундах;
"ВМ...С..." - разница в минутах (годы, месяцы, дни и часы пересчитываются в минуты), секундах;
"ВС...".- разница в секундах  
               
Для данной функции добавлены форматы календарных лет (Л...) и календарных ("Реальных") месяцев (Р...).

Пример:

         Дат1="22 июня 1941 г.";    Врем1="4 часа 0:0";  Дат2="9 мая 1945";   Врем2="0:0:0";
         Формат="ВЛЛЛЛРРРРДДДДЧЧЧЧММММСССС";   Вых="3 года 10 месяцев 17 дней 20 часов 0 минут 1 секунда ";
         Формат="ВРРРДДДДЧЧЧЧ";   Вых="46 мес. 17 дней 20 часов ";
         Формат="ВДДД";   Вых="1416 дн. ".

 

Примечание:

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

         (День месяца)...(Номер или наименование месяца - 3 первых символа)...(Год)... (Час)...(Минута)...(Секунда)

Троеточием обозначены любые нецифровые символы.

 



См. также

Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"

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

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

1 стартмани

22.12.2023    656    9    user706545_kseg1971    0    

4

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

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

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

25.04.2022    1812    zhenyat    7    

6

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

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

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

30.06.2021    4398    Zoltan_Black    11    

2

Установка принтера по умолчанию для 1С 7.7

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

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

1 стартмани

13.02.2019    13284    4    alsen    3    

4

Формирование строки json в 1С: 7.7

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

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

1 стартмани

10.12.2018    10092    malovandrey    1    

18

Как создать индикатор в 1С:Предприятии 7.7

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

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

1 стартмани

27.09.2016    18670    2    HAMMER_59    6    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Altair777 644 22.05.12 17:01 Сейчас в теме
(0) Автор, как-то отформатируйте описание, а то читать тяжело - все сливается. Попробуйте абзацы сделать, текст раскрасить.
Да и текст на скриншотах какой-то неразборчивый.
2. Altair777 644 25.05.12 15:38 Сейчас в теме
3. newold2 124 28.05.12 10:22 Сейчас в теме
(2) Altair777, (2) Altair777,
М...нет, слегка помог.
Поправил описание функций, добавил пример "календарных" форматов.
Извиняюсь, надо было использовать раздел "Программирование".
Формы, да и сама обработка используются здесь только для проверки работы функций.
Скриншоты даны только для представления о внешнем виде обработки-проверке.
Конечно, право на отрицательное мнение есть у каждого, но хотелось-бы
чтобы при этом глубже рассматривалась суть.
Кстати, выбор даты из Календаря и печать Календаря сделаны мимоходом,
именно для данной "демонстрашки", чтобы показать возможности функций.
4. Altair777 644 28.05.12 13:06 Сейчас в теме
(3) скажите Алексей. Вот Вам самому приятно смотреть на свое "творение"?
Я имею в виду оформление публикации, а не саму обработку.
5. newold2 124 30.05.12 16:46 Сейчас в теме
(4) Altair777,я не смотрю. А по теме? Например, распознавание форматированных Даты-Времени на входе функций,
"календарные" форматы для разницы Даты-Времени. Скажите, Вы еще не сделали этого для восьмерки? Берите,
алгоритмы простые. Форматы Даты можно расширить до всяких применяемых (по моему их всего 4 из 6 возможных
перестановок. Естественно придется указывать тип международного формата). В некотором роде "интеллектуализация" 1с.
7. Altair777 644 31.05.12 14:06 Сейчас в теме
(5) своих собственных 7-ых функций с датой у меня хватает.
Небольшой примерчик есть тут Альтернативный способ выбора интервала дат.

А для 8-ки не вижу смысла писать собственные. Есть задачи намного более важные :)
8. newold2 124 31.05.12 18:42 Сейчас в теме
(7) Altair777, я смотрел. Никаких Ваших функций Даты_Времени там нет.
10. Altair777 644 01.06.12 11:53 Сейчас в теме
(8) плохо смотрели :)
Функций (процедур) работой с датой там много. Они ориентированы на визуализацию формы.
Например, Процедура ВывСтр() - замена стандартного ПериодСтр()
11. newold2 124 01.06.12 13:04 Сейчас в теме
(10) Altair777, нашел в гл.модуле.Извиняюсь. Построены на основе стандартных функций Даты 1с7, с их главным недостатком-половина столетия. Мои как раз стандартные и заменяют. Не говоря уже о распознавании форматов, дополнительных форматах,функций и форматах Времени, объединенном формате, "календарном" формате и т.д.
6. Erhov_egor 30.05.12 16:54 Сейчас в теме
да конечно все размазано но почитав хорошая разработка вроде,ранее не встречал
9. newold2 124 31.05.12 18:45 Сейчас в теме
Выкладываю последнее исправление. Устранены некоторые ошибки. Введено распознование на любых входах
функций Даты_Времени в обобщенном формате. Улучшены алгоритмы.
12. serega3333 04.06.12 13:43 Сейчас в теме
для тренировки мозгов отлично пойдет
Оставьте свое сообщение