<?php // Полная загрузка сервисных книжек, создан 2025-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='\
понравилось/непонравилось, но достойно
**
название публикации можно бы изменить:
«Бух 77 на 82»
(1) Ну в анонсе то как раз указал про букхгалтерскую заточенность 🙂
Если не трудно, то выложите, пожалуста, обработку загрузки/выгрузки данных с внесенными изменениями
(3) Все изменения которые я вынужден был вносить в код, я описал, также как и методику при которой в код самой конфы влезать не надо, исходя из этого не считаю нужным выкладывать обработку, тем самым нарушая права 1С, они то мне разрешения на енто дело явно не давали и не дадут
Положил тебя(статью) в закладку. 🙂
Какая БП 1.6, 2.0, 3.0 или КОРП?
(5) Ого вы уже 3.0 нашли? Дайте скачать 🙂
А в статье речь идет о переносе в 1.6
P.S. ИМХО зря затеяли перенос на 1.6, при условии, что с нового года обязательно на 2.0 нужно будет переезжать
(6) 😀 Шутка. В 3-4 квартале может появиться. Она только для 8.2 будет, так как в управляемом приложении. Я вчера на курсах первый раз о ней услышал:
(6) А можешь описать, что планируют?
На 2 редакцию пока переходить считаю рановато, ну а на крайний случай, наверное можно будет и обработку перетаскивания документов и остатков сочинить
(5) Релиз 1.6.24.7
На 2 редакцию, как писал выше переходить считаю рановато, все таки он бета пока, вот в следующем году наверное попытаюсь перетащить данные из рабочих баз с 1.6.24.7 релиза ну и с 1С77 тоже
(9)
Во первых статус беты она потеряла еще 1 апреля 2010 года, когда вышла официально, т.е. уже 2 месяца.
Во вторых многие перешли на нее еще в прошлом году, и нормально и год закрыли и до сих пор работают.
Ну а в третьих 2.0 это полный аналог КОРП, который уже не первый год официально продаете.
И на конец финал. 1.6 не будет поддерживать законодательство 2011 года, т.е. в нем не будет реализовано например изменение ставок страховых взносов на 2011 году, а налоги по з/п нужно уже считать в конце января, начале февраля.
Поэтому переход «в следующем году » — будет уже в авральном режиме, потому что будут сильно сроки поджимать
Порядок поддержки редакции 1.6 конфигурации «Бухгалтерия предприятия»
В течение 2010 года в редакции 1.6 конфигурации «Бухгалтерия предприятия» планируется поддерживать ведение учета, изменения законодательства и обновление форм регламентированной отчетности. В 2011 году поддержку редакции 1.6 планируется завершить, пользователям будет предоставлена возможность сформировать бухгалтерскую и налоговую отчетность за 2010 год.
Фирма «1С» рекомендует пользователям конфигурации «Бухгалтерия предприятия» переходить на новую редакцию 2.0.
(с)
(8) БП 3.0 будет полный аналог 2.0, только на УФ, т.е. можно обычным обновлением перейти с 2.0 на 3.0, документы и методология не измениться, измениться только внешний вид. По крайне мере так планируют. Ну и ориентировочно это произойдет во втором полугодии 2010 года. Так что можно подождать и сразу на 3.0 переходить
интересно а проблема возникающая с ручными операциями только в 8.2 или в 8.1 тоже ? если в 8.1 её нет. то я бы сделал перенос в 8.1 и потом просто конвертировал базу в 8.2. намного меньше кликов по моему 🙂
(13) В данном случае ручных операций было по одной на квартал в каждой ИБ, поэтому не стал заморачиваться, а просто отключил проводки…
«Типовой перенос» от 1С — переносит только документы из 77 в операции в 8.2. Это не есть удобно читать бухгалтеру, которая привыкла через документы смотреть на свою деятельность. Есть ли в природе такая обработка, которая переносит документы в документы?
(15) Seven2000, Дело в том, что я своим клиентам советую осуществлять перевод с 77 на 8-х в конце учетного периода, самое лучшее в конце года, тогда в общем то документы не нужны, но если есть необходимость перейти в середине года и необходимо что бы переход был с переносом документов, то поищите специализированные обработки позволяющие перенести документы из 77 в 8-х, они существуют… только остатки в этом случае скорее всего придется сначала занести стандартной обработкой и только потом накатывать документы
(16)
Возникла необходимость в переносе документов за большой период — 2006-2010гг. Поэтому то и нужны документы.