Краткое описание.
- функция глДВ_Дата(ВхДата,ДобавитьДни,...)
В ней реализованы все самые важные функции Даты в 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 первых символа)...(Год)... (Час)...(Минута)...(Секунда)
Троеточием обозначены любые нецифровые символы.