<?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='\
Исчо один 🙂
(1)Исчо один 🙂
-Ваш любимый полонез?
-Огинского!
-Ваше любимое произведение Огинского?
-Полонез!
Одного понять не могу — на фиг из перенумеровывать? Тем более, что все путние люди для нахождения конкретного обычно используют в обработках НайтиПоКоду… что, потом все обработки переписывать?
(2)(Abadonna)
“нахождения конкретного обычно используют в обработках НайтиПоКоду…”
Это ты с позиции программиста сказал. 😉
А представь еще, как потом проверить 50000 ценников в торговых залах, и найти какие коды изменились? А места хранения на складе? А как работать с накладными?
Короче, автор выложил жутко опасную весЧь, предназначенную дизорганизовать работу любого предприятия по нажатию одной кнопки…
(3)>Это ты с позиции программиста сказал. 😉
А ты с позиции розничника :))))
У нас производство+опт, немае ценников, только прайсы 😉
Но в любом случае не вижу никакого смысла в перекодировке
а для документов так же сделать можно? сделано красиво. блин и не то…
(10) Блин! Первый случай, когда полностью согласен с Фиксиным (даже ник с большой буквы написал — зацените товарищ Фиксин!). + Заслужил
(11) эх… и я туда же )))
Даешь бесплатные перенумераторы, много и разных! 🙂
(13) Даешь бесплатные универсальные перенумераторы, что бы они перенумеровывали все подряд
Шо найдут, то и перенумеруют ))
Ох уж эти перенумераторы… У меня дядька на перенумераторской фабрике работает… У него этих перенумераторов!… Вот и шлет кому попало!..
Во, блин. Стая шакалов набежала… Ату, его, ату…
На инфостарте давно обсуждать и осуждать наличие цены и ее размер считается моветоном.
Если следовать псевдо-логике квази-гения, то минусы нужно ставить кассирочке, рокет-ланчеру, новейшему отчету. Или, например, уважаемому Che за его творениеhttp://infostart.ru/projects/1212/
Его разработку оценило на порядок меньше людей, но стоит она в 2,5 раза дороже. Где логика?
Василий, ты вроде тертый калач, но поддался на дешевую провокацию тролля… 🙁
И потянул за собой неопытную молодежь. Стареешь?
…а у меня тоже перенумератор есть. Правда старенький…
Показать? 🙂
(17) У меня тоже есть 😉 2004 годом датированная вроде…http://1c.proclub.ru/modules/mydownloads/personal.php?cid=120&lid=3801
(16)
> Во, блин. Стая шакалов набежала… Ату, его, ату…
стая шакалов? Стая подразумевают сговор, не так ли? Мне кажется тяжело обвинить Кушнира и фиксина в сговоре.
Или Вы отстали от жизни на ИнфоСтарте?
> На инфостарте давно обсуждать и осуждать наличие цены и ее размер считается моветоном.
Я об этом не знал. Честно. Вы виднее — Вы здесь уже старая, а я человек новый.
Кстати, а почему моветоном? Есть какой-то блок, где это «узаконено»? Пришлите ссылочку, плиз.
> Если следовать псевдо-логике квази-гения…..
Кстати, а почему псевдо-логике? Обоснуйте, что в его посылке не соответствуют выводу?
> Его разработку оценило на порядок меньше людей, но стоит она в 2,5 раза дороже. Где логика?
http://infostart.ru/projects/455/ , http://infostart.ru/projects/181/ , http://infostart.ru/projects/445/ , http://infostart.ru/projects/608/
А вы случайно во время Ваших ночных бдений не натыкались на бесплатные разработки, которые оценило гораздо больше людей, чем этот очередной перенумератор?
Где логика?
Оставшуюся часть третьего абзаца лично я расцениваю как прогибание перед Сhe Burashka, O-Planet и support’ом
Которых я, кстати, уважаю.
> Василий, ты вроде тертый калач, но поддался на дешевую провокацию тролля…
Расскажите плиз, нубу, кто такой тролль? (применительно к ИнфоСтарту 🙂 )
> И потянул за собой неопытную молодежь. Стареешь?
«Молодежь» — это про меня? Спасибо огромнейшее за комплимент!!! 🙂
А насчет опыта… хм…
> Стареешь?
Все стареют — это законы природы. И вас они тоже касаются.
А у мну перенумератора — нет… за 10 лет ни разу не писал… вернее так: перед тем как писать — сел подумать… ну не может такого быть! чтобы никто не написал… и оказалось — так и есть!…
(19)
> А вы случайно во время Ваших ночных бдений не натыкались на бесплатные
> разработки, которые оценило гораздо больше людей,
А кто тебя заставляет платить за эту разработку?
> чем этот очередной перенумератор?
Много ли восьмерочных перенумераторов на инфостарте?http://infostart.ru/projects/?rubric=73&p_platform=10
Один из которых не работает… О какой очереди нумераторов идет речь?
Перенумератор есть на диске ИТС, только мало кто об этом знает…
> Расскажите плиз, нубу, кто такой тролль? (применительно к ИнфоСтарту
(20) А ты напиши и выложи. Лично я «плюсик» поставлю.
А что? Другим можно, а товарищу Че нельзя? Где логика? 🙂
(21) > А кто тебя заставляет платить за эту разработку?
Тут акцент не на этом.
Во-первых, никто никого в принципе не может завставить платить.
А, во-вторых, мало того, что не заставляют, а не просят даже.
>http://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%BE%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3
Я имел в виду не понятие в целом (википедить я и сам умею), а конкретного человека.
Вопрос был задан так — «кто такой тролль?», а не «кто такие тролли?»
И, тем более, было уточнение «(применительно к ИнфоСтарту)»
> Много ли восьмерочных перенумераторов на инфостарте?
Если такая проблема, напишите свой. Я уверен, что он будет и лучше, и бесплатнее 🙂
Сам я не смогу, я — «тупой» клюшечник.
(23)
> А, во-вторых, мало того, что не заставляют, а не просят даже.
Отвечу твоими же словами:
А что? Товарищу Че можно, а другим нельзя? Где логика? 🙂
> я — «тупой» клюшечник
Слово «тупой» относится к тебе или к клюшке? Можешь не отвечть, это риторический вопрос… 😉
Имхо тебе пора выкладывать свои творения. И не в раздел «Юмор» или «О жизни», но в серьезные разделы. Хотя бы и для клюшки…
(24)
> Отвечу твоими же словами:
> А что? Товарищу Че можно, а другим нельзя? Где логика? 🙂
Да товарищу Че многое можно! 🙂
> Слово «тупой» относится к тебе или к клюшке? Можешь не отвечть, это риторический вопрос… 😉
Это оскорбление? Тебя извиняет только то, что ты «женщина». Была бы ты, например, фиксиным, я бы мог не сдержаться
А, вообше, для тупых… Это очередной камушек в огород того же фиксина 🙂
> Имхо тебе пора выкладывать свои творения. И не в раздел «Юмор» или «О жизни», но в серьезные разделы. Хотя бы и для клюшки…
http://infostart.ru/profile/38667/projects/2609/
мда….
(25)
> Да товарищу Че многое можно! 🙂
На этом логика заканчивается?
> Это оскорбление?
Нет. Извини, если обидила. Я не хотела 🙁
> мда….http://infostart.ru/profile/38667/projects/2609/
Это все на что ты способен? Мне кажется твой потенциал выше…
(9)
> То бишь если номер такой уже есть, он присвоит следующий номер.
> Т.е. да, перенумерация произойдет, но порядок элементов по кодам
> непредсказуем.
Где ты это увидел в коде? Сможешь сгенерить набор исходных данных, при которых такое произойдет?
(26) > На этом логика заканчивается?
Ага 🙂
Какая тут еще может быть логика? Лично я не просил бы 100 руб за подобное.
Тем более, у кого? Не у конечных покупателей, а у таких же программеров. Бухшам перенумератор не нужен имхо.
Да и, вообще, сумма какая-то несолидная. Если просить, то много и за стоящее.
Хотя, может кризис слегка изменит мои взгляды 🙂
> Нет. Извини, если обидила. Я не хотела 🙁
Извинения приняты. Я, пожалуй, тоже погорячился.
> Это все на что ты способен? Мне кажется твой потенциал выше…
Пасиба! 🙂
Нет, не всё. В моих конфах за 10 лет программирования в 1С накопилось несколько хорощих вещей, но они писались для себя.
Т.е. не документированы, красиво не раскрашены, без рефакторинга 🙂
Поэтому я не выложу их или вообще, или пока не доведу до ума.
Не могу я каждый день по гениальному творению создавать 😉
(28)
> Лично я не просил бы 100 руб за подобное.
Не хочешь, не проси. Что теперь, тебе минус за это ставить?
> Да и, вообще, сумма какая-то несолидная.
От чего весь сыр-бор? Сумма несолидная? Ты считаешь, что автор выложил обработку чтобы озолотиться?
Обрати внимание, что полнофункциональная обработка доступна для свободного скачивания. Может, наличие ценника делает ее менее функциональной?
(30) по (27)
Ответ неверный, садись два!
Смотри сюда:
Показать полностью
Из кода убрано все лишнее, чтоб не мешало.
Очередному элементу присваивается очередной код из переменной ТекущийКод. В приведенном тобой коде ни выборка, ни указанная переменная не меняются.
О какой непредсказуемости идет речь?
to poppy, ярой защитнице платных перенумераторов
(16)-(30)
Вообще, как то странно. Автор минусует блог в разделе «О жизни», в котором говорится что работа профессионала достойна и должна соответственно оплачиваться. А сам денег просит. Где логика? 🙂
P.S. Почему я, например, не прошу за мою разработку? Потому что я выложил ее не для того, что бы обогатиться.
А просто, как говорится «Людей посмотреть, себя показать» 😉
Мы не настолько богаты, чтоб покупать дешевые вещи …
:))
Ценник на падобные обработки должен быть на 2 порядка выше, данные всё же изменяет..
Что интересно, и фиксин тоже заминусовал «это»
Раз уж две такие противоположности, как я и он, сошлись во мнениях, значит «оно» того стоит.
В смысле, минусов 🙂
(37) Мне тоже писал 🙂
(38) он всем писал 🙂 Я, может, когда-нибудь издам трехтомник «Моя переписка с фиксиным» :-))
(36) кстати, отвикипедяй слово «флуд» и ты поймешь, что ты нуп. У меня сообщений, конечно, много, но они не бессмысленные
(37) А, вообще, это не совсем этично обнародовать личную переписку
Помнишь фильм «Служебный роман»?
(0) [b]Шедевр[/i] в области перенумерации справочников!
http://infostart.ru/profile/8089
Где-то это я уже видел :-)))
(36) Минус за то, что автор комментария не может понять основные термины интернет-общения и за флейм.
http://infostart.ru/projects/2609/#comm19
P.S.
(40)
Судя по (38) в (37) не личная переписка, но спам.
Мне fixin в личной переписке предложил подраться в онлайне. Посоветуйте, принять бой или продинамить? 😉
я уже не могу.. я ща закричу!!!!
КОГДА УЖЕ В СНЕГОВИКЕ НАЧНУТ ДЕЛАТ ЧТО_ТО ОТЛИЧАЮЩЕЕСЯ ОТ КЛЮШЕК???
(32)
Во я дурочка-то. Я сразу и не сообразила отчего ты так на него взъелся.
Беру свои слова (16)…(29) обратно. Приношу всем извинения за разрушение их мозга.
А Лохнесс, действительно лох. Не тому минус влупил… 🙂
Нахожу комменты poppy в этом топике оч странными. Poppy перса продала? Или это с чем другим связано?
(43) > Мне fixin в личной переписке предложил подраться в онлайне. Посоветуйте, принять бой или продинамить? 😉
фиксин даже в этом не разбирается 🙂
Это называется «выставить фонарь», а «крутить динамо» — несколько другое
(43)>Посоветуйте, принять бой или продинамить? 😉
Это прям как Рэнди против Картмена в какой то из серий 12го сезона Саус Парка :))
Сценарий один в один.
(44) СКД открой и покрути… За одно это уже можно на 8-ку срочно переходить…
(49)Ваше утверждение очень сомнительно, ну ооочень 🙂
(15) Не знаю может это и смешно но они нужны — перенумераторы. У меня юзер влупил 999999 номер случайно и пошли добавлять к последнему или даже минуса забивают и что их потом руками править, искать самый старший нормальный и т д .
Хотя нетленку делать из них тоже не надо я например даже на флешке их не ношу и не качал и не писал универсальные. Просто если таковая необходимость возникала писал на месте под конкретный справочник там работы то на минуты. И юзерам его не показывал и не отдавал. Запустил, исправил, удалил.
так что Автору всетаки минус а то действительно попадет кому не надо такой страшный инструмент
Уважаемые, на ИТСе за апрель как раз есть замечательный и перенумератор и удалятель и позволяющий выбирать всё и вся (УниверсальныеПодборИОбработкаОбъектов.epf). карое умовый. предлагаемый тут не пригодился — мааалый функционал. но насквозь, надеюсь, адекватно нумерует.
а вот у мну вопрос — как мне нумерацию справочника ФизЛиц в ЗУПе 8.1 подточить… если ли отчёт позволяющий подкрутить до нужного нумератор ? ??? если кто в курсе — письните в личку плиз.
не понимаю почему тут столько плюсов, у меня в справочнике около 70000 элементов, сбилась нумерация, запустил обработку, она дошла до 60391, наткнулась как раз на на тот момент, где косяк, т.е. для чего я ее собственно и скачал, и выдала «Закончилась номерная емкость!». Префикса не ставил, начальный номер — 1, длина номера — 5. Дальнейшие детали даже приводить не хочется, обработка — лажа.
+ (53) и еще в пункте о программе тупо плюсует. понятно теперь откуда плюсы взялись.