Внимание! В связи с частым обновлением сайта exist.ru обработка потеряла свою актуальность и может быть использована лишь как демонстрация работы с сайтами из 1С или как шаблон для собственного проекта.
Обработка предназначена для облегчения процесса поиска аналогов запчастей на сайте www.exist.ru.
Навеяно этими публикациями:
Пишу что-то подобное впервые в жизни, буду только рад конструктивной критике.
Предоставляемые обработкой преимущества:
1) Все преимущества работы с табличными частями в 1С 8.х могут быть использованы с таблицей запчастей-аналогов (фильтры, сортировка, произвольное изменение состава строк — удаление, перемещение, и прочие действия).
2) Настраиваемый фильтр брендов позволяет ограничить поиск аналогов конкретным списком брендов.
3) Настраиваемая пост-обработка артикулов найденных брендов. Полезно для приведения артикулов к виду, используемому внутри фирмы (добавление приставки, удаление точек и запятых, удаление пробелов).
Порядок работы:
1) При открытии обработки на вкладке «Web» автоматически загружается сайт www.exist.ru. При первом запуске обработки необходимо авторизоваться на сайте, используя свои логин и пароль, иначе сайт в результатах поиска будет скрывать артикулы за символами «*» — это обычное поведение сайта.
2) На вкладке «Поиск» в поле «Артикул» ввести артикул детали, аналоги которой надо найти, после чего нажать кнопку «Поиск». Через некоторое время табличная часть, расположенная ниже, заполнится найденными аналогами. Состав строк будет зависеть от настроек, сделанных на вкладке «Настройки».
3) Результаты поиска можно вывести на печать, используя встроенную в 1С 8.х функциональность — команда «Вывести список» для табличного поля. Также результаты можно выделить (целиком или выборочно) и скопировать в буфер обмена.
4) Вкладка «Настройки» позволяет указать список брендов, которые интересуют, а также указать варианты пост-обработки артикулов найденных аналогов.
Порядок использования и распространения обработки:
Обработку можно распространять, изменять, использовать в личных и коммерческих целях. Единственное требование — обязательное указание автора исходной версии: «//(С) 2012-08-26, Мирончик Павел Николаевич, +7(775)435-22-22, mironchikpavel@gmail.com»
Больше парсеров , разных и нужных !Плюсую !
Файл выложен заново. Я исправил досадную логическую ошибку — нельзя было работать с пустым списком брендов в настройках фильтрации.
Круто, попробуем. Так так же можно для многих полезных сайтов сделать. Целую конфу разработать со списком обработок по сайтам и другими прикалюхами!)
Хорошая задумка. А цену, наличие и срок поставки на форму можно поместить? Чтобы видеть, где выгоднее заказать: у дилера или в exist.
(4) Gawws, работаю над этим
Срок поставки и наличие — это как раз очень важно. Чтобы проанализировать брать со склада в Москве втечении 10-12 дней или быстрее ч/з exist. Там еще картинки к каждой з/ч есть. Если еще и их прикрутить, то вообще песня получится.
Добрый день.
Ни кто не сталкивался с таким, что при выводе ТЗ выскакивает ошибка
{Форма.Форма.Форма(36)}: Ошибка при получении значения атрибута контекста (children)
Для Каждого СтрокаТаблицы Из ТелоТаблицы.children Цикл
по причине:
Произошла исключительная ситуация (0x800a01b6)
При этом подобная проблема только на определенном компе, на другом, тоже с 64 битной семеркой работает всё на ура.
P.S. Я немного изменил обработку, теперь она ищет наличие аналогов в моей базе и подставляет остатки и саму номенклатуру, в соответствующие столбцы.
Отличаются ли версии IE на указанных компьютерах? Если укажете артикул и действия, приводящие к ошибке, то попробую воспроизвести у себя.
(8) brunen9, Вот в том то и дело, что IE 8 одинаковые вплоть до релиза, а артикул любой, и воспроизвести на работающей системе я эту ситуацию не могу.
Только железо разное, 3 компа- два идентичны во всем, на них не работает, 3-й имеет аналогичный софт, но другое железо — работает.
Пойду попробую IE переставить. Отпишусь о результатах.
(8) brunen9, Вы оказались правы, всё оказалось банально и просто, человеческий фактор страшная вещь, народ обновил себе IE, а под 9-ой парсер не работает.
(10) nsm, а версия 1С какая? Только в 8.2.14 добавили поддержку IE9.
(11) brunen9, 8.2.15.294
(10) nsm, Всё-таки дело именно в IE9, а точнее в реализации WebBrowserControl, который используется элементом типа ПолеHTMLДокумента. Решения пока нет, такие же проблемы во всех языках программирования, Microsoft молчит 🙂
Кстати у меня у одного перестал отображаться результат запроса или это какие то изменения на exist.ru? (просто ещё сам не смотрел в чем проблема, нет ТЗ и всё тут)
(14) nsm, Изменения на exist.ru — поменяли id таблиц. Вечером выложу обновление.
Обновление в связи с изменениями на exist.ru
И не большое предложение. Результат выводиться не только по аналогам, но и по заменам, их конечно очень не много, но они есть, а в ТЗ они не попадают.
(17) nsm, Готово, обновляйтесь.
(18) brunen9, Спасибо. Сейчас посмотрю ту часть, что парсит сайт.
Обновление в связи с изменениями на exist.ru, №2
Так дл какой версии 1с?
(21) prefect, в описании указано:
Вы посты набиваете?
УПС НЕ увидел!!!!(22) brunen9,
А как вы определили с какой страницы сайта что грузить?
(24) Makushimo, Исследовал структуру сайта и код страниц, это довольно просто.
(25) brunen9,
Как? если просто, объясните.
Банят быстро?
(26) Makushimo, Задайте конкретный вопрос, пока затрудняюсь ответить.
(27) Зеленоград, Если соблюдать правила пользования сайтом — не банят. Если нет — то сразу.
(29) brunen9,
Например, стоит задача: спарсить некий каталог с сайта, который хранится на разных страницах
неизвестно ни на каких страницах все расположено ни сколько этих страниц. Есть только адрес сайта.
Нужно определиться со структурой сайта. Как это сделать? «Сграбить» его к себе и чем-нибудь расковыривать кишки? или есть какой-нить способ просмотра структуры на лету? может даже в отладчике из 1С?
(30) Makushimo, Для начала должен сказать, что не могу себе представить сайт-каталог без четкой логической структуры. Это же каталог, у него должны быть уровни и некая структура данных, иначе это каша. Так что структуру получить как раз таки легко — достаточно изучить сайт обычным серфингом через браузер. Опять же, не бывает сайтов без навигации, а это значит что есть ссылки или другая возможность перехода на интересующие страницы. Дальше остаётся только изучить, как осуществляется переход на них и разобрать код страниц с целью получить содержащиеся в них данные. Советую изучить код обработки.
Не фунциклирует (((
Табличная часть поиска не заполняется(поле поиска с запрашиваемым номером затемнено), на вкладке web артикул найден
(32) AlexAuto, это закономерно — обработке уже второй год пошел, екзист вполне мог поменять код страниц
Печально ((( просто я увидел, что комменты достаточно свежие и решил глянуть, а тут вон чё … код как то можно поменять в обработке?
(35) AlexAuto, код полностью открыт — можете поправить, чтобы работало. А если вы финансово серьезно настроены — то знаете как со мной связаться.
Если Лев(ЭлементТаблица.innerText, 12) = «ФирмаАртикул» Тогда — уперся в эту строчку ни фига не получается ((( или экзист закрыл от парсинга
(13) вот и у меня те же грабли, блин…
хоть ты на 8.2 переходи.
на IE до 8-го работает, а после — нет.
На самом деле механизм в парсере используется примитивный, в новых проектах я давно отказался от использования ПолеHTMLДокумента.
(37) AlexAuto, экзист перешел на AJAX, поэтому и не работает. А полеXTMLдокумента страшно глючная хрень, как и IE, я тоже перешел на awesomium
(40)А есть ли вариант всё равно его парсить? Как это можно осуществить?
(41) nsm, варианты есть всегда, выше уже предложили один
(42) Я конечно извиняюсь, но ещё раз перечитав все комментарии так и не увидел варианта, если не затруднит ткните пальцем в каком сообщении есть вариант)
(43) nsm, так вот же:
(44) brunen9, Добрый день! Если можно Скиньте на мыло andrei_prorok@mail.ru вашу разработку. Заранее спасибо!
(44) brunen9, И можно Ваши контакты, хотел бы обсудить заказ.?
автору спасибо, нужная вещь, я думаю с помощью неё можно парсить и другие сайты)
у меня такой парсер есть на Python, работает как напрямую с их веб сервисом так просто парсит через html
(48) quick, brunen9, свяжитесь, пожалуйста, со мной по поводу возмездного сотрудничества 9629095 собака gmail точка com . как можно скорее))
вышлите пожалуйста контакты для связи на nit.avto гмаил ком
(1) согласен . информация должна распространяться,
перетекать от одних центров данных к другим.. 🙂
и еще — информация не должна искажаться, так как искажение информации
вызывает социальные и природные катаклизмы.
Так будет продолжение??? Или умерла так умерла….
Обещать ничего не могу, но если и будет продолжение, то не в виде бесплатного продукта.
А кто то говорил про бесплатно??? Дайте две )))
(54) AlexAuto, извините, наверное я не с теми людьми много общаюсь. Все хотят дешево, а лучше вообще бесплатно. Ожидайте. Технология отработана, планы на парсер есть, посмотрим как оно повернется.
Так не работает же.
Останавливается на
Артикул «G012A8GM1» найден в каталогах (2): и надо выбрать каталог.
Не работает -верни $m. (скачай мою)