<?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='\
Здравствуйте! Скажите, пожалуйста, работает ли эта обработка для счета 304.06, т.е. при передаче имущества при реорганизации. И если да, то каким образом будут присваиваться инвентарные номера основным средства, если в организациях нет единого шаблона и вероятность совпадения инвентарных номеров очень велика.
(1) la-stryge, не понял, какие именно проводки и документы Вам нужны? Для инвентарных номеров есть два варианта: 1. Полностью новые согласно шаблону. 2. Можно загрузить со старыми, если будут дубли то к инвентарному номеру добавиться префикс с ошибкой.
(2) здравствуйте! Мне нужна хозяйственная операция «Принятие к учету ОС(МЗ, НПА, НМА) при реорганизации (304.06)» для, в принципе, всех документов по НФА, т.е. для ОС, МЗ, НПА, НМА (например, «Безвозмездное поступление ОС и НМА», «Безвозмездное поступление НПА», «Поступление материалов прочее»). У меня ситуация: 12 учреждений сливаются в одно, т.е. 11 учреждений передают свое имущество 12-му (моему), и заносить все НФА «ручками» не очень хочется. Т.е. мне надо, чтобы на основании документов по выбытию объектов НФА в результате реорганизации в 11 учреждениях, у меня создались документы по их поступлению. Из видео я уже поняла, что счет можно выбрать любой, в т.ч. и счет 304.06, но не очень понятно с ЦМО (если я не выбираю — то перенесутся ли ЦМО изначальной организации) и где на закладке «загрузка НФА» указывать файл, в который выгружаются документы в другой организации (по кнопке внизу формы «загрузить НФА»?). Плюс еще один вопрос, если данная обработка переносит элементы справочника ОС и Номенклатура, то переносит ли она также характеристики ОС?
Не уверена понятно ли написала, но если что — могу уточнить. Заранее спасибо за ответ.
(3) la-stryge, переносятся только ОС и МЗ. НПА и НМА не переносятся. ЦМО переносятся. Выбор файла появляется по кнопке Загрузить НФА. Характеристики ОС не переносятся.
В Учреждении выбытие ОС произведено документом «Списание хоз. инвентаря (колич. учет). Документы «Списание хоз. инвентаря (колич. учет)» и Извещения сформированы вручную. Возможно ли при помощи данной обработки сформировать, на основании этих документов выбытия, документы поступления ОС в другую базу (базу Учреждения -получателя ОС).
(5) k_o_e, да. Выгрузка проходит по документу Извещение. Соответственно добавляете в извещение все нужные документы выбытия и обмениваетесь между базами.
Добрый день!
Подскажите работает ли данная обработка при выгрузке/загрузке данных между базами с разными конфигурациями. Например, типовая БГУ и доработанная БГУ (релиз одинаковый).
Спасибо
(7) Taisss, если изменений в регистрах касающихся ОС нет, то все должно отработать.
Здравствуйте!
Текущий релиз БГУ 42.7 при попытке загрузить НФА выходит ошибка (во вложенных файлах), Обработку приобретали в феврале 2016 г.
Выгружаем из релиза 427, загружаем в старый релиз — всё нормально, правда некоторые ОС задваивает.
(9) Lisa_, запросите обновленную обработку через техподдержку в заказах.
Запросила техподдержку — молчат, а очень надо.
(11) Lisa_, я вам ответил в обращении еще вчера.
Добрый день! Подскажите пожалуйста будет ли работать данная обработка на конфигурации Воинская часть 2.0.57.1 платформа 8.3.9.2170, если нет то сколько будет стоить переделка под данную конфигурацию.
Здравствуйте, подскажите пожалуйста, работает ли данная обработка на релизе БГУ 1.0.47.3?
(14) да, работает.
Здравствуйте имеются 2 предприятия оба на Бухгалтерия государственного учреждения, редакция 1.0 (1.0.48.3) , реорганизованы в 3 предприятие т.е. из 2-х в 1 подойдет ли Ваша обработка для данного случая.
(16) Здравствуйте. Обработка должна подойти. Каким способом передаются НФА?
В источнике безвозмездная передача ОС МЗ при реорганизации на 304.06, в приемнике безвозмездный прием ОС МЗ при реорганизации с 304.06
(18) эта обработка именно для этого и предназначена.
А как бы характеристики перенести сейчас очень много регистров по ОС,
Добрый день! Есть такая же обработка для БГУ2?
(23) нет.
А сделать можете ?
Обработка не проставляет суммы амортизации в документе поступления, и не переносит значения реквизита ОС «Тип НФА». Предлагаю разработчику оперативно доработать, или верните деньги. Потому что результата, ради которого покупал обработку, я не получаю!!!
Как обработка работает на текущих релизах (1.0.58.2, например)? За последние два года было много изменений по учету ОС (новые регистры накопления и сведений в том числе), а дата последнего обновления публикации 28.12.17.
(27) Чуть выше написаны ошибки на текущих релизах (амортизация и реквизит тип нфа). Работы программисту минут на 30.
Для БГУ 2.0 еще не написали?
Добрый день.
Скажите, а выборка ОС делается или только полная передача?
(30) при списании выборки нет, списывается все, но можно вручную сформировать документы и выбрать в обработке извещение по которому требуется передать ОС.