<?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) maxim4566, номер релиза напишите, пожалуйста
(1) maxim4566, Бухгалтерия предприятия, редакция 3.0 (3.0.42.73) — последняя доступная версия на 11.11.15. Обработка работает
Я прошу прощения не туда коммент записал. Он к вам не относиться.
Обработка работает.
Но не заполняет адреса. Если после вашей обработки зайти в контрагента то там адрес (Что юр. что факт.) будет пуст. Если нажать на кнопку в самой карточке контрагента «Заполнить по ИНН» то адреса заполняются. Исправьте пожалуйста.
Релиз 3,0,42,46 (8,3,6,2390)
где взять «последняя доступная версия на 11.11.15» тут от 30,10,15
(4) maxim4566, исправил
Последнюю версию бухгалтерии предприятия можно скачатьотсюда
(5)
Обновил конфигурацию до релиза 42,74 результат прежний:
Адреса не заполняет ваша обработка
Спасибо автору за обновленную обработку.
В последней версии обработки на релизе Бухгалтерия предприятия 3,0,42,74 все работает корректно.
Добрый день!
Управление торговлей, редакция 11.1 (11.1.10.180)
Добавил в обработки указал раздел не появляется в разделе, почему может быть?
Можно ли открыть другим способом?
Добрый день! А для Бух 2.0 есть такая обработка?
(9)
Здравствуйте! Пока нет, в планах есть сделать обработку и под обычные формы, в том числе и для БП 2.0
Доброго времени суток!
УПП 1.3.92.2
{ВнешняяОбработка.ЗаполниеКонтрагентовПоИНН.МодульОбъекта}: Переменная не определена (ДанныеЕдиныхГосРеестров)
(11)
Добавил обработку с поддержкой обычных форм (УПП 1.3). Подробнее в ЛС
вот такая картина в 1с упп 1.3.93.1http://clip2net.com/s/3NgB1F1
и по обоим ссылкам одинаковые обработки!
Не работает (1С:Предприятие 8.3 (8.3.10.2252), УПП 1.3.96.1, )
{ВнешняяОбработка.ЗаполниеКонтрагентовПоИНН.МодульОбъекта}: Переменная не определена (ДанныеЕдиныхГосРеестров)
Добры день, а будет ли работать обработка на УТ 10.3?
Добрый день. При нажатии кнопки «Заполнить данные» появляется ошибка ({ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(144)}: Некорректное значение параметра «ДополнительнаяОбработкаСсылка»:
Передан тип «Строка», ожидался «Дополнительный отчет или обработка».
ВызватьИсключение ТекстОшибки;)
1С Управление торговлей 11 релиз (11.2.3.202) платформа 8.3.10.2580
(15)
На типовой версии УПП 1.3.96.1 обработка работает
(17)
Здравствуйте! Протестировал на
Управление торговлей, редакция 11.2 (11.2.3.202) (http://v8.1c.ru/trade/)
http://www.1c.ru)
Copyright © ООО «1C-Софт», 2003-2016. Все права защищены
(
1С:Предприятие 8.3 (8.3.10.2580)
Добавляли обработку как дополнительную?
(16) напишите свою версию УТ. Скажу точнее
Не работает обработка!!!
{ВнешняяОбработка.ЗаполниеКонтрагентовПоИНН.МодульОбъекта(119,26)}: Переменная не определена (ДанныеЕдиныхГосРеестров)
(21)
Напишите, пожалуйста, конфигурацию и версию
На КА 1.1 не работает.
В обычной форме нет кнопки ОБновить, проверка не работает, так как в Контрагентах поля Загружать нет.
В управляемой+обычная в КА 1.1 ошибк
{ВнешняяОбработка.ЗаполниеКонтрагентовПоИНН.МодульОбъекта}: Переменная не определена (ДанныеЕдиныхГосРеестров)
а
Продаете за 5 и 8 стартмани (175 и 280 руб), а код закрыт.
(23)
Здравствуйте! Видимо у вас была очень старая версия БСП, где еще не было этого модуля. Исправил обработку: перенес функционал модуля ДанныеЕдиныхГосРеестров в модуль обработки чтобы она могла работать и со старыми версиями БСП 1