<?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) Всё жду , когда у Юры поутихнет фонтан. Зря жду ?
Картинки сделай с прозрачным фоном, а то не очень смотрится..
+3 да и всё лишнее с формы повыкидывать стоит, типа флажков..
(2) А надо?
Однозначно буду своим бухам впаривать 😀
Считается! 😀
за идею-зачет.
Как всегда, зачет 🙂
мегаидея! только сделать по горячей кнопке переключение костяшек — слева направо или справа налево
(2) Наверное да, не дождешся, занимай другую очередь 😀
я еще раз говорю 1С это — мое любимое хобби.
хорошо успокаивает…
на днях просто видел картинку сидит бабуля (она с Лениным наверное вместе училась)
принимают товар
— считает на счетах
— записывает на бумажку
— с бумажки в ексель
— в екселе (итоги на счетах подбиваются) она мне «А вдруг вирусы, сынок ?»
— и потом в 1С забивается
— распечатывается
— и вручную заносится приход в амбарную книгу
но порядок !!!! знает где какая мышь заначку на складе сделала.
вот и я ехал и думал — счеты, простой и одновременно сложно удобный инструмент
захотелось повторить программно
честно — на написание от а до я ушло около 2 х часов (со всеми бантиками)
(3) ты не поверишь, картинки с прозрачным фоном — могу оригинал скинуть, раза три переделывал никак, и флажки спрятал — прятал ручками а их там много и что то видно очень далеко спрятал за 2000 , перестали работать.
— пока думал перепробовал три алгоритма перещения костяшек
— проблема с перерисовкой была (тормозило чуток)
— выявление черных костяшек
— придумать как лучше и правильнее получить значение, какую костяшку и где тронули
— нумерация реквизитов на форме.
Но бабушке понравилось ))))
(10) хорошее предложение , только ножно тогда 4 кнопки управления сделать как минимум
— выбор ряда вверх вниз
— выбор костяшки влево вправо
Очередной шедевр. Поймал себя на мысли, что не помню как пользоваться счётами 🙂 Ты просто молодец. Интересно, а молоденькие бухгалтерши могут ???
(11) завтра кину исправленый вариант… где усё красивенько
+14 прикрепи картинки с прозрачным фоном, чтоб самому не лепить.. лень понимашь
зачОт !!! 😀 😀 😀
… очередная ТА-Ти-Ту-Ту-товская дУрррь … вот …
А как на них умножать?
(11) Уговорил. Фонтанируй.
А со счетами ты того… силён.
… ещЁ БЫ логарифмическую линеЙку кто визуализировал …
… вот была бы игрушка … весь день можно играться …
производительсность возросла бы наверное процентов на 50% … но это уже для интеллектуальных складских работников … уффф …
… вот …
(16) Это не дурь, это гениальность ))))). Автор, похоже, может любое жизненное явление (в данном случае впечатление) запрограммировать!
(18) таки да, 1boy ❗
А кто-нибудь помнит, как на счетах квадратный корень извлекать?
(23) Ну ты спросил 😀 — яндекс нервно курит в сторонке.
Ждем ответ (вариант извлечение корня столбиком)
(22) Это же для бухгалтера счеты, а зачем ему извлекать корни? Это что за единица в итоге получится — квадратный корень из рубля? Или рубль в квадрате?
Апгрейд от меня:
перезалил новый релиз..
Б-же мой, какая прелесть 🙂
… опять Язвую … может на палочки перейти … или на узелки … вот …
… а с учЁтом «качества» нашей бухии можно и кости прицепить … пусть бросают — сколько выпало столько и записали … а то квКорень … квКорень …
… уффф … вот …
Вот , что я забыл, спасибо хорошем людям подсказали )))
нарукавники
2 пары — для бухгалтеров и т. д., в общем — чтобы рукава одежды не пачкались…
А где нарукавники то добыл? Тоже хочу ))))
(30) Так забирай (правой кнопкой сохранить изображение) можешь считать подарком
(31) Спасибо за подарок и за первого парня на деревне с деревянной медалью — прекрасный рисунок 🙂
Хочу такие же на 8-ке, но в типовой 😥 😥 😥
Что сегодня за праздник ? Чем вызван такой резкий скачок
с 10.06.10 17:00 по 15.06.10 23:00 всего скачало 166 раз
за сегодня — только за сегодня 133 раза !
(34) Среда. По средам рассылки на почту за неделю.
Прикольно!
рэспектт!!!
Классно!
Завтра своим бухам покажу, может кто-то и вспомнит, как на счётах щёлкать. 😀
Вчера приходил парень на собеседование
говорю у тебя есть что посмотреть из твоего написанного
да, есть штук 6 обработок с ИСа и среди них мои счеты
— ты писал ?
— да конечно. на досуге
— а что в комментарии кода обозначает слово Tatitutu
…. под столом !!!
(39) Ты всё о себе да о себе . Взял парня -то ?
(40) Если он сразу нагло врёт, то что потом будет? Нисся 😉
(41) Ну вранье, Аркадий , не самый большой грех.
Мы все врём в меру сил и терпим чужое враньё.
Так что… лишь бы человек хороший был (в смысле, программист).
(42) А зачем хорошему программисту чужое за своё выдавать? Допускаю, конечно, что для красного словца… но, помнишь поговорку: не то он украл, не то у него украли, но что-то такое всё-таки было… 😉
(40) Он пообещал мне в понедельник !!! (а понедельник знаете какая дата?) принести обработку «Длинные нарды»http://infostart.ru/public/72798/ полностью рабочую 😮
короче — будет два варианта
(44) Дурите бедных бухов 🙁 Подсовываете им неправильные счёты, наверное, они дают неправильный
мёдсчёт 😳😀 Под столом, еще бы звук костяшек был бы полный отпад
(46)
В 95% случаев — бесполезно. Обычно у юзверей колонок нема…
Должен заметить, что на профессиональных счетах фиксируются (первой черной костяшкой) каждый третий разряд рублей… 😐
(48) 😉
(47) и колонки у бухов отобрали, и счёты подсовывают ненастоящие… сплошные утеснения творят бухам 🙁
(47)
На моей памяти ни разу не отбирали, ибо как можно отобрать то, чего нет? 😉
Да и я сам на работе сначала использовал наушники (просто на столе обычно лежали), а потом за свои собственные денежки.. и т.д..
а всё равно спасибо!))))
Музыки…не забывайте Женщин поздравить.
Хороший подарок — налетай, разбирай. халява.
По многочисленным просьбам
(0) пожелание — хорошо бы добавить визуальный разделитель копеек и триад (для костяшек и Итого)
Прикольно =))
тока разрешение … жесть…
у меня на 23 монитор не влезли счеты )
ща подрехтую… и втюхаю в 3 базы… пусь вспоминают правила ))))
Красивые счеты. Только есть пару неточностей — первая кость на тысячах, должна быть черная, и должна быть проволока-разделитель с четырьмя костяшками — собственно на фотке всё показано верно. Про функционал проволоки-разделителя ничего не знаю. Даже в детстве, когда счеты применялись реально, никто не мог толком это объяснить. Видимо чтобы просто бросался в глаза разделитель рублей и копеек. Когда-то тоже умел умножать на счетах, но сейчас совсем ничего не помню.
Помню на практике в институте, работал неделю в отделе погрузки, на отделении Октябрьской железной дороги. Все данные пересчитывались на обычных электрических калькуляторах, типа современных бухгалтерских, только с питанием от сети и на зеленых цифровых индикаторах. Но сбоку СТРОГО у каждого стола, на крючке, висели большие счеты. Они быди не гламурными как на фотографии, а настоящие рабочие — значительно больше по размеру и большей «разрядности». И по легкому износу, было видно, что на них иногда реально считали.
p.s. На фотографии видно, что человек держащий в руке счеты, видит их в первый раз или это какай-то «праворульный» человек, вроде китайца. Кости должны лежать по умолчанию справа, а значащие «цифры» слева. Ну а нарукавники должны быть черными, это даже не обсуждается… 🙂
Между прочим, в Японии, в стране, безусловно признанной всеми лидером в области электроники, обязательно учат считать на счетах…
Прикольно!
Меня расчетчик за такой калькулятор зарплаты лишит 🙂
(60) Скажи ей это не калькулятор, а Бухгалтерские счеты — может , наоборот премию выпишет 🙂
(61) Ну расчетчик вообщето еще застала времена когда на счетах считали — так что просто затаит мелкую обиду 🙂 , а вот главбух такая затейница (я уже заколебался корректировать базу под ее нужды)- просто кино и немцы, за счеты порвет мне на британский флаг и скажет чтоб не занимался фигней 🙂
(63) Подари ей с приветом от меня лично. Увидишь она тебя расцелует )))
отлично, у меня многие привыкли именно к такому способу счёта)
Прикольная штука! Поставили своим бухгалтерам, так все в округе захотели сие чудо, теперь сидят все хором учатся — перепроверяют правда на калькуляторах, а вот бы еще в уме заставить хотя бы по-складывать — вообще стали бы все как вУтки!
ахахаха вот этооо тема. обязательно своим тетенькам на 7ке подгоню)
а че эт ваще такое??? Сколько шума, вокруг каких-то пуговицах на нитках??? И при чем тут 1С??? =)
Охохохо!!Красота какая))спасибо за доработку, оочень интересно!! думаю забавно будет поставить расчетчику такую доработку
красивая штуковина. повеселило 🙂
реализация под 8.3http://infostart.ru/public/248770/
блин, поздно увидел я бы своим бухгалтерам 16 числа сего месяца внедрил в 1с. Ато мы им виндосовский меняли на такой