<?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с В последний год начали исправляться иконками, хотя как-то долго. Но вот дизайн 8.2… я ещё не пользовался 8.2, но он уже надоел. Данное обработкой пользуюсь постоянно, поэтому хотелось чего-то другого.
Если что-то не понятно задавайте вопросы
(1) а вообще поллитра нужно закусывать гномским пирогом…хотя это не оттуда, да и закусывать им вредно для зубов. Тогда поллитру нужно употреблять за компанию с Бифуром, Бофуром, Бомбуром, Нори, Глоином, Дори и Ори, а еще с Фигли и Мигли…
(2) Апологеты серого на сером тебя заклевать попытаются. Но не бойся, я с тобой 😉
(4) Не слушай Арчибальда . Он- «зеленый».
Серьезные мужчины используют серое на сером.
И разукрашки не используют.
… anig99 как всегДА фундаментален …. присоединяюсь к Арчибальду в (4) …
… ВОТ …
п.с. хочется заметить что всё таки хотелось бы простых и понятных решений … как пример ВалерычЪ с его :http://infostart.ru/public/16241/ или http://infostart.ru/public/21715/ … и др …
выражаю мнение, что 1С слишком универсальна и вследствии этого неповоротлива … и если идти у неё на поводу то никакой фундаментальности не хватит т.к. «1С много» а «программиста» сопровождающего 1С очень мало … вот …
А что за РабочееМестоМедвеева? Пасхальное яйцо?
А что за РабочееМестоМедведева? Пасхальное яйцо?
(7) Фамилиё моё такое…
Отличная и очень нужная вещь, спасибо! Вчера опробовала, работает (на УПП 1.2.23.2).
Только мне кажется, что при анализе Недосписания партий приходные ордера и так учитываются, если флажок не ставить. Во всяком случае, и с ним, и без него результат один.
(10) По ордерам. В управленческом учете — да, а в бухгалтерском — нет.
По поводу версий…Зависимость от версии УПП только для обработки проведения по учетам.
(11) Тогда все понятно. У нас в УПП вообще документы по бухучету не проводятся, поэтому и разницы нет)))
Два раза пытался скачать — скачивается файл «РАБОЧЕЕ» а что ЭТО — не понятно, как архив система не распознает. как обработку тоже.
Автору: — либо файл поправь, либо укажи какое потом расширение ставить.
(13) глюки у Вас с броузером…
При заливке всегда проверяю. Сейчас ещё раз проверил. Всё нормально качает.
Расширение epf
(14) Качал FireFox. Попробовал IE — cкачал нормально.
Завтра оттестирую дополнение к старому и новый способ проверки счет-фактур. Если всё будет ок, то обновлю.
(0) «Основано наhttp://www.infostart.ru/public/19052/ »
Это 2 разные/параллельные обработки или сабж — это расширение основы, и основа более не нужна?
(18) Нет…Данная обработка выросла из той. Но в связи с большими изменениями в коде, алгоритмах, вызове типовых функций и добавлении нового функционала (ещё несколько скрытых штук недоработано или неоттестировано) вынесено в отдельную обработку с другим названием.
Ошибка при выполнении файловой операции ‘C:Documents and SettingsDSKРабочий столРабочее место Медведева.epf’
по причине:
Неверный формат хранилища данных ‘file://C:/Documents and SettingsDSKРабочий столРабочее место Медведева.epf’
Что это? даже в конфе не открывает
(20) Хз…первый раз такое вижу (: Скорее всего файл не до конца скачался.
для УПП 8.2 будет работать?
Почему во всех периодах устанавливается дата 01.01.2011 — 01.01.2011 ?
(22) это дата ограничения изменения данных. Защита, чтобы случайно не начать проводить не тот период. Можно снять ограничение изменив обработку, или нажать кнопку на панели дополнительно Пароль «Можно менять»
(22) на УПП 8.2 1.3 работает
{Форма.Форма.Форма(1325)}: Значение не является значением объектного типа (Измерения)
Если МетаДанные.НайтиПоПолномуИмени(«РегистрНакопления.»+ИсточникПров).Измерения.Найти(«Организация»)=Неопределено Тогда
(25) Ошибка касается пункта
«Проведение движения конкретного товара». Там есть несколько пунктов в виде переключателей, которые определяют проверяемые регистры. Название регистра хранится в ВыбираемоеЗначение конкретного переключателя.
Скорее всего такая ошибка вылезла при выборе Партии НУ. Там неправильно стоит Выбираемое значение. Должно стоять ПартииТоваровНаСкладахНалоговыйУчет
а что файл уже не активный …. скачиваю просто пустой документ даже расширения нет (((
Очень жаль (((
(28) всё скачивается
(29)
извиняюсь, закачивается….. только без расширения почему???
(30) это вопросы к браузеру.
у меня их три и везде одно и то же (((
пробовал на УПП для Укарины (1.3.12.6). Честно говоря не впечатлило.То ли конфа наша сильно доработана напильником, то ли лыжи не едут.Проверка на отрицательные остатки и еще что-то отработало конечно, но в целом не порадовала.Хотя делать универсальные проверки с нашим каждый день меняющимся законодательством и релизами конфигураций-дело неблагодарное.
(34) serg-wws, присоединяюсь.
Спасибо
Будет ли работать на переписанной УПП 1.2.38.11 ? Сильно писанной, переписанной.
(36) смотря какие изменения. Типовыми механизмами почти не пользуется, только свои запросы к регистрам и обращение к штатным процедурам самих документов.
Большое! Просто ОГРОМНОЕ СПАСИБО! Применил для восстановления по сч.62.01 62.02, бухгалтера просто плачут от счастья. Так как уже были настроены восстанавливать руками с января 2011 (из-за умелых ручек некоторых «недобухгалтеров»)
Спасибо. Очень помогла.
жаль что не для УТ, а так отличная обработка
Спасибо, забрал попользовать, надоело уже свои исправлялки делать!!!
Данная обработка работает для 1.3.39.1?
(42) должна. но не проверял. своя-то версия этой обработки работает.
Так что на счёт УПП 1.3, работает на ней?
(44) должно работать. У меня работает немного другая версия (учитывая доработки), но вызов типовых процедур я не менял и всё, что я обычно использую до сих пор работает (УПП 1.3.42.1)
Скажите, а для УТ нет подобной?
Спасибо автору, интересная обработка.