<?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С.
Сохраняем в макет .mxl и штатной командой «Сравнить файлы» открываем оба файла.
Если все-таки такой команды в меню файл нет, то можно скачать бесплатную 1С: Работа с файлами.
Там она точно есть, и этой программой часто даже удобней пользоваться, чем встроенным в конфу сравнением.
(1)Антон, Здравствуйте. Согласны с Вами, что можно и в excel сделать и другими способами, а можно и «крыжи» на бумаге ставить) Данная обработка упрощает и ускоряет процесс — для этого и существует автоматизация! Оставьте , пожалуйста, у нас заявку на сайте и мы пришлём Вам нашу обработку «Крыжилка» — сможете сами протестить!
Уже и не странно, что последние три отзыва от пользователей, которые были зарегистрированы только в момент написания сообщения. Дешевая реклама уже и на инфостарте 🙂
Раз пошла такая пьянка — режь последний огурец.
Комментарии к публикациям. Кратчайшие сроки
Хайпонул;)
Этими отзывами они сделали себе только сильную антирекламу…
(6) (7) (8)
Всем Добрый день. А что плохого в том, что мы просим наших пользователей (например, даже не с инфостара) приходить сюда и писать отзывы, если они нам устно выразили благодарность?
Скачайте сами и попробуйте — это же бесплатно)
И напишите свой отзыв……
(7)
Здравствуйте. Будем рады видеть Вас среди наших пользователей! И получить от Вас отзыв)
(8) Здравствуйте. Можем прислать Вам лично на почту обработку «Крыжилка» и получить от Вас отзыв! Даже антирекламный, но справедливый)
Актуальность делается обменом, а не сверками.
И он, обмен, есть в каждой типовой. Фундаментальный механизм 1с.
Что вы собираетесь делать вручную и зачем?
Заход с юзерами защитан, тут ещё так не пробовали.
(9)
Выглядят они так, как будто написаны вами. Как открывается реклама плана «Обыграй казино вулкан, рабочая стратегия» и там фейкоотзывы. Вот здесь эти отзывы выглядят так же фальшиво восторженно.
(12)
И он, обмен, есть в каждой типовой. Фундаментальный механизм 1с.
Что вы собираетесь делать вручную и зачем?
Заход с юзерами защитан, тут ещё так не пробовали.
Здравствуйте. По многолетнему опыту выявлено, что после обмена данные могут расходиться по нескольким причинам:
1. исправления данных «задним числом»,
2. технические ошибки баз данных,
3. перенос не всех данных и т.д.
Поэтому к нам неоднократно обращались бухгалтера с просьбой написать обработку по автоматическому сравнению данных и выявлению расхождений. Так и появилась наша Бухгалтерская «Крыжилка»
(14)
2. технические ошибки баз данных,
3. перенос не всех данных и т.д.
Вот какой у вас «многолетний» опыт.
Интересно, 1с в курсе что у них оказывается много лет не все переноситься..
Особенно, «задним» числом 🙂
«злоупотребление доверием» у 159ой УК РФ подходит или нет? Как думаете?
Займитесь лучше распространением акций Илона Маска, он вне юрисдиксции РФ и тут есть много в него верующих.
(12) А каким образом Вы еще сможете понять все ли у вас перенеслось как положено из одной базы в другую как не сверкой различных чисел между ними?
И почему Вы рассматриваете только типовые конфигурации (в которых собственно могут модифицироваться правила обмена)?
(16)
особенно хорошо крыжить вашей штукой 1сные базы во время обмена, никогда не будет скучных одних и тех же цифр.
акции, Алексей, лучше. 1с — скучно.
В них точно нельзя ничего понять, пока не прокрыжишь котировки за период. И верующие аналитики всегда интересно мочат.
Читали про билеты на ракеты?
(17)
Эта штука не моя, я к ее разработке отношения не имею.
Почему именно во время обмена, после обмена (после закрытия периода) сверять данные между базами религия не позволяет?
Какой именно способ предлагаете Вы использовать, чтобы дать ответ на вопрос полноты (корректности) переноса набора данных из одной базы-источника в другую базу-приемник?
Причем здесь вообще ракеты?
«Просто не хочется, чтобы ИС превращался в хранилище велосипедов»
Кто же это написал?
Просто «крыжить» данные послепередсзадисбоку обмена 1С софтом о котором вы не имеете никакого представления, это хуже по деньгам чем участвовать в затеях Илона Маска с ракетами.
К тому же весело, что вы форсите эту лажу не имея представления как работает обмен данными у 1С и почему он именно такой. Например, он такой чтобы не надо ничего «крыжить».
Но в целом смешно получается.
(19) Эта софтина предлагается за 1 СМ, если это считать деньгами, то да, есть риск неправильного вложения денег 😉
Многие разработки на ИС не имеют полноценных описаний функционала и принципа работы (ведь они практически бесплатны), тем не менее ими пользуются многие, если есть сомнения по поводу их безопасности — никто не запрещает залезть в их внутренности.
Просветите меня как же именно работает обмен данными у 1С? При этом что конкретно Вы подразумеваете под 1С, я так и не понял (платформу, конфигурацию, механизм).
p.s. И откуда Вы можете знать о чем я имею представление, а о чем нет — Вы меня собеседовали или принимали экзамен?
И это после «15 лет работы», про которые говорит КейСофт на своей страничке.
Предлагается сесть на мелкую бессрочную абонентку, судя по странице сайта.
Это кто писал: «каким образом Вы еще сможете понять все ли у вас перенеслось как положено из одной базы в другую как не сверкой различных чисел между ними»
«Эта штука не моя, я к ее разработке отношения не имею»
Мне вот понятно к чему вы имеете отношение и это не обмены какими-то там данными.
FOFF
(21)
Я никакого отношения к «КейСофт» не имею и не работаю в этой компании, я задал Вам вопрос лично от себя, а не от имени «КейСофт», можете просто обстрагироваться от него и ответить конкретикой на мой вопрос, а не расплывчатыми фразами?
Так как же все таки работают обмены 1С, раскроете секрет? Есть что сказать по существу моего вопроса, а не отписываться фразами типа «это все делается по-другому, но как я не скажу»?
(22)я вам ничего не должен, и что вы там не понимаете мне не интересно.
Задайте вопрос про неактуальность данных после обмена в партнёрской конференции вендора, узнаете много нового старого.
FOFF
(23) БОльшего я и не ожидал, если Вам сказать от себя больше нечего, то считаю, что беседу можно считать завершенной.
(6) И аккаунты разработчика — user800782 и «воссторженных» клиентов — user834540, user835126, user835348 сильно смахивают на авторегистрации, потому как нормальный человек, который регистрируется на сайте осознанно, при первом входе сменит стандартный ник userxxxxxx на что нибудь осмысленное.
Ну да ладно, сам по себе такой ник не криминал, но когда все они всплывают в одной теме и все, как под копирку, выражают щенячий восторг — ну «не верю!» и все тут.
Господа разработчики, ну действуйте умнее, здесь же не хомячки офисные сидят, а технически грамотные люди и ваши потуги ничего кроме брезгливой усмешки не вызывают.
(14) По «многолетнему опыту» могу сказать, что единственное применение «крыжилке» я вижу только тогда, когда «неожиданно» поплыли обороты и надо быстро выяснить «кто это сделал». Тогда быстро сравнивается два отчета из текущей базы и правильного бекапа, но это прекрасно делается штатным сравнением файлов.
А вот после этого обязательно следуют «оргвыводы» и второй раз потребность в «крыжилке» обычно не возникает. Потому как такая ситуация — это прямое следствие криворукости бухгалтеров, которые пытаются подгонять задачу под ответ исправлениями задним числом и т.п. «хитрыми» методами.
А есть ли описание, на чем основан механизм обработки? Порядок действий и т.п. Видео абсолютно неинформативно.
Скачал. Запустил. Законнектил базы. Спрашивает правила обмена. Базы нетиповые. Что дальше?
Сам лично использую стандартное сравнение файлов.
УТ 11.1, платформа 8.3.9: крыжилка не запускается.
(25) а я при регистрации «промахнулась» с ником(( жутко обидно. Я так понимаю, что исправить уже низзя, да? Вопрос, скорее, риторический 🙂
а про брезгливую усмешку понравилось — в точку!
(28)
Здравствуйте. Написал Вам в личку.
(29)Можно, попроси этих поддержку. Мне помогли.
(29)Ирина, Здравствуйте. Написал Вам в личку
Похоже на бесконечную отнималку денег, судя по одному из скриншотов. Интересно какова стоимость 10 запросов? Она может меняться со временем?
(33)Здравствуйте. По оплате ситуация будет следующая: от 300 до 500 р./месяц абонентская плата в зависимости от периода оплаты. Это включает в себя сверку 2-х баз по всем существующим на данный момент правилам в нашей обработки. Так же правила постоянно обновляются по потребностям пользователей.
(34)Так же количество запросов в рамках выбранных двух баз не ограничено.
(3)А как так получилось, что опыт бухгалтерский есть, а опыта пользовательского нет? Вы на счетах раньше считали?