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

Публикация № 128790

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

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

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

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

       В ней реализованы все самые важные функции Даты в 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 первых символа)...(Год)... (Час)...(Минута)...(Секунда)

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

 



2

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

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

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

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

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

См. также

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Абонемент ($m) Работа с интерфейсом Универсальные функции

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

1 стартмани

27.09.2016    9580    2    HAMMER_59    6       

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    20955    4    Serginio    1       

Запуск php програм в 1С 7.7 0

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Абонемент ($m) Универсальные функции

Запуск программ PHP на сервере по прямому адресному запросу. Дополнительная возможность - передавать параметры методом GET-запросов.

1 стартмани

15.09.2014    5093    7    kwadro    1       

Перевод десятичного числа в HEX, BIN, OCT, _IdToStr и другие системы 1

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 1cv7.md Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Два алгоритма перевода десятичного числа в другую систему исчисления от 2 до 36 только средствами 1С (без ВК)

1 стартмани

05.06.2014    10298    10    kos    3       

1C7.7 парсер JSON 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Windows Абонемент ($m) Универсальные функции

РАБОТОСПОСОБНЫЙ парсер JSON встраивается в глобальный модуль в виде 3х функций. Для достижения положительного результата активно используется regexp.

1 стартмани

23.01.2014    14045    65    pit201201    16       

Компонента "Быстрый регистр" для 1С 7.7 (на прямых запросах SQL 1c++) 7

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 Windows Абонемент ($m) Универсальные функции

Ускорение операций с регистрами 1с 7.7 через объектную модель, за счет доступа через прямые запросы SQL (1c++). Существует возможность добавления произвольных подзапросов соединений c другими таблицами и отборов WHERE, гибкой настройки вывода полей в результат

1 стартмани

13.01.2014    10073    8    victor_goodwill    7       

Обработка проверки номера сотового телефона 3

Инструменты и обработки no Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Windows Абонемент ($m) Универсальные обработки Классификаторы Универсальные функции

Обработка предназначена для проверки номера сотового телефона по базе def номеров РФ по данным rossvyaz.ru

1 стартмани

05.10.2012    14825    28    BPAvel    8       

Почтовый клиент для скачивания вложений с почты 1С:7.7 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) WEB Универсальные функции

Скачивает вложения, и переименовывает на уникальное имя. Нужно для того, что бы скачивало ВСЕ файлы, даже если эти файлы с одинаковым именем. Изначально разрабатывалось для массового скачивания больших объемов квитанций о принятии отчетов в налоговую. иногда в письме было два и более разных файлов, с одинаковым именем. Существующие почтовые клиенты при этом скачивали только один (последний), остальные файлы терялись.

1 стартмани

15.08.2012    12184    19    serko8547    3       

Группировка данных в таблице значений (1С:7.7) 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Работа с интерфейсом Универсальные функции

Надоело каждый раз морочиться с итогами по группам данных в таблице значений при выводе отчета на печать! Вот и накидал простое решение... может и боян - но мне нравится)

1 стартмани

08.08.2012    17394    35    Lancelot-2M    9       

Расчет CRC32 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m) Универсальные функции

Расчет CRC32 без использования внешних компонент

1 стартмани

26.04.2012    9905    36    GAlexis    17       

Выяснение ID'а объекта в базе SQL по его внутреннему идентификатору 1С 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) openconf v77::БУ 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Обработка позволяет узнать ID в базе SQL конкретного агрегатного объекта конфигурации (метаданных) 1С 7.7.

1 стартмани

27.03.2012    24935    14    born85    41       

Прогрессбар для конфигураций 7.7 5

Инструменты и обработки Программист Конфигурация (md, cf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Работа с интерфейсом Универсальные функции

Простой прогрессбар для конфигураций 7.7. Реализован штатными средствами, работает с любым видом учета

1 стартмани

11.02.2012    5460    32    Gagarick    3       

Редактор таблиц значений 14

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Простой и эффективный инструмент. Позволяет делать с таблицами значений все, что угодно: создавать, редактировать, записывать в файл, считывать из файла, обрабатывать...

1 стартмани

17.10.2011    11706    83    warenic    12       

Редактор списков значений 9

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Простой и эффективный инструмент. Позволяет делать со списками значений все что угодно: создавать, редактировать, записывать в файл, считывать из файла, обрабатывать...

1 стартмани

17.10.2011    8968    51    warenic    6       

Сравнение таблиц с данными 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Инструментарий разработчика Анализ учета Универсальные функции

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

1 стартмани

16.03.2011    9627    32    waol    1       

Печать штрихкодов (не EAN-13) TTF-шрифтом 7

Инструменты и обработки no Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Сканер штрих-кода Ценники Универсальные функции

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

1 стартмани

02.03.2011    18944    146    tdr1225    7       

Автонумерация документов 2

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

Универсальная процедура автонумерации - решение, учитывающее ручные исправления номеров документов.

1 стартмани

24.11.2010    10909    149    aleksandr_leiman    6       

Сведения истории значений 7

Инструменты и обработки Программист Конфигурация (md, cf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Обработка справочников Универсальные функции

Разработка содержит функцию «глСведенияИсторииЗначений(Элемент, НачДата, КонДата, ВсеИдРеквизитов = "")», демонстрацию которой выполняет данная разработка. Функция работает с историей реквизитов одного конкретного элемента справочника.

1 стартмани

29.08.2010    7989    76    provadyuga    5       

Многофирменный учет или отборы в общих журналах документов 17

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Обработка документов Универсальные функции

Стандартная привязка документа к определенному журналу имеет свои неудобства. Конкретному пользователю нужны определенные документы, да еще и с отбором по разным реквизитам. Отборы же в стандартном общем журнале документов реализованы только для одного реквизита : или фирма, или вид документа, или автор и т.д. Кроме этого, при попытке ввести новый документ , вываливается список всех документов конфигурации. А если у Вас многофирменный учет...

1 стартмани

09.05.2010    14293    249    kompas-dm    8       

Хранилище файлов для 7.7 14

Инструменты и обработки Программист Конфигурация (md, cf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Универсальные функции

Макетная конфигурация для структурированного хранения внешних файлов. Ссылки прикрепляются к документам и справочникам 1С.

1 стартмани

09.04.2010    10951    225    alex_serb    9       

Гибкие блокировки для 7.7 SQL Оперативный учет (очередные грабли :)) 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v77::ОУ 1cv7.md Windows Абонемент ($m) Обработка документов Универсальные функции

Обработка с функционалом по внедрению/использованию гибких блокировок в 1С 7.7 на SQL. На ваш суд и обсуждение :) Идея общеизвестная

1 стартмани

19.02.2010    10777    92    Lars Ulrich    10       

ПЕЧАТЬ ИЕРОГЛИФОВ из 1С 20

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Загрузка и выгрузка в Excel Универсальные функции

Если Вам нужно печатать из 1С иероглифы, а Вы не знаете как - предлагаю один из вариантов решения. А если Вы знаете - предложите свой, буду премного благодарен.

1 стартмани

04.02.2010    21416    41    Tatitutu    29       

Универсальный подбор элементов справочника 6

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Универсальная обработка для подбора элементов любого справочника путем прямого запроса с помощью 1С++ с использованием фильтра по вхождению для строковых реквизитов. (только для SQL)

1 стартмани

11.11.2009    8863    108    Boog    6       

Календарь 13

Инструменты и обработки no Внешняя обработка (ert,epf) v77::ОУ v77::БУ 1cv7.md Украина Windows Абонемент ($m) Работа с интерфейсом Универсальные функции

Вырванное из конфигурации решение справочника в виде календаря (с реализацией праздников и выходных для Украины).

1 стартмани

27.06.2009    10071    119    VRP    10       

Обработка сортировки по подразделению в любом документе 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::Расчет 1С7:ЗиК Windows Зарплата Управление персоналом (HRM) Абонемент ($m) Универсальные функции

Эта обработка относится к статье "http://infostart.ru/blogs/1086/" (Создаем сортировку по подразделению в любом документе (Зарплата и Кадры 7.7))

1 стартмани

28.05.2009    9598    62    Craig    18       

Получение списка запущенных процессов. Запуск и завершение программ по PID 1

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Демонстрация способа запуска приложения с сохранением его PID и последующим закрытием по PID, получения списка процессов.

1 стартмани

01.04.2009    12564    174    MadDAD    13       

7.7. Нумератор бланков штрих-кодом + читатель (сканирование ШК). 20

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Документооборот и делопроизводство Абонемент ($m) Универсальные печатные формы Сканер штрих-кода Универсальные функции

Как-то высказывалось здесь пожелание познакомиться со штрих-кодированием и объектом BarCode. Знакомьтесь. Вариант использования: Контроль возврата выданных документов.

1 стартмани

20.03.2009    20332    661    Арчибальд    5       

Процедура-плагин: Выгрузка в Йоксель для Новейшего отчета 7.7 21

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Россия Абонемент ($m) Разработка внешних компонент Загрузка и выгрузка в Excel Универсальные функции

Процедура дополняет Новейший отчет 7.7 с возможностью выгрузки созданного отчета в Йоксель (Excel) с группировками по строкам.

1 стартмани

09.12.2008    15740    133    Djelf    13       

Расширенные настройки для отчетов 9

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Работа с интерфейсом Универсальные функции

Практически полный аналог стандартных возможностей - Сохранение и восстановление настроек в отчетах...

1 стартмани

08.12.2008    11330    154    Noy    27       

Как сделать удобный отбор документов в общем журнале для "Бухгалтерия 7.7", "1С:УСН" и "Зарплата и кадры 7.7" 46

Инструменты и обработки Программист Конфигурация (md, cf) v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Работа с интерфейсом Универсальные функции

Доработка предназначена для более удобного отбора документов общего журнала, чем в типовой "1С:Бухгалтерия", "1С:УСН", "1С:Зарплата и кадры". Позволяет пользователю: 1) установить отбор по виду документа; 2) установить отбор по сотруднику/контрагенту (зависит от конфигурации); 3) отключить отбор; 4) установить в качестве интервал текущие: день, месяц, квартал, год; 5) открыть сколько угодно общих журналов (!) и в них опять же установить отборы.

1 стартмани

13.12.2007    22137    396    IsiKosta    17