<?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='\
Еще бы для 1С Документооборот сделали…
В ДО 2.0 будет …
(2) agroeco, Не пробовал, структура схожая может и заработает.Попробуй если релиз последний то должен быть регистр сведений «ПараметрыИнтернетПоддержкиПользователей» если нет прописать логин и пас аналогично в коде, аналогично как описано по УТ. Если не получится то, возможно механизм обработки результата загрузки из ЕГРЮЛА придется адаптировать.
Юр. адрес для БП 2.0 переносит не корректно, не заполняет по кладр.
а для УТ 10.3 пойдет или у него есть отдельная ?
Адрес загружается не в формате КЛАДР, в остальном работает.
(3)
Открываю БП2 Перезаполнение и выдают вот это.
{ВнешняяОбработка.ЗагрузитьРеквизитыКонтрагентаПоИНН.МодульОбъекта(22,4)}: Процедура или функция с указанным именем не определена (ПоказатьПредупреждение)
<<?>>ПоказатьПредупреждение(, НСтр(«ru=’Реквизиты обособленных подразделений заполняются вручную.'»));
{ВнешняяОбработка.ЗагрузитьРеквизитыКонтрагентаПоИНН.МодульОбъекта(25,4)}: Процедура или функция с указанным именем не определена (ПоказатьПредупреждение)
<<?>>ПоказатьПредупреждение(, НСтр(«ru=’Поле «»ИНН»» не заполнено'»));
(0)
Вырезано из БП3?
Еще проще из БП3 перенести.
(3)
Короче не знаю что к чему, вообще не разбираюсь в этих темах, никогда в конфигуратор не заходил. В общем заскочил туда щас и в этом, скажем так коде, удалил вот это :
{ВнешняяОбработка.ЗагрузитьРеквизитыКонтрагентаПоИНН.МодульОбъекта(22,4)}: Процедура или функция с указанным именем не определена (ПоказатьПредупреждение)
<<?>>ПоказатьПредупреждение(, НСтр(«ru=’Реквизиты обособленных подразделений заполняются вручную.'»));
{ВнешняяОбработка.ЗагрузитьРеквизитыКонтрагентаПоИНН.МодульОбъекта(25,4)}: Процедура или функция с указанным именем не определена (ПоказатьПредупреждение)
<<?>>ПоказатьПредупреждение(, НСтр(«ru=’Поле «»ИНН»» не заполнено'»));
Сохранил и при открытии все норм и вроде он все заполнил, я даже не сделал резервную копию базы))) Будем уповать на Бога что все норм сделал)))))
Страшно то как)
(9) Ragnar,
Т.е. что у вас ключевая функция не отработала — вас не смущает?
(9) Ragnar, Добрый день. Какой релиз конфигурации?
(8) AlexO, Да сделано на базе БП 3.0
(10) AlexO,
не знаю что там заработало или нет, но в результате наименование контрагентов и их адреса он подправил))
(11)
(11)
1С Бухгалтерия 2.0, нормер Релиза не помню щас, не на работе щас, но знаю что последний релиз, обновлял пару дней назад.
(12)
Бухгалтерия предприятия, редакция 2.0 (2.0.64.27)
Вот.
(16) Ragnar, (16) Ragnar, ок спс, гляну, что за ошибка на этом релизе.
(17)
Бро, отпишись потом если исправишь) снова скачаю.
(17) Есть какие нибудь новости на счет этой ошибки?
ЗагрузитьПоИНН_БП20.epf — сырая обработка. На последнем релизе БП 2.0.64.41 — несколько ошибок.
— Во-первых ПоказатьПредупреждение(, НСтр(«ru=’Поле «»ИНН»» не заполнено'»)) — нет такой процедуры в БП 2, пришлось заменить на стандартное предупреждение.
— Во-вторых, при попытке заполнить индивидуального предпринимателя — не находит перечисление «ПолФизическихЛиц» и выкидывает ошибку.
— В третьих после заполнения реквизитов юридического лица — не обновляются на форме элемента юридический адрес и телефон, хотя в регистр сведений записываются.
Все пришлось допиливать вручную.
(20) doronin70,Ну конечно, писалась 15.03.2015, конечно там был старый релиз. Думаю адаптировать под новый релиз дело 10 мин.
А самое главное уметь время отвечать на комментарии 🙂
Добавил обработку во внешние печатные формы (правда, к справочнику Контрагенты она не привязывается). Непонятно, как ей пользоваться .
(22) zels, прочитайте внимательно описание, если правильно все прикрепили должна появиться кнопка заполнить сверху в форме элемента в спр контрагенты, это для УТ11, для БП 2.0 прикрепляется как внешняя печатная форма — печать — заполнить по ИНН.
1. Оказывается, прикрепление через добавление строки не работает. Только через подбор.
2. При печати по ИНН требует, чтобы сначала записали, а записывать без имени не хочет.
3. Адреса не заполняет.
ИНН 8911019956:
http://ws.orgregister.company1c.com/ }:RequisitesWebServiceEndpointImplService:getCorporationRequisitesByINN()
{Форма.Форма.Форма(588)}: Ошибка при вызове метода контекста (getCorporationRequisitesByINN)
Ответ = Прокси.getCorporationRequisitesByINN(ВходныеПараметры);
по причине:
Ошибка вызова операции сервиса: {
по причине:
Неверный формат.
Управление торговлей, редакция 11.1 (11.1.10.145) (http://v8.1c.ru/trade/)
http://www.1c.ru)
Copyright © ООО «1C», 2003-2015. Все права защищены
(
Для какой платформы обработки? 8.2? 8.3?
Прошу вернуть 1 стартмани, ваша обработка не рабочая.!!!!
(27) Она не может работать на всех релизах и на всех версиях БСП! Возможно вы не все сделали по инструкции!
(28)Ой даже и не знаю. Логин и пароль прописал во внешние печ. формы добавил. . Релиз БП последний и платформа 8,3,9. что еще надо было настроить?
Скачал заполнение для БП 2.0, не работает.
https://api.orgregister.1c.ru/orgregister/v7?wsdl See details at https://portal.1c.ru/download/public/instruction/OLD_Data_1C-Contragent.pdf
503 — Service Unavailable. Please, use new web service
таже фигня что и в (30)
у меня работает все сделал по интрукции
Бухгалтерия предприятия, редакция 2.0 (2.0.66.38)
При создании описания сервиса произошла ошибка. URL сервиса:https://api.orgregister.1c.ru/orgregister/v2?wsdl
Код ответа сервера: 500
ЗагрузитьПоИНН_БП20.epf — не работает
Не работает
https://api.orgregister.1c.ru/orgregister/v7?wsdl See details at https://portal.1c.ru/download/public/instruction/OLD_Data_1C-Contragent.pdf ]]></faultstring>
Ошибка при получении файла с сервера api.orgregister.1c.ru:
{ОбщийМодуль.ПолучениеФайловИзИнтернетаКлиентСервер.Модуль(359)}: Ошибка при вызове метода контекста (Получить)
Соединение.Получить(ПутьКФайлуНаСервере, ПутьДляСохранения);
по причине:
Ошибка при выполнении файловой операции ‘orgregister/v1?wsdl’
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500). <soap:Envelope xmlns:soap=»http://schemas.xmlsoap.org/soap/envelope/»>
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring><![CDATA[503 — Service Unavailable. Please, use new web service
</soap:Fault>
</soap:Body>
</soap:Envelope>
по причине:
Ошибка работы с Интернет: внутренняя ошибка сервера (500)
Сервис сменился судя оп ответу сервера.
Бухгалтерия предприятия, редакция 2.0 (2.0.66.39) — добавил и как внешнюю обработку, и как печатную форму… не работает!!((( зря потрачен стартмани ((((
Новая версия обработки пока в разработке.
(37) Когда планируется завершение доработки?
Честно — не знаю здешних правил. Поэтому, если автор обработки разрешит — могу написать какие три строки в обработке изменить чтобы заработало.
(39)насколько я в курсе не возбраняется подобное, но можно и в личку отправить, буду благодарен, т.к. автор не спешит исправить.
Добрый день, если есть желание то можете поправить. Я переделываю обработки на расширение на БСП.
Мне на БП2.0 помогло следущее —
В модуле объекта обработки ищешь три значения:
«RequisitesWebServiceEndpointImpl2Service»
«RequisitesWebServiceEndpointImpl2Port»
«https://api.orgregister.1c.ru/orgregister/v2?wsdl»
Меняешь в них цифру 2 на 7 и все. Сохраняешь, перерегестрируешь обработку и должно взлететь.
У меня взлетело после перезагрузки базы.
БП 2.0.66.46. После правки 2 на 7, отключение пола физ.лица и ОГРНИП стала заполнять наименование, и Юридический адрес… Маловато будет
А остальное в БП 20 в Контрагентах и писать нечего…
Прошу вернуть 2 стартмани, ваши обработки не рабочии.!!!!
Здравствуйте, у меня перестала работать ваша обработка Бухгалтерия предприятия, редакция 2.0 (2.0.66.84) (http://v8.1c.ru/buhv8/)
http://www.1c.ru) . Как ее исправить?
Copyright (С) ООО «1C-Софт», 2009 — 2019. Все права защищены
(