[БП 3.0, ЗУП 3.0, УТ 11] Проверка и исправление адресов в контактной информации справочников




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

76 Comments

  1. seermak

    подобное http://infostart.ru/public/303776/ только без муторной загрузки КЛАДРа

    Reply
  2. Alex_E

    (1) seermak, Я и не говорил, что тут что-то уникальное, разница не только в

    только без муторной загрузки КЛАДРа

    (почему муторной не понятно), но и в возможности отбирать обрабатываемые адреса, исправлять не по одному, а списком. В общем то Вас что то задело? Я видел эту обработку, но для моих задач она не подошла, пришлось свою писать.

    Reply
  3. mulla1979

    Полезная штука! Возьму на заметку

    Reply
  4. sikvel2012

    полная загрузка кладра + 2 ГБ к базе, жестко

    Reply
  5. Alex_E

    (4) reznic, Не вздумайте загружать полный 🙂 Если загрузили — срочно очищать — у меня один клиент грузанул, я потом двое суток разбирался, почему обновить не могу — вылет по недостатку памяти… На 2.0 было, но тут возможно такая же хрень, если вдруг реструктуризация регистра случится при обновлении.

    Не грузить нельзя, но и грузить всё — эт перебор 🙂

    Reply
  6. seermak

    (5) вот для того чтобы не было такой хрени я и указал в (1)

    Reply
  7. sikvel2012

    Научите обработку загружать не все отмеченные регионы а только новые не загруженные среди отмеченных цены ей не будет

    Reply
  8. sikvel2012

    (5) эту беду мы проходили, перед обновлением очищает кадр а потом по новой грузит, нужны все регионы

    Сейчас 1с выпустила возможность подключатся к их сайту за адресами, но это посадка на итс

    Reply
  9. Alex_E

    (6) seermak, Уважаемый, по ходу Вы не в теме, я пробовал грузить Вашей обработкой адреса, только они там забиты как получится, и КЛАДР не соответствуют, а такие адреса не берет пенсионный, налоговая и роспьяньнадзор — так что ценность Вашей загрузки для целей сдачи отчетности нулевая. У меня задача стояла другая, и опять таки там нужны были «свежие адреса», а они есть только в КЛАДР.

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

    Reply
  10. Alex_E

    (8) reznic,

    Сейчас 1с выпустила возможность подключатся к их сайту за адресами, но это посадка на итс

    — улыбнуло. ИМХО — продажа любой коробки версии ПРОФ — это подсадка на ИТС. Нет ИТС — нет легальных обновлений, так что …….

    Reply
  11. sikvel2012

    (9) ну достаточнопри загрузке выбирать только нужный регион и грузится только он, но рано ил поздно число регионов приближается к 30 и тут……. обновления не ставятся, тестирование не проходит

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

    Reply
  12. Alex_E

    (11) reznic, О! Возникла мысль — надо будет её продумать… Может быть не грузить КЛАДР вообще, а обращаться к нему в момент ввода адресов и загружать не просто весь регион, а только конкретный адрес, который вводится в текущий момент… Надо подумать, жаль, что сейчас нет на это времени. Сделать то вроде можно, вопрос в том, насколько это будет оправдано — тут или менять типовую, или делать внешнюю обработку заполнения для кучи объектов, где вводится адрес……………

    Reply
  13. sikvel2012

    (12) вот сейчас 1С для этого и предлагает свой веб сервис что бы кладр не грузить

    мне кажется загружать то что нужно из 15 ГБ ФИАС это будет очень долго

    Reply
  14. Alex_E

    (13) reznic, Грузил в ЗУП 3.0, но подробно не смотрел, как сделано. Вообще эта обработка в общем то не для загрузки КЛАДР (загрузку так, паровозом прикрутил, чтобы было с чем сравнивать), а для проверки сохраненных в контактной информации адресов на соответствие регистру адресного классификатора, а вот как будет заполнен регистр для этого не важно. Но посмотреть загрузку с веб сервиса надо будет, может там что то интересное получится выкружить….

    Reply
  15. sikvel2012

    проверять то и типовыми средствами можно, я вот сейчас голову ломаю как с минимальными потерями (в том числе без загрузки ФМАС и траты средств на сторонние сервисы) получать адреса соответствующие ФИАС

    Reply
  16. Alex_E

    (15) reznic,

    проверять то и типовыми средствами можно,

    — хотелось бы слышать какими типовыми, а то я выходит зря время тратил 🙁

    Reply
  17. seermak

    (15) распарсить http://fias.nalog.ru/Public/SearchPage.aspx?Division=2 = там наворочено сильно(((( так что «безумству храбрых поем мы песню»

    (9) по теме: посмотрите вот это: http://www.seermak.ru/products/pp/

    1. Сервис прикручен облачный (это который так не любит reznic))))

    2. сделано и для 8.2/8.3

    3. при проверке стандартными способами (форма ввода контактной информации — Проверить заполнение = «Адрес введен корректно»)

    4. В свете измененной стандартной загрузки не видел чтобы адресные данные можно было получать веб сервисом (13,14), только загрузки с учетом нового закона (может я недопонял/недоувидел сервиса)

    Reply
  18. Alex_E

    (17) seermak,

    при проверке стандартными способами (форма ввода контактной информации — Проверить заполнение = «Адрес введен корректно»)

    — УФФФ, отлегло. Открыть форму, нажать нужный адрес, нажать проверить адрес……эт я в курсе….

    Обработку написал для клиента, у которого по около 15 000 клиентов, как минимум половине которых выписываются квитанции ПД-4, которые отдают с реестрами по индексам на почту (есть договор) для рассылки.

    Оттуда опять (для 2.0 уже было решение, ссылка в публикации, для 3.0 не было) стали приходить пачки бумажек обратно, из-за несоответствия постового индекса адресу доставки. Так что понажимать кнопочку «Проверить адрес» конечно можно, но уж больно хлопотно. Эта обработка, в принципе этим же и занимается, только списком по произвольному отбору, ну и что то может автоматом поправить, в что т придётся ручками понажимать, но как по другому сделать пока не придумал.

    Да, этот метод конечно не идеален, но положение с возвратом квитанций у клиента обработка закрыла полностью….

    Reply
  19. Alex_E

    (17) seermak,

    по теме: посмотрите вот это: http://www.seermak.ru/products/pp/

    — посмотрел, не понял как этот, безусловно интересный метод, решит проблему проверки уже введенных адресов при смене КЛАДР? Он меняется не просто так — одни почтовые отделения закрываются, другие открываются, строят новые дома/улицы — меняться будет всегда, так что проверять актуальность по-любому приходится…

    Reply
  20. sikvel2012

    Вот тут Вы не правы, адрес не зависит от почтовых отделений, индекс тоже не меняется с при закрытии почтового отделения

    Вы истинную проблему озвучьте, пользователи адрес как зря вводят 🙂

    Reply
  21. Alex_E

    (20) reznic,

    Вот тут Вы не правы, адрес не зависит от почтовых отделений, индекс тоже не меняется с при закрытии почтового отделения

    из вики :

    Согласно Федеральному закону Российской Федерации «О почтовой связи» (в редакции от 22.08.2004, № 122-ФЗ), «почтовый индекс — условное цифровое обозначение почтового адреса, присваиваемое объекту почтовой связи».

    https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%87%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D­0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81

    У нас в городе произошло слияние нескольких поселков итп — они стали микрорайонами, закрылось туча почтовых отделений, открылись другие, в КЛАДР внесли новые почтовые индексы (в тот первый раз ходил на почту и там дали свои файлы, которые отдавались куда то, где формируют КЛАДР, и в новой версии КЛАДРа они появились), может я и не прав, но это суровая правда жизни — после той реорганизации первый раз было ещё во времена 2.0 встала проблема исправления адресов, и была написана обработка http://infostart.ru/public/105030/, которая помогла её решить. В середине этого года проблема повторилась, написал вот эту.

    Вы истинную проблему озвучьте, пользователи адрес как зря вводят 🙂

    — истинная проблема — изменение почтовых индексов со временем, а в базе хранятся индексы те, что ввёл пользователь на какой то определённый момент, и это нуждается в корректировке. В случаях, когда не предполагается сдача куда бы то ни было — адреса можно вводить строкой. Если сдавать — вводите через КЛАДР.

    Обработку написал именно для случаев, когда адреса (почтовые индексы) используются сторонними потребителями, так, выяснилось, что проблема адресов стоит ещё у «алкоголиков» — не принимают декларации, где адрес не соответствует КЛАДР — использовал и в этих случаях — помогает. Про пенсионный и налоговую вроде все в курсе.

    Я ответил на вопрос?

    Reply
  22. SemenovaMarinaV

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

    ЗУП 3,0

    Reply
  23. Alex_E

    (22) SemenovaMarinaV, Какой релиз? Кстати в последних релизах там с адресами что то изменено, но ещё не смотрел, может проблема в этом?

    Reply
  24. SemenovaMarinaV

    А сейчас вообще перестала запускаться?

    Reply
  25. Alex_E

    (24) SemenovaMarinaV, Не понял, как перестала?

    Reply
  26. XOCTEP

    Не изменяется тип адреса при выборе справочника «Физические лица». При попытке заполнить как есть выходит ошибка «Метод объекта не обнаружен (ИндексАдреса)». БП 3.0.37.32. Жаль, что не получилось воспользоваться.

    Reply
  27. Alex_E

    (26) XOCTEP, Написано на 3.0.36.17, почти сразу 1с изменила хранение адресов в ИБ, и обработка потеряла актуальность… Сделаю исправления под «новую реальность», но увы не сейчас — есть более горящие задачи….

    Reply
  28. IsiKosta

    тогда убери нерабочую обработку!

    Reply
  29. Alex_E

    (28) IsiKosta, Что ещё мне нужно сделать?

    Reply
  30. twin

    {ВнешняяОбработка.ВнешняяОбработка.МодульОбъекта(472)}: Метод объекта не обнаружен (ИндексАдреса)

    ПравильныйИндекс = АдресныйКлассификатор.ИндексАдреса(НовСтр.Поле2, НовСтр.Поле3, НовСтр.Поле4, НовСтр.Поле5, НовСтр.Поле6, НовСтр.Поле7, НовСтр.Поле8);

    Управление торговлей, редакция 11.1 (11.1.10.173)

    Управление торговлей, редакция 11.2 (11.2.3.143)

    Reply
  31. Alex_E

    (30) twin, Уже писал, что обработка для «ранних» версий управляемых приложений, сейчас формат хранения адреса другой…

    Использовать на последних можно как пример парсинга строки адреса.

    Раз уже второй раз возникает такой вопрос, может быть имееет смысл переделать для нового формата?

    Reply
  32. Alex_E

    (30) twin, Выложил новую версия для работы с ФИАС

    Reply
  33. twin

    (32) она тоже только для ранних версий?

    Reply
  34. Alex_E

    (33) twin, Вообще то последняя писалось на БП 3.0.43.241, о чём написаол в анонсе и описании, работает не по КЛАДР, а с ФИАС, из чего был сдела вывод, что

    она тоже только для ранних версий?

    мне непонятно…

    Reply
  35. twin

    (34)

    Молодец.

    Reply
  36. Alex_E

    (35) twin, угу

    Reply
  37. twin

    Есть возможность сделать совместимость с более ранними платформами?

    Прост не все контрагенты готовы переходить на что-то старше 8.3.5

    1С:Предприятие 8.3 (8.3.8.1747)

    Управление торговлей, редакция 11.1 (11.1.10.173)

    Режим совместимости 8.3.5

    {ВнешняяОбработка.ВнешняяОбработка.Форма.Форма.Форма(938)}: Ошибка при вызове метода контекста (ОткрытьФорму)

    ОткрытьФорму(«ВнешняяОбработка.» + ПолучитьИмяОбработки() + «.Форма.ВводАдреса», ПараметрыОткрытия, ЭтаФорма, , , , ОписаниеОповещения);

    по причине:

    Ошибка инициализации модуля: ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма

    по причине:

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1049,9)}: Процедура или функция с указанным именем не определена (СтрСравнить)

    Если <<?>>СтрСравнить(СтрокаКонтактнойИнформации.ЗначенияПолей, ЗначенияПолей) <> 0 Тогда

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1494,10)}: Процедура или функция с указанным именем не определена (СтрСравнить)

    Если <<?>>СтрСравнить(ЧастьАдреса.Наименование, Контекст.НаселенныйПунктДетально.ПодчиненныйЭлемент.Наименование) = 0 Тогда

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1496,15)}: Процедура или функция с указанным именем не определена (СтрСравнить)

    ИначеЕсли <<?>>СтрСравнить(ЧастьАдреса.Наименование, Контекст.НаселенныйПунктДетально.ДополнительныйЭлемент.Наименование) = 0 Тогда

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1708,24)}: Процедура или функция с указанным именем не определена (СтрНайти)

    Адрес = Сред(Адрес, <<?>>СтрНайти(Адрес, «,») + 1); // удаляем страну

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1774,12)}: Процедура или функция с указанным именем не определена (СтрНайти)

    Позиция = <<?>>СтрНайти(ТекстПоиска, » «);

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1725,10)}: Процедура или функция с указанным именем не определена (СтрНачинаетсяС)

    Если НЕ <<?>>СтрНачинаетсяС(ВРег(Адрес), ВРег(Контекст.Страна)) Тогда

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1872,8)}: Процедура или функция с указанным именем не определена (СтрНачинаетсяС)

    И <<?>>СтрНачинаетсяС(ВРЕГ(Контекст.ПредставлениеАдреса), ВРег(Контекст.Страна)) Тогда

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(1742,39)}: Процедура или функция с указанным именем не определена (СтрЗаканчиваетсяНа)

    Если СтрДлина(НаселенныйПункт) > 2 И <<?>>СтрЗаканчиваетсяНа(НаселенныйПункт, «, «) Тогда

    Reply
  38. Alex_E

    (37) twin, Да фиг его знает, у меня от так

    Reply
  39. twin

    (38) че фиг знает, ты распространитель обработки, можешь сделать поддержку с 8.3.5? :)))

    Ты этими своими новыми строковыми функциями совершенно зря рубишь обратную совместимость.

    Reply
  40. Alex_E

    (39) twin, Вот жеж блин…мне поддержку 8.0 или 7.7 как распространителю тоже в обязаловку? Ежели Вы видите проблему, Вы её решите (честь Вам и хвала) а мне то хафига что-то там обеспечивать?

    Reply
  41. twin

    Ты так и напиши, что тебе впринципе пофиг что ты выкладываешь :))))

    И ответы у тебя какие-то странные. Не хочешь не делай ничего.

    Алсо если забить на проблему режима совместимости и выключить его работая на всём актуальном, то твоя обработка все равно не работает.

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(53)}: Поле объекта не обнаружено (ХранитьИсториюИзменений)

    Если ВидКонтактнойИнформации.ХранитьИсториюИзменений Тогда

    Reply
  42. Alex_E

    (41) twin, Круто, какая платформа и какая конфигурация? Всё равно не работает где и куда?

    Ты так и напиши, что тебе впринципе пофиг что ты выкладываешь :))))

    не мне не пофиг, но просто интересно — у меня работает — у тебя нет, я пишу где и как пробую, ты просто чё-то там пишешь — давай по конструктиву — что у тебя не работает и на чём?

    Reply
  43. twin

    Как-то нелинейно идет тут обсуждение. Переходы от «Нафига мне что-то обеспечивать» к «Давай по конструктиву».

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

    1С:Предприятие 8.3 (8.3.8.1747)

    Управление торговлей, редакция 11.1 (11.1.10.173)

    Режим совместимости отключен.

    Кнопка «Заполнить представление» для выбранной строки

    {ВнешняяОбработка.ВнешняяОбработка.Форма.ВводАдреса.Форма(53)}: Поле объекта не обнаружено (ХранитьИсториюИзменений)

    Если ВидКонтактнойИнформации.ХранитьИсториюИзменений Тогда

    Reply
  44. Alex_E

    (43) twin, Собственно очень сложно обеспечить конструктив, когда ты хочешь чтобы я сделал твои хотелки…в общем то ты свои показал минусом, мне дальше поплясать или куда? Сминуосвал — удачи тебе, твоих публикаций нету, значит ты крут)))))

    Reply
  45. twin

    Какие хотелки? )) Ладно, будь здоров, минус заслужил, потому что не работает на том на чем заявлено и ответы свои почитай.

    Reply
  46. Alex_E

    (45) twin, Заслужил — значит заслужил))))))

    Reply
  47. alextom

    (43) вангую — устаревшая редакция УТ 11. в которой у ВидКонтактнойИнформации нет ХранитьИсториюИзменений . Так ? 🙂

    (46). Спасибо за обработку. Спас.

    Reply
  48. alextom

    Сейчас перевожу клиента на лицензионные БП 3.0 и УТ 11. так вот. Обмен не ЗАРАБОТАЕТ, пока не исправишь КИ.

    Reply
  49. Erne100
    Версия 2.7 Много изменений для «отвязки» от процедур БСП 8.3.11.3034 БП 3.0.60.46

    Где она? Почему-то доступна лишь нерабочая 2.3…

    Reply
  50. Alex_E

    (49) в редакторе была и есть, залил ещё раз, может в прошлый раз что не так сделал… Дайте почту в личку, пришлю новую версию, если была скачана не таю.

    Reply
  51. smooth

    (32)

    Выложил новую версия для работы с ФИАС

    Доброго времени суток.

    Может что не внимательно прочитал, но у меня версия 2.7 не взлетела.

    Ошибка та же: {ВнешняяОбработка.ВнешняяОбработка.МодульОбъекта(536)}: Метод объекта не обнаружен (ТаблицаКлассификатора)

    Классификатор = Справочники.СтраныМира.ТаблицаКлассификатора();

    Запущал на ЗУП 3.1.6.54, платформа 1С:Предприятие 8.3 (8.3.11.2954)

    как починить?

    Reply
  52. Alex_E

    (51) Пишите в личку, посмотрим , например через АА на Вашей базе…

    Reply
  53. IGS_1C

    Просьба для каждой версии обработки прописать версию БСП, на которой она работает.

    В типовых конфигурациях есть регистр сведений Версии подсистем, в котором указывается версия БСП.

    Имея эту информацию, можно будет легко определить, какую версию обработки нужно скачивать.

    Reply
  54. Alex_E

    (53) Может быть Вы правы. Только бы не забыть это сделать…

    Reply
  55. jobkostya1c8

    Очень на взгляд хорошая идея. Я такую же пишу-пишу и все не работает.

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

    Все старые обработки выгрузки-обмена слетели?!

    Сейчас только «АдресныеОбъекты» рег. сведений

    Reply
  56. Alex_E

    (55) В ТЧ КонтактнаяИнформация, в реквизите ЗначенияПолей в формате XML, ЕМНИП

    Reply
  57. jobkostya1c8

    (56)Спасибо. А то много всего в начале года.

    Reply
  58. Alex_E

    (57) Пожалуйста

    Reply
  59. Hla

    Добрый день, Алексей! Будет ли работать ваша обработка в ЗУП 3.1.9. Если да, то какой файл скачивать?

    Reply
  60. Hla

    Добрый день, Алексей! Будет ли работать ваша обработка в ЗУП 3.1.9? Если да, какой файл качать?

    Reply
  61. Alex_E

    (60) Не могу сказать точно не проверял,и сейчас под рукой нет подходящего ЗУП. Если пробовать — то конечно последней версии 3.3, т.к. ЗУП 3.1.9.* почти крайняя версия ЗУП (вчера тестовую 3.1.10* выложили).

    Гарантировать ничего не могу — уже писал — формат хранения адресов никак не устаканится, а отрабатывать все изменения нет возможности (точнее сказать нет заказчика по этой теме, а те, которые есть, оплачивают совсем другие задачи)))) — времени катастрофически не хватает…

    Reply
  62. Hla

    (61) Спасибо за ответ.

    Reply
  63. Alex_E

    (62) Пожалуйста.

    Reply
  64. Hla

    (63) 1С8.3.13.1644 ЗУП 3.1.9.187 обработка работает. 🙂

    Reply
  65. Alex_E

    (64) Значит БСП пока не сменили…

    Reply
  66. ig-efrem

    Я правильно понял из описания, что проверка правильности заполненности адреса зависит от наличия индекса?

    Если это так, то это не верно, индекс может присутствовать правильный, однако адрес все равно не верно разложен. Часто такое происходит из-за обменов или переносов с другими базами.

    Какая функция возвращает результат проверки?

    Reply
  67. Alex_E

    (66) Про функцию — на смотреть код (сейчас не под руками), я не в состоянии помнить все процедуры и функции обработок и пр., что написал.

    Про индекс — правильный индекса при неверно разложеном адресе….ммм — этот как? Если адрес не вписывается в «шаблон», то он, с большой доле вероятности, неправильный, нет?

    Reply
  68. Muha6000

    День добрый.

    Скачал v 3.3. Ошибка при загрузке:

    {ВнешняяОбработка.ВнешняяОбработка.МодульОбъекта(1113)}: Метод объекта не обнаружен (ОписаниеНовойКонтактнойИнформации)

    Адрес = МодульРаботаСАдресамиКлиентСервер.ОписаниеНовойКонтактнойИнформации(Перечисления.ТипыКонтактнойИнформации.Адрес)

    СтандартныеПодсистемы 2.4.6.109

    БухгалтерияПредприятияКОРП 3.0.64.28

    Может погорячился с последней версией? Какой релиз обработки подойдет?

    Reply
  69. Muha6000

    v 2.7

    Ошибка:

    {ВнешняяОбработка.ВнешняяОбработка.МодульОбъекта(536)}: Метод объекта не обнаружен (ТаблицаКлассификатора)

    Классификатор = Справочники.СтраныМира.ТаблицаКлассификатора();

    вроде обсуждалось выше. Как починить?

    Reply
  70. Alex_E

    (69) Разворачивать 3.0.64.28 у себя не вижу смысла, могу посмотреть через АА, что у Вас происходит, но, ИМХО, раз уж хочется что-то делать с адресами и это завязано на БСП, то имеет смысл делать это на текущих версиях конфигурации — иначе получится, что исправления обработки будут одноразовыми…

    У меня потребность в этой обработке возникает периодически (не очень часто),и, практически всегда, приходится адаптировать под случившиеся изменения (не всегда это изменения галактического масштаба, типа перехода с КЛАДР на ФИАС). ОТ первоначального варианта сейчас одни уши остались….

    Reply
  71. Alex_E

    (69) Кстати,3.0.64* это между двумя версиями, последняя на 3.0.66* была, может просто до неё обновить и попробовать?

    Reply
  72. Muha6000

    (71) Согласен.

    Конфа специализированная на базе бухгалтерии, и обновления пока не предвидится. Буду допиливать версию 2.7

    Reply
  73. Re:аниматор

    Скачал версии 2.7 и 3.3 не одна не подошла для УТ 11.4.3.160 .. выдает ошибки нет таких модулей и т.д.

    Reply
  74. Re:аниматор

    Версия 1.8

    {ВнешняяОбработка.ВнешняяОбработка.МодульОбъекта(472)}: Метод объекта не обнаружен (ИндексАдреса)

    ПравильныйИндекс = АдресныйКлассификатор.ИндексАдреса(НовСтр.Поле2, НовСтр.Поле3, НовСтр.Поле4, НовСтр.Поле5, НовСтр.Поле6, НовСтр.Поле7, НовСтр.Поле8);

    Reply
  75. Alex_E

    (74) Давно не смотрел, но,очевидно, опять поменяли работу с КИ, нужно допиливать….сейчас у меня просто физически нет времени…

    Reply
  76. RealSurfer

    (68) версия 3.1 должна работать..

    Reply

Leave a Comment

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