<?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='\
На версии 3.1.8.155 при добавлении при выборе сотрудника вручную для реестра в банк выдает ошибку {(5, 2)}: Таблица не найдена «РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.СрезПоследних»
<<?>>РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.СрезПоследних КАК ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.СрезПоследних
(1)Исправлю в течении дня. Я на этой версии её не тестировал. обновлюсь и поправлю
(1)Исправлено
Добрый день.
На ЗУП 3.1.8.155.
Вылезла ошибка при добавлении сотрудника вручную на закладке «Реестр на выпуск банковских карт».
Ошибки:
———————————————————————————
16.11.2018 12:15:26
{ВнешняяОбработка.МодульОбменаСБанком_ЗУП318.Форма.Форма.Форма(4735)}: Метод объекта не обнаружен (СведенияОбАдресеВВидеСтруктуры)
АдресРФРасширенный = Обработки.РасширенныйВводКонтактнойИнформации.СведенияОбАдресеВВидеСтруктуры(КонтактныеДанные.ЗначенияПолей,); // Роман +
(4)
Исправлено
(4) Напишите емайл, скину исправленную
Добрый День ЗКГУ 3.1 (3.1.8.155)
ошибка при добавлении сотрудника на выпуск банковских карт
{ОбщийМодуль.УправлениеКонтактнойИнформациейСлужебный.Модуль(1297)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
Если НЕ ЗначениеЗаполнено(Адрес) Тогда
по причине:
Проверка мутабельных значений на заполненность не поддерживается
(7)завтра посмотрю. Но на этой конфигурации не пробовал работу.
(7) У меня не получилось повторить этой ошибки. В каком формате вы вводите адрес у физ.лица?
Я немного усовершенствовал блок получения и обработки адреса. Напишите почту, вышлю новую версию обработки. Попробуйте её
(9)lys1990@mail.ru
(7)
по причине:
Адрес_по_документу нужно использовать, а вот с ошибкой {(5, 2)}: Таблица не найдена «РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.СрезПоследних»
<<?>>РегистрСведений.ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам.СрезПоследних КАК срезПоследних
я так и не справился, почему нет доступа к регистру сведений не пойму????
Добрый день! выдает ошибку {ОбщийМодуль.УправлениеКонтактнойИнформациейСлужебный.Модуль(1297)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено)
Если НЕ ЗначениеЗаполнено(Адрес) Тогда
по причине:
Проверка мутабельных значений на заполненность не поддерживается
текущий релиз зуп 3.1 (3.1.8.155), внешняя обработка ExchangeModule_HRM313_20171009
(13) Возможно у вас старая версия обработки.
(12) У вас также старая версия обработки. В одном из релизов 1С убрали признак периодический у регистра сведений «ЛицевыеСчетаСотрудниковПоЗарплатнымПроектам» таким образом СрезПоследних не применимо к данному регистру.
Добрый день!
ЗКГУ 3.1 (3.1.9.159),
ошибка при добавлении сотрудника на выпуск банковских карт:
Проверка мутабельных значений на заполненность не поддерживается.
Добрый день!
ЗКГУ 3.1 (3.1.9.159),
ошибка при добавлении сотрудника на выпуск банковских карт:
Проверка мутабельных значений на заполненность не поддерживается.
(17) Обработка под данный релиз пока не переделывалась.
Под камин 5 наш ВТБ дает обработку где адрес XDTO, а проверка стоит на значениезаполнено. Вы переделывали ее? Я немного перестрагал ее, чтобы реестр на выпуск карт сдулать.
Добрый день коллеги подскажите банк ВТБ совсем не поддерживает обработку обмена с банком?
(20)Бывают выходят версии обработки, но редко. И не всех устраивает как они работают. Лучше в банк обратиться и спросить о наличии новых обработок
ЗКГУ 3.1.11.106
Ошибка при добавлении сотрудника на выпуск банковских карт
Метод объекта не обнаружен (СтрокаJSONВСтруктуру)
(23)
Я не гарантировал работу на ЗКГУ. Там другое расположение экспортных процедур.
ЗУП 3.1.11.106
Та же ошибка при добавлении сотрудника на выпуск карт. Возникает сразу после введения адреса. То есть при вводе нового сотрудника он добавляется, но только до тех пор, пока не заполнен адрес в личных данных.
Метод объекта не обнаружен (СтрокаJSONВСтруктуру)