<?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='\
Имею склонность поставить плюс. И не хочу бороться с этой склонностью, ибо я гораздо сильнее 😎
Боишься пинков — не лезь в авторы.
«Прошу сильно не пинать» — фраза аутсайдера .
(2) Я не люблю словесных баталий ни о чем. «Прошу сильно не пинать — первый раз все-таки» — перефразировать на «Укажите какие правила нарушил»?
А пинков боятся — в авторы не лезть, я ж вроде вылез…Туше? 🙂
(3) Туше будет после появления в теме фразы «Попробуй пни !»
К сожалению инвентаризации остатков для проверки переноса недостаточно. Инвентаризация показывает ситуацию по счетам, а по регистрам нет. А вы уверены, что все нужные движения по регистрам сделаны? Это раз. Также рекомендую сопоставить данные НУ и БУ. Особенно если перенос внутри года. На Бухгалтерии 2.0 проблемы в этом направлении гарантированы.
(5) Пункт 6 я не зря так обозвал — ведь придется проверять не только синтетику, сколько аналитику БУ. Инвентаризация выявит корректность переноса остатков по всем разделам учета БУ — ведь не зря же они введены в документе «Ввод первоначальных остатков». НУ сформируется при проведении документов, а вот «нужные движения по регистрам» останутся на совести 1С — все же делалось штатными средствами…
Также хочу обратить внимание на вполне работоспособный вариантhttp://www.infostart.ru/public/19504/ , но в моем случае при переносе остатков придется писать несколько отчетов в связи с изменением конфигурации 1С:Бухгалтерия 7.7. А лень двигатель прогресса — проще напрячь машину, чем самому напрягаться — потому и появилась эта статья 😉
Я просто рекомендую перепроверить движение по регистрам и по НУ. Мы недавно делали перенос из 7.7 в 8.2,2.0 и обнаружили кучу проблем и неточностей. Основные направления проблем я показал в предыдущем сообщении.
(7) Для этого и нужен пункт 6… 🙂
Ок
через файл переносится отлично,на любую дату!!!!!Попробуйте !
(10) Конечно. А еще лучше использовать конфигурацию КД. Но в данном способе даже не пришлось сопоставлять объекты и тд. Хочу повториться, что «конфигурация изменена под нужды нашего производства.»
Пишет вот такое
Ошибка получения данных из информационной базы 1С:Предприятия 7.7: «Ошибка исполнения обработчика: Конвертация_ПередВыгрузкойДанных: Для получения итогов по данному периоду требуется временный расчет!»
как это понять?Делаю все по описанию!
(12) Ну посчитай итоги на ту дату по которую переносишь, тебе русским языком написало
(12) Для выполнения полного пересчета итогов — пункт 3:
а) в режиме 1С:Предприятие — Операции — Управление бухгалтерскими итогами — кнопка «Установить расчет» по: 1 квартал нужного года
б) кнопка «Полный пересчет итогов»
На УПП 8.2, редакция 1.3, если кто переходил с Бухгалтерии 7.7 — поделитесь мнениями.
+1 за лозунг «Лень двигатель прогресса» 😉
(15) как раз сейчас этим занят… пока делиться особо не чем
(15) может Вы чего-то нарыли?
(18), (19) Да рыть тут пока нечего. Я представляю себе так: либо перенос через «Конвертация данных», либо перенос данных с использованием типовых обработок и правил, поставляемых на итс. Только вот правила конвертации придется под себя затачивать, если конфа 7.7 нетиповая уже. Именно этим мне пока некогда заняться — на работе заваливают хотелками. Максимум что успел подготовить базу 7.7 к переносу — принцип как в этой публикации. Но переход неизбежен —http://www.1c.ru/news/info.jsp?id=15011
Не поняла, так получилось или нет выполнить перенос посреди года. Т.е. остатки на начало + все документы за полгода?
(21) Если вопрос по переносу Бух-БП — то да конечно, иначе этой статьи не было б. Причем совсем недавно протестировал перенос данных из Бух 545 в БП 2.0.39.9 — все как описано в методичке. Единственное что я не делал, так это сверку по субсчетам — общие суммы посмотрел )))
(22) ой хорошо, надеюсь проконсультируете!
У меня сходные релизы с указанными в обработке 7.7=538 8.2=32.4
Мне нужно перенести остатки на начало года 2012 и все документы, которые ввели в нем до сегодняшней даты.
Поясните плиз пункты
3: правильно ли я поняла что рассчитать итоги в 7.7 нужно на 2013 год?
4: в 8.2 при переносе тоже указываем 2013 год? «Остатки на начало года»
5: если нач. остатки сформируются на 13 год… не поняла, если у меня будут остатки сформированы на 31.12.12 И если я поменяю скопом эту дату (на какую?) как же может быть верно?
и документы за 12, они перенесутся? Экспериментирую, но все долго…
И запуталась в годах…
(23) Vida, принцип простой: ДЕЛАТЬ ВСЕ В КОПИИ БАЗЫ!
подготовить базу 7.7 — например на 31,07,12, значит нужно убить все доки начиная с 01,08,12. В итоге останутся только итоги на 31,07,12.(Прошу прощение за тавтологию))) А если рассчитать итоги на 1 квартал 2013 года — они же так и останутся итогами на 31,07,12. Это нужно для того чтобы при переносе в пустую базу БП сразу указать «Загрузить данные из Бух 7.7» — «Загрузить из информационной базы» и там периодичность выбрать «Остатки на начало года» и выбрать год 2013 — а это и есть остатки на 31,07,12, хотя они перенесены на 2013 год. После перноса все документы ввода первоначальных остатков в БП можно перенести на 31,07,12 — там есть такая возможность. Ну а потом наслаждаться проверкой итогов ))).
А теперь по пунктам:
3. Да, на 1 квартал 2013
4. Да, остатки на начало 2013
5. Остатки будут сформированы БП на 31,12,12. Но это же остатки в Бух 7.7 на 31,07,12 ))). Просто переносим на нужную дату
(24) спасибо за подробнейщий ответ. Поо копии конечно да! Про 13 год все поняла… почти
Получается в итоге у меня не будет документов за первые полгода 12, только остатки на дату Х? Мне то изначально хотелось остатки на 31.12.11 и все доки за 12…
Как лучше выбирать эту дату, после которой все удалить в 7.7? Это последний закрытый квартал, месяц? А документы «после» Х — бухгалтерам придется повторно заносить в 8.2 — этого никак нельзя избежать? Вы никак вопросы не решали?
Закончилась выполняться обработка переноса. Из всех документов перенеслить только «Счет-фактура выданный» без проводок, с комментарием «Создан автоматически документом <Ввод начальных остатков 00000000059 от 31.12.2012>»
И еще от 31.12.2012 документы «Документ расчетов с контрагентами (ручной учет)», «Ввод начальных остатков» и от 01.01.13 «Установка цен на номенклатуру».
Наверное что-то лишнее перекрутила в 7.7, попробую еще на новой копии)))
Еще (21) пишете, что недавно переносили из Бух 545 в БП 2.0.39.9
Как считаете мне лучше тоже обновиться ДО, или не имеет значения?
(25) Vida, имхо, лучше обновиться, но вряд ли правила переноса данных 1С обновляла в 2011 году)))
Как лучше выбирать эту дату, после которой все удалить в 7.7? Это последний закрытый квартал, месяц? А документы «после» Х — бухгалтерам придется повторно заносить в 8.2 — этого никак нельзя избежать? Вы никак вопросы не решали?
Ну переход с 7ки на 8ку — это немаленький шажок. Есть ли смысл тащить все хвосты из 7ки? Может лучше начинать с остатков?
Если вы перенесете остатки на 31,12,11 — то для бухов будет хорошая учеба работы в БП))). Я думаю, что вам некоторое время все равно придется вести учет в двух программах. Но лучше следовать рекомендации 1С и переход с делать уже в 2013 — еще проще будет — ознакомьтесь с ними, там описано и на счет закрытых периодов. Пока можно пробный учет вести — как обучение персонала, например.
По поводу документов — штатный перенос предполагает перенос остатков и документов за период в БП («Остатки на начало года и документы» за период). Но при переходе на 8ку насколько целесообразно переносить документы — решать вам, учитывая опыт (5), (7). Для все остального лучше использовать «Конвертацию данных».
Попробуйте сразу «Остатки на начало года и документы» за период (январь 2012 — сентябрь 2012). В данном случае моя статья вам не поможет — вы ж не одни остатки хотите перенести )).
тю, емае, я думал реальный перенос… я сам так умею… а для тех бухгалтерий, которым уже лет по 10, правила не писали 🙁
(27) WKBAPKA, дык че тогда раньше не выложили «реальный перенос»? Я бы почитал и тоже так бы сумел )))
я очевидные вещи не выкладываю… возможность переноса данных реализована в типовых конфигурациях и там же описана…
(29) WKBAPKA, и что же теперь делать с этой публикацией, мистер очевидность? Надеюсь хоть кому-то помогла. Последний коммент из флуда.
Да что хочешь то и делай… я выразил свое мнение … я могу таких статей наклепать… берем книжку от типовой и начинаем писать 😉
например, можно написать статью, как создать новую базу в 1С:Предприятие 8.2
со скриншотами и можно даже подготовить презентацию, может даже видеопрезентацию…
еще можно написать статью с картинками, как правильно сохранить копию табличного документам в Excel…
еще, можно написать развернутую статью эдак страниц на 5, о том, как сформировать оборотно-сальдовую ведомость в бухгалтерии, с подробным историческим описанием происхождения слова «Субконто»…
ну тем у меня много которые можно опубликовать 😉
ПЫ СЫ: кстати, еще можно написать, о том как можно написать статью о переносе данных из 7.7 в 8-ку!
а вот что делать, когда база 7.7. старая и нет такой вот возможности переноса… я переводил такие базы на 8-ку, но статью лень писать…
WKBAPKA,
(31) — это же здорово, что есть куча тем! Попутного ветра.
(32) — молодец. Я тоже могу… на клавиатуре кнопки нажимать, но вот что-то стало лень…
я думаю, что те кто занимаются переводом клиента с одной версии на другую должны обладать определенной квалификацией. А писать статью, типа я открыл Америку, как то уж дико.
(34) WKBAPKA, значит я дикий )))
😉 ну может быть
Автору спасибо. Считаю, что любая работа поможет новичку.
Я дополню. Выполняется все очень просто.
Свертка базы в любой бухе есть wrap.ert — документы все удалить. База будет легче. Тут можно и на результат свертки посмотреть, проверить остатки. Поправить, если что не так.
Остатки на конец предыдущего периода. Для типовых все просто — два варианта:
выгрузка файловым обменом
выгрузка подключение com
Затем только наблюдаем.
С нетиповыми поступить можно так:
— проверить наличие настроек плана счетов. Это важно
— создать двумя из способов счета в базе 8
— можно выполнить обновление на типовую, остатки с настроенных счетов никуда не денутся.
— настройки все уже выполнять в 8-ке. Так экономичнее потому, что некоторые возможности уже могут работать и в типовом механизме 8.
Про уникальные и отраслевые конфигурации простого пути переноса нет. Только правила и обработки программным путем.
(37) llg_44, для меня не было все так просто и обрезание базы как выяснилось — недопустимо, потому что требовалось сохранить часть документов с начала времен — из-за все того же НДС. Да и обработок по обрезке БД я перепробовал весьма немало. К примеру, штатная умирает через пару часов работы. Так что обрезание не приносит облегчения ))) (простите за каламбур).
Перед тем как оформить статью было немало чего опробовано. Но на то он и ларчик…
Автору спасибо, много нужного узнал