Получение даты из строки текста ( СКД, функции общих модулей )

Получение даты из строки комментария к документу в отчете СКД, с использованием функции общего модуля.
Вывод в отчет даты отправки, указанной в комментарии к документу
 
Отчет на СКД, с использованием функции общего модуля, в данном примере используется Внешний Набор Данных  (табличная часть отчета)
     
Поиск даты осуществляется с помощью регулярных выражений COM объекта VBScript.RegExp
 
Пример представлен в виде файла выгрузки базы данных (8.2.15 обычное приложение).

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

Пример не является 100% универсальным и выложен на случай кому интересно для дальнейшей доработки «под себя»

5 Comments

  1. anton.fly7

    Спасибо!

    только что пригодилось ) так бы просидел час ))

    Reply
  2. Vlad_2008

    Рад, что пригодилось

    Reply
  3. petrov_al

    А полнотекстовым поиском не пробовали?

    Reply
  4. Vlad_2008

    (3) petrov_al,

    Нет, не пользовался, и даже, не знал что там есть возможность поиска

    по шаблону.

    Прочитал сейчас СП и сделал вывод что «поисковых операторов» для решения

    моей задачи там недостаточно (надо найти что-то похожее на дату 00.00.0000)

    Плюс, есть организации с приличным объемом данных, которые отключают

    «фирменные тормоза» полнотекстового поиска (вместе с регламентом обновления)

    Правда, и вычисляемое поле через функцию общ.модуля, да еще и через COM объект —

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

    а выделить нужный текст ни как.

    Сегодня попробую поиграться с поиском.

    Reply
  5. Vlad_2008

    (5) artbear,

    Согласен, лучше всего кешировать Ком-объект. Делать его инициализацию при открытии отчета

    через вызов функции общего модуля (с повторным использованием возвр. значений) и далее

    использовать вызов этой функции для получения Ком-объекта в функции, вызываемой из СКД.

    Reply

Leave a Comment

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