Сорокин Сергей | Ведущий программист 1С | МоскоуСофт

«Трейдинг криптовалют и его автоматизация на 1С»

1. Инвестирование в фондовый рынок или в криптовалюты. * Стоит ли инвестировать и как не потерять свои вложения? * В чем отличие операций на фондовом рынке и операций с криптовалютами? * Криптовалюты – это пузырь или нет? 2. Что такое трейдинг и почему Вам, возможно, не надо им заниматься? * Невозможно доказать или опровергнуть существование формализованных правил совершения сделок, которые долгосрочно могут приносить прибыль. * Информационный шум, который провоцирует вас на принятие азартных решений вместо следования своей торговой стратегии. 3. Особенности трейдинга криптовалют. * Возможно, лучшей работающей стратегией является Buy&Hold, но нужно быть готовым к тому, что ждать придется годы. * Есть риск банкротства самой криптовалютной биржи. 4. Автоматизация трейдинга на 1С * Какие ограничения платформы 1С нужно учитывать при разработке торгового робота? * Какие преимущества платформы 1С позволяют реализовывать свои идеи быстро и создавать надежное ПО? 5. Необходимый функционал программы-робота на примере нашей разработки «Криптобот» * Встроенная защита от принятия эмоциональных, необдуманных решений * Конструктор стратегии в пользовательском режиме. * Тестирование на исторических данных. * Широкий спектр поддерживаемых стратегий. * Расширение функционала через добавление своих параметров и удобное добавление новых бирж.

Разбиение адреса на составляющие

Программирование - Практика программирования

Обработка для разбиения адреса на отдельные составляющие.

 

Введенный адрес в единую строку разбивается на такие составляющие, как:

- Область

- Город

- Улица

- Дом

- и т.д.

Код обработки закомментирован. Используются регулярные выражения для обработки информации.
В обработку также встроена функция по интерактивному просмотру работы регулярных выражений.
При вводе регулярного выражения в поле "Шаблон", в поле "Результат выражения" появится результат поиска в исходной строке по введенному регулярному выражению.

 

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

Наименование Файл Версия Размер
Разбиение адреса на составляющие
.epf 11,22Kb
24.09.11
158
.epf 11,22Kb 158 Скачать

См. также

Комментарии
Сортировка: Древо
0. YPermitin 641 24.09.11 14:10 Сейчас в теме
Обработка для разбиения адреса на отдельные составляющие.


Перейти к публикации

1. Boroda 90 24.09.11 18:24 Сейчас в теме
А если не секрет, в чём практический смысл этой обработки? Пример разбиения стороки на подстроки можно получить и из модуля конфигурации, если не полениться туда залезть...
2. YPermitin 641 24.09.11 18:30 Сейчас в теме
Была задача по внесению адреса в БД. Пользователи записывали в таблицу адреса в виде одной строки. Порядок и вид записанного адреса постоянно менялся.

Чтобы разбить адрес на составляющие и корректно занести данные была написана обработка. Это лишь ее часть.
Аналогов в 1С не нашел, которые бы корректно занесли все записи.
3. KliMich 24.09.11 22:29 Сейчас в теме
БД Какая? Самописная или стандартная?
Если БД под 8.2 Управляемое приложение тогда лучше использовать БСП ("Библиотека стандартных подсистем")
Там адрес вводиться по КЛАДРу (Классификатору адресов) Просто и удобно...
4. YPermitin 641 24.09.11 22:53 Сейчас в теме
БД стандартная. Обработка лишь помогает вытаскивать адреса в приемлемый вид для дальнейшего занесения в 1С и т.д.

Насчет КЛАДРа согласен, удобная весчь. =)
5. iov 364 26.09.11 17:12 Сейчас в теме
О вроде то что надо. Осталось придумать как в запросе сформировать отчет по продажам по регионам (нужно вытащить из адреса).
6. Valerich 1657 29.09.11 07:40 Сейчас в теме
Не очень силен в использовании регулярных выражений, поэтому вопрос: что такое "Шаблон регулярного выражения" как пишется и для чего используется? Что такое результат форматирования?

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

Попробовал Вашу обработку и вот что получилось:
Вот пример исходной строки
,02,,,Бекетово,Октябрьская,36,б,
А вот что получилось:

поле "Район" = Крамаскалинский р-н
поле "Дом" = 02
Все остальные поля пустые

Для варианта: Тюменская обл, Нижнетавдинский р-н, Геолог с/т, Лесная ул, дом № 1 б
"Регион" = Тюменская обл
"Район" = Нижнетавдинский
"Дом" = 1 б

остальное пусто

как-то не совсем айс
7. YPermitin 641 29.09.11 08:14 Сейчас в теме
(6) Valerich,
Согласен, не айс =)
Поле "Шаблон" используется для написания регулярных выражений и их последующего тестирования. Вводим рег. выражение в шаблон, данные в исходную строку и в "Результат формитирования" видим что получим в итоге.

Насчет приведенных примеров. Да, он не будет их нормально обрабатывать, ибо там запятые и другие символы, не предусмотренные в рег. выражениях, которые я написал + некоторые другие моменты.

Но, думаю, что добавить изменения в рег. выражения не составит проблем для вашего случая, ведь сразу все предусмотреть невозможно. Помню, что в моей задаче раньше стояло разбить адреса, которые были записаны на подобие: "г. Тюмень, ул Одесская 56, дом 5 корп 6 425252 кв. 76".

Поэтому и ориентировал регулярки для этих примеров.
8. Valerich 1657 29.09.11 12:50 Сейчас в теме
(7) Можете привести какие-нибудь примеры того, что можно вводить в шаблон, чтобы увидеть какой-то эффект, пусть даже на Ваших данных. Просто для понимания как все работает.

И как можно изменить рег выражения, чтобы понять в какую сторону двигаться в моем случае?
9. YPermitin 641 30.09.11 10:01 Сейчас в теме
По регулярным выражениям написаны целые книги. Я бы порекомендовал прочитать две статьи:
Часть 1: http://phpclub.ru/detail/article/regexp_1 И
Часть 2: http://phpclub.ru/detail/article/regexp_2.

Пример приведу на ваших данных. Допустим есть строка ",02,,,Бекетово,Октябрьская,36,б,".
Чтобы вытащить оттуда улицу с номером дома (без букв, чтобы не усложнять пример) сделаем следующее выражение:
Шаблон = "[А-Я][а-я]+(,|)[0-9]{1,3}"
Результат: Октябрьская,36
Принцип работы заключается в поиске по заданным параметрам. В примере первое слово начинается с большой буквы, далее идут символы нижнего регистра в произвольном количестве (для этого поставлен +), потом идет символ запятая, хотя его может и не быть. И в конце вытаскивается номер дома.

Настоятельно рекомендую прочитать две статьи выше. Регулярные выражения могучая вещь. С их помощью ищут любые данные, делают парсеры сайтов и так далее.
Valerich; +1 Ответить
10. graphbuh 171 21.01.12 02:10 Сейчас в теме
Классная вещь! Сейчас сижу именно над такой задачей - распознавания адресов. Думаю, применять можно и в ЗУП для загрузки адресов сотрудников из других (не таких правильных) систем. Интересно, можно же добавить опцию, чтобы по индексу восстанавливать часть адреса, если он задан не полно - на вашей практике часто индекс убивает "правильную часть адреса"???... <Регион, район, город>...
11. YPermitin 641 30.01.12 05:10 Сейчас в теме
(10) graphbuh,
думаю, что можно. Конкретней надо смотреть по тем данным, которые необходимо обработать.
12. flybread 2 03.02.12 08:48 Сейчас в теме
думаю кому-то однозначно поможет.
14. a1ex4ndr 20.07.12 11:09 Сейчас в теме
мне кажется что такими простыми рег вырами: Шаблон = "[А-Я][а-я]+(,|)[0-9]{1,3}" нормально не обработаешь, потому что получается он подходит для одного конкретного случая. Для варианта: Тюменская обл, Нижнетавдинский р-н, Геолог с/т, Лесная ул, дом № 1 б это рег. выр. уже не проканает- потому что номер уже после текстового выражения дом, а не после улицы, в примере и написано что улица не определилась...
18. cool.vlad4 43 16.01.14 19:32 Сейчас в теме
(14) a1ex4ndr, надо понимать, что в общем случае, задача слабо решаема, либо вообще нерешаема. и имхо регулярки не самый лучший способ парсинга слабоструктурированной/неструктурированной информации, но менее трудоемкий и быстрый.
15. Stradivari 139 16.04.13 11:33 Сейчас в теме
Норм, может пригодиться!
16. Yakud3a 24.04.13 19:49 Сейчас в теме
17. Alfer 16.01.14 19:19 Сейчас в теме
пригодилось - доработочка не помешает - займусь на досуге
19. Scottlinch 10 10.08.16 15:38 Сейчас в теме
Вообщем хорошая тема для малоразвитых стран или республик. Недавно занимался подобного рода занятием в ДНР. Мало кто знает что на Украине это вообще огромная проблема по сравнению с Россией. Украина это страна в которой нет КЛАДРА или подобного рода классификатора!!!
Оставьте свое сообщение