<?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) На здоровье)
под 11.4 не работает?
(3) пока не проверял)
не работает! на 11.4 ) без напильника!
(5) Подправим)
(5) подправил под 11.4.2)
Управление торговлей, редакция 11 (11.4.2.109) При сопоставлении ошибка!
(8) Прошу прощения, исправлю!
(8) Исправлено в версии 1.0.6
11.4.1.273 ошибка при открытии
(10) А как быть если уже скачали и не работает? а старт мани закончились.
(11)
(12) А не дает повторно бесплатно скачать? Раньше вроде можно было) Отправлю ссылку в личные сообщения
(14)Спасибо
спасибо я понял уже
Добрый день!
Управление торговлей, редакция 11 (11.4.3.126)
При открытии закладки с номенклатурой получаем ошибку
«Обнаружено дублирование ключевых значений в поле Ссылка»
Добрый день!
Есть движения по данному вопросу?
(18) Здравствуйте! Данная ошибка возникает в случае «двойных» сопоставлений. Пока ищу пути изменения запросов динамических списков. Запросы были составлены по мотивам 1С:Розница, в которой также наблюдается данная ошибка…
Спасибо за подсказку! Перепроверим номенклатуру на сопоставление.
При открытии закладки с номенклатурой получаем ошибку
«Обнаружено дублирование ключевых значений в поле Ссылка»
РегистрационныеДанные.Вставить(«БезопасныйРежим» , Истина);
РегистрационныеДанные.Вставить(«Версия» , «1.0.7»);
РегистрационныеДанные.Вставить(«Вид» , «ДополнительнаяОбработка»);
РегистрационныеДанные.Вставить(«Информация» , «Сопоставление классификаторов ЕГАИС»);
куда копать в шапке вроде объявлено что проблема ре шина
Обновление 1.0.7 от 29 августа 2018 года: обработка обновлена для случаев множественных сопоставлений
🙂
Ладно как всегда покупаешь одно потом засучиваешь рукова и справляешь
тем кто купил и хочет исправить подскажу идею
1. Нужно исправить запрос по таблице «Номенклатура» в части поиска ответа на сопоставлен ли товар или нет
Показать
2. вывести на форму еще одну динамическую таблицу которая будет показывать регистр
«РегистрСведений.СоответствиеНоменклатурыЕГАИС»
ну и прописать событие НоменклатураПриАктивизацииСтроки
Показать
где «СопНомЕГАИС» есть динамический список по регистру сведений «СоответствиеНоменклатурыЕГАИС»
Доброго дня! У вас есть инструкция по работе с данной обработкой?
Добрый день! У нас при попытке открыть уже сопоставленные объекты, выдает такую ошибку. Обнаружено дублирование ключевых значений в колонках: «Ссылка». Отображение данных в списке невозможно.
(24)
(21) Возможно на новых релизах что-то переделали, буду исправлять. Прошу прощения за задержку
а возникла еще одна проблема но я е нашел вариантов решения
суть в том что раньше все слали алкоголь и не указывали «единицу измерения»
соответственно ваша обработка тоже не прописывает в ее да и нет ее в тех данных что она обрабатывает
так как единица есть только Документе
обходной вариант нашел
1. с начало грубо того что нет вашей обработкой
2. потом штатным согласование из документа и там уже по согласованным позициям изменяю в регистресведений «единицу измерения»
но хотелось бы штатно типа выбрать документ егаис и по нему уже согласовывать тогда можно в левую часть добавить единицу измерения
(25) Ждём обновление.
а модно поучаствовавшим скинуть за идеи и замечания новую обработку opus70 @ gmail . com
добрый день
напишите пожалуйста в личку или на почту devyadg @ ya. ru
вопрос по обработке
Управление торговлей, редакция 11 (11.4.6.207)
кнопка отменить сопоставление организаций не работает
кнопка отменить сопоставление Номенклатуры выдает ошибку
Поле объекта не обнаружено (Номенклатура)
Добрый день! Под последнюю версию УТ 11 будет обновление? Очень ждём! Спасибо!
(31) Здравствуйте! Проверил на версии 11.4.9.82 — вроде ошибок не обнаружил.