<?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='\
😀 😀 😀 спс поржал, особо не понял что за игра.
(0) Цель? Смысл?
😀
Только для каждого игрока надо будет купить лицензию 1С 🙁
(3) Это не для каждого. Для оружейника и для гостя.
Сейчас на одной л. работаю 🙂
(2) 1. Для меня — интесно. Я кодер по Бухии. Надоело чужие ошибки править.
2. Для Игроков. Начинающим — легче качаться. Заканчивающим — вернуть хоть какие деньги. Для Го-ов престиж гильдии.
(5) Сори за русский 🙁 : интесно — интересно, Го-ов — Глав.гильдий.
Класс! ))) Вот сфера не охваченная учетом на 1С! ))
(1) Картинки из
Да уж, до этого надо было додуматься… учет для онлайн игры… онлайн игры вообще нужно запретить…
(9) 1С сам их продаёт:
Онлайн игры, в которых при смерти теряется опыт — от лукавого!
За идею и реализацию — плюс!
(9) Играют чаще подростки и люди ущербные. А владильцы и админы игр не всегда порядочно себя ведут.
Уже данную конфигурацию пиарят
(14) 😀 🙂
Бухи на работе не дают мастерить. Работать заставляют на них. На выходных только и могу что-то делать.
круто
(12) Я бы так категорично не говорил 🙂
Сам когда-то играл в Линейку. Поначалу было прикольно и интересно.
Но потом на хайлевелах (80/80/60/нобл) стало просто скучно. Одно развлечение — на осаду сходить.
Короче, забросил и не жалею…
(16) На каком сервере играли? 😉
(17)
(18) Эх, а я на Франце…
не совсем понял суть обработки, хотя в MMORPG играю давненько. да и заморачиваться покупкой лицензий и установкой 1с-ки врят ли кто в гильдии будет.
(19) Настоящие задроты играют на руоффе 🙂
(20) Это конфигурация, а не обработка. У нас в гильдии уже работает. И есть предложения от ГИ.
Нормальная гильдия геймеров — это не предприятие, это самостоятельное государство!
Приношу свои извинения перед игроками за (12). Не аккуратно сказано было.
(21) Я ушел еще до РуОффа 😉 Играл с открытия Франца, задротил почти 2 года… 80 лвл на бишопе брал 5.5 мес 😀 😀 😀
(23) тогда уже не на бише, а на кардинале 🙂
P.S. Автор, это ничего что офф-топ?… В Ленте поднимаем 😉
(24) Я тока рад. 🙂
(24) Бишоп мне лично звучит приятнее 😉 Вдобавок запомнилось, когда до окончания Олимпиады 3 дня, в клане было 9 ноблов, единственных на сервере. Так была очередность кто качает бишопа, 24/7 😀
А Кардинал — это уже 20% до конца. Хотя Salvation — штука классная 😉 Ну и party-celestial 🙂 Бишоп — он в сердце навсегда :{} В первую очередь потому что на low-level ты нахрен никому не нужен и тут самый большой труд 😉 (Это на РуОффе уже куча плюшек появилось когда бишоп соло запросто), а так бегаешь на undead-ах качаешься, 3 мин эксп, 10 мин на попе регенишь 😀
(25) Благодарствую, а то ностальгия нахлынула 😉
> Так была очередность кто качает бишопа, 24/7
Да… без биша нигде нельзя, ни на осаде, ни на варе 🙂
А биша качать просто — с гладом в ФОГ на пару суток 😉
Я скачал файл, а что мне с ним делать?
(28) Это *.cf. Установить 8.2 платформу. Установить Веб-сервер. Заполнять данными. Если об этом.
Эсли посмотреть, я тогда выложу с демо данными.
Докатились, ёкарныбабай 😮
Сурры вам само-то будут. 8)
(30), (31) Переведите, пожалуйста 🙂
(32) Это клиенты пошли. 🙂 Клиент всегда прав!!!
(33) И куда они пошли?
«Поручик Ржевский, молчать!» © 🙂
Есть фильм «Суррогаты», вот и тут можно провести аналогию, народ рубиться в игрулины и в добавок учет в 1С ведут:-) Отчетность каждый квартал, расхождение план-факта бюджетов… и т.п. Скоро совсем два пальца на правой руке отваляться, остануться только три: большой указательный и средний, чтобы мышку удобно было держать:-)
😀 😀 😀 😮
(35) Ха! У нормальных геймеров все пальцы заюзаны 🙂
Заюзаны в усмерть:-) уже волосы и мозоли кастомизировались на пальцах.
(35) Вот устав обычной гильдии:
Учет ведут никак мальчишки лет 15-17.
(38) Конечно, мальчишки… нубы… 🙂
> В ГИ SolariS принимаются игроки уровня 45+
Если говорить об Л2, то в топ-кланы принимаются минимум:
3-ья профа (76+), саб, нобл
(39) В РФ-онлайн был макс лвл 55. Мальчишки нубы это другой вопрос.
Но их учетная политика без реальной учетной проги — это произвол Гл-а и его дружков. Там кстати ГЛ некий «КИМ», который давно не играет. Т.Е. давно мертвая душа. Но его именем прикрываются не совсем порядочные игроки.
(40) а в Линейке макс.левел 78/80 (в зависимости от версии)
зато мобы могут быть и побольше…. 🙂
Так что 76 из 80 все равно побольше, чем 45/55
А в чем суть РФ-онлайн? Что-это такое?
(44) Из Википедии:
RF умирает, там сейчас остаются те кому жалко вложенных в игру средств, и те кто наживается
(43) Это не важно. Гильдийный учет и магазин на другой игре нужен будет. Кстати, признаюсь, что в моей конфигурации здесь выложенной, толком, ничего этого и нет. Регистры не работают. Один отчет для примера по рег. свед. и всё.
Но как аттестованный спец. по 77 и 8.1 обещаю всё это сделать, как должно быть в ближайшее время. У меня уже есть предложения от других гильдий о сотрудничестве и наш ГЛ уже пишет договор.
🙂
(44) ммм…. И каким боком его можно задействовать в той же Линейке? 🙂
(45) Я только предполагаю, что учет может помочь игрокам. Не играл достаточно в Линейку. 🙁
Очень важно устройство самих гильдий. Если устройство демократичное или есть продвинутый диктатор, то это нужно.
Думаю, что в дальнейшем игры будут развиваться и не только динамика и графика, но и социальная структура.
В РФ-онлай даже сейчас гильдии организуются в союзы всё более сложной структуры.
Выложил демку — *.dt-ик
Сегодня положил версию 1.2 с отчетами СКД и командами для подсистем Склад и Кадры.
Отредактировал описание. Добавил:
Конфигурация адаптирована под игру RF-online. В игре дожны быть созданы персонажи-кладовщики, у них д.б. много свободного места для обмена. И должна быть сама возможность обмена.
Что сделано:
1. Набор справочников для описания предметной области игры.
2. Учет ведется на регистрах сведений.
3. Отчеты построены на СКД.
4. Для персонажей и игровых предметов есть возможность загружать картинки из самой игры.
5. Созданы три подсистемы: Склад, Кадры и Магазин.
6. Разделение пользователей на две группы: гильдяне и покупатели. Покупателям доступен только магазин. Т.е. только те предметы, которые могут продаваться.
Расшифровка в СКД интересно получилась. Может кому пригодиться. Вот пример:
Показать
Добавил обработку «ИзменениеПароляПользователяИБ» в подсистеме Служебные.
Расшифровка в СКД проще сделал. И нет теперь лишнего окна в Веб-клиенте:
Показать
С Рождеством Христовым 😀 !
В редакции 1.5 поправил рег. сведений и отчеты к ним.
В редакции 1.9:
1. Отразил более детально логику игры РФ-онлайн в учете для справочников и регистров «Предметов» и «Персонажей».
2. Внес множество картинок. Что немного нагрузило базу — 1.7мб.
3. Увеличил количество ролей. Отчеты СКД более интересные: с готовыми вариантами и с диаграммами. Это после посещения курса:
Пробное описание на видео:
Будет ещё.
Для плохо знакомых с 1С есть подробное описание с видео:
Сама конфигурация вряд ли буит иметь ценность, но внутри много интересных примеров работы. Автору респект. 🙂
Респект за примеры, конфа братишке геймеру понравилась) может будет использовать
Хорошее подспорье начинающему работать с управляемыми формами.
Играя в он-лайн игру, заметил что игроки теряют деньги, время и здоровье часто впустую.
1. Теперь начинающим игрокам будет легче качаться. Они могут получить одежду и оружие из гильдии от старых игроков.
2. Старые игроки могут продать или сдать в аренду свои вещи. Передача имущества регистрируется в базе и там же храниться картинка сделки-обмена.
3. Глава гильдии может вести кадровый учет и сбор налогов. Что даст огромное преимущество перед другими гильдиями, которые без 1С и без учета.
СПАСИБОООООООООООООООООО
(9) Паладин,
сказал паладин))
плюс за оригинальность
оригинально:)