Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Форум 1С: Одинэс.Ру

Найти!

Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Anonymous
16.03.2009 - 12:57
Привет всем!
Возможно, ли вернуть дату 21.02.09 из произвольного текста "Накл. № 3817 от 21.02.09       № 326"? Данный текст содержится в содержании проводки. Количество символов до и после даты может меняться каждый раз.
Подскажите пожалуйста если такое возможно сделать, то как?
Заранее благодарен!
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
27.10.2020 - 18:03
Смотри также:
Где можно прочитать подробно про взаимодействие 1С 7.7 с Excel - ем ?
не показывает СНД по сумме
Глюк с БИ или я чё-то не понимаю

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

angro
1 - 16.03.2009 - 13:00
найди 2 цифры, точку, 2 цифры, точку, 2 цифры и преобразуй

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Anonymous
2 - 16.03.2009 - 13:03
Простите за несовершенное знание языка, а как реализовать это в конфигураторе?

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

SMOKE
3 - 16.03.2009 - 13:33
Если текст всегда будет иметь подобный вид, тогда что-то вроде этого:
 
НашаСтрока = "Накл. № 3817 от 21.02.09 № 326";
Ном = Найти("Накл. № 3817 от 21.02.09 № 326","от");
Стр1 = Лев(НашаСтрока,Ном+10);
Стр2 = Прав(Стр1,8);
НашаДата = Дата(Стр2);

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Duke1C
4 - 16.03.2009 - 13:39
Если уверен, что в строке перед датой всегда будет "от", то можно оттолкнуться от этого.
Если нет, то попробуй получить список значений из твоей строки при помощи процедурки глРазложить (есть, по-моему, во всех типовых),
а потом анализируй значения из списка на предмет:
СтрДлина()=8
и число вхождений "."=2
А вообще накой тебе это всё?

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Дятeл
5 - 16.03.2009 - 13:44
ну или так:
Представление = "";
Для Сч = 1 По СтрДлина(примСтрока) Цикл
ТекСимв = Сред(примСтрока,Сч,1);
Если КодСимв(ТекСимв) = 46 Тогда
Представление = Представление + "т";
ИначеЕсли (КодСимв(ТекСимв) > 47) и (КодСимв(ТекСимв) < 58) Тогда
Представление = Представление + "ц";
Иначе
Представление = Представление + "п";
КонецЕсли;
КонецЦикла;
Позиция = Найти(Представление,"ццтццтцц");
Если Позиция > 0 Тогда
Сообщить(Сред(примСтрока,Позиция,8));
КонецЕсли;

Интересные темы

odines.ru
27.10.2020 - 18:03
Смотри также:
ПУБ: Можно ли на 20й отнести затраты без расшифровки по ГП
Сбиваются настройки печати Заявки на кассовый расход.
Бюджетка. Прислали файлы из казначейства. Через что их загружать?

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Anonymous
6 - 16.03.2009 - 14:22
Duke1C это все чтоб на основании содержания проводки в УСН сформировать график отсрочки платежей.
 
Дятел огромне спасибо! Работает!
 
Всем огромное спасибо за помощь!

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

KonstS1
7 - 16.03.2009 - 14:27
(4) В продолжение:
 
Функция ДатаИзСтрокиПлатежа(СтрПлат)
Спс=глРазложить(СтрПлат," ")
Для а=1 по Спс.РазмерСписка() Цикл
  Если ПустоеЗначение(Дата(Спс.ПолучитьЗначение(а)))=0 Тогда
    Возврат Дата(Спс.ПолучитьЗначение(а))
  КонецЕсли;
КонецЦикла;

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Чучундер
8 - 16.03.2009 - 14:36
да все правильно, если строка будет всегда такого вида - то есть отбита пробелами как в образце то. как правильно заметил (7)
 
Возврат Дата(глРазложить(СтрПлат," ").ПолучитьЗначение(5))

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

VZ
9 - 16.03.2009 - 15:12
Ага, работает :) Но только тогда, когда дата прелставлена в виде "21.02.09"... А если "21.02.2009"? А если "21,02,09"? Не встречали, а? Когда "точку" тыкают клавишей "./Del" на блоке клавиш справа?
А еще некоторые оригиналы любят слэши.
 
Я попотел в свое время от этих многообразий :))

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Чучундер
10 - 16.03.2009 - 16:06
(9) да запросто кучу вариантов можно увидеть...

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

VZ
11 - 16.03.2009 - 16:20
Вот именно... А все потому, что строки типа "Накл. № 3817 от 21.02.09 №326" во многих местах вводятся "девочками"...
Хорошо, если это строка формируется программно (как в сабже - в содержании проводки). Тут проблем нет.
А "руками"?
Кстати, я закладывался еще и на "31 июня" ;)

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

victuan
12 - 16.03.2009 - 16:38
(6) "Duke1C это все чтоб на основании содержания проводки в УСН сформировать график отсрочки платежей"
А зачем делать на основании СОДЕРЖАНИЯ, если все легко можно сделать на основании ДАТЫ документа, породившего проводку?

Re: Можно ли вернуть дату из произвольного текста вида «Накл. № 3817 от 21.02.09 № 326»?

Duke1C
13 - 17.03.2009 - 05:47
(12) Походу, в одной операции собраны проводки за разные числа,
если нет, то (0) см. (12)
К списку тем 1 > К списку форумов
Тема закрыта и находится в архиве.
Но Вы можете начать новую тему.
« Бюджет, учет аренды федерального имущества В SQL база вылетает при открытии документа "Отмена заявок" »
© 2009 Форум 1С: Одинэс.Ру