<?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='\
я не ХУДОжник, я только учусь 😀
баян конечно, но нельзя же везде свою рекламу пихать.. выглядит как-то не очень..
Одного ты только не учел — попробуй распечатать теперь свою картинку или шаблон на предварительном просмотре посмотри..
О боже!
Ну хотя бы для приличия стоило бы помянуть, что все то же самое лучше сделать в приличном граф.редакторе. Например Paint.NET или GIMP (из бесплатных). «Волшебной палочкой» выделить в один клик, немножко размыть выделение гауссовым фильтром избавившись от некрасивых «жестких» краев изображения, удалить ненужную выделенную часть. Получившееся фигурное выделение можно применить на произвольных картинках.
(4) не всё так просто — созданная картинка хоть в фотошопе, будет правильно отображаться в пофигураторе, но что на форме, что в мокселе в самом предприятии будет с серым фоном (или черным).. а при предварительном просмотре — либо «уезжать» в размерах, либо фон будет не прозрачным..
У автора, один из таких вариантов — правильное отображение на форме, но в предварительном просмотре и при печати — болт.
(5) (6) Потому что 1С накладывает сильные ограничения на палитру картинок. Поддерживаемая 1С палитра поставляется с ней (main.* три штуки в разных форматах). Большинство граф.редакторов позволяют загрузить палитру. Фотошоп, если меня не обманывает мой склероз, поддерживает *.CPL.
Детский сад, если вы умеете кодить, то ретушировать вы точно не умеете.
(9) Я дизайнер и немного дописываю для своей организации отчеты и внешний формы, и выкладываю бесплатно!
п.с. Может быть Когда научитесь рисовать как я тогда сможете обсуждать меня, а сейчас вы просто поражаете воображение своими мастер классами для дошкольного возраста.
(10) А я начальник отдела «К» …
вообще не пишу на 1С (это хобби для души — стресс хорошо снимает)
и из более 40 разработок выложенных на данном сайте — только одна платная и видимо она для тебя превратилась в огромную Жабу.
У меня тоже есть собственные дизайнерские работы — у одной крупной известной российской компании — мой логотип (нарисовал за 15 минут) хотя в конкурсе участвовало много компаний — сумма конкурса 295000 рублей.
Я все время забываю , что здесь каждый считает себя супер пупер профессионалом и забывает про то, как когда то сам Paint от блокнота отличить не мог.
Вот напишешь — люди добрые оцените напишите, что не так, прокомментируйте — тишина.
А выложишь БАЯНЕЦ в виде статьи (незатрагивающая исскуство рисования в графических редакторах !!!) а наглядно показывающая, как быстро подручными средствами можно сделать что — то полезное и свое (а не содранное с Интернета).
Пожалуйста — обольют с ног до головы и спасибо не скажут.
Злые мы стали в последнее время, жадные, завистливые…..
(11) Мне совершенно безразлично сколько и чего вы заработали, меня жаба не душит я человек не завистливый.
Каждый должен заниматься своим делом
Начальник — командовать
Программист — писать
Дизайнер — рисовать
И когда Программист начинает рисовать это выглядит не мило, а нелепо и глупо.
п.с. воспренемать критику необходимо нормально а не кидаться с обвинениями.
(11) Да не кипятись. Товарищь просто никогда не делал картинки с прозрачным фоном в 1с-ине вообще.
И думает, что это просто.
А вот заставят его сделать форму , например с круглыми печатями и чтоб она еще правильно печаталась, вот тогда и задумается..
(12) Какой в попу дизайн здесь вы вообще увидели ? Здесь тупо показана технология создания картинки с прозрачным фоном в 1с-ине и всё..
Сами когда-нить такие делали ? Именно в 1с-ине ?…
(14) готов сделать, проблем нету
(12)
да нет дорогой ты мой человек, хороший ПРОГРАММИСТ кроме писать, должен уметь практически ВСЕ, но главное ДУМАТЬ и уметь находить решения поставленных задач, любыми доступными средствами.
ну не соглашусь с тобой в корне. Я мог бы нарисовать практически в любом дорогом графическом редакторе — очень красивую и качественную картинку с прозрачным фоном
и выложил бы здесь — только вот зачем ? Смысл статьи — быстро создать картинку с прозрачным фоном, а не выиграть конкурс в красоте рисунка.
вопервых , как многие меня тут поправят , правильно писать воспрИнИмать
вовторых — где критика, это
не смешите мои тапочки ))))
в третьих — где и на кого я кидался с обвинениями ?
(15) В шапке написано
выйдет тот же результат.
понимаешь — на компьютере бухгалтера вероятнее всего будет EXCEL или WORD , чем
Photoshop с нужными плагинами.
(17) Предлагаю потереть весь офтоп. К нечему конструктивному это не привело а привело к непонятным обвинениям некомпетентности и выставлением на посмешище
тест
и вообще исходный вид статьи былтакой …
но ее решили удалить как политнекорректную на этом сайте.
Вот я ее и пределал, чтобы вообще не удалять.
(16) выкладывай ert-ник с любой круглой синеней печатью (с прозрачным фоном) положенной сверху на произвольный текст в макете, чтоб она правильно отображалась в предварительном просмотре и правильно печаталась.
Время пошло.
+22 посмотрим, какой из вас дизайнер.
(22) PNG использовать можно?
или в 7.7 такого нет?
(24) Да пофик что использовать — главное чтоб работало 🙂
Многие просто не делали никогда картинок с прозрачным фоном в клюшках и не представляют себе, какими извратами приходиться заниматься.
(25) В принципе, не такие уж и извраты. Просто 1С использует странные обрезанные палитры цветов. Да не одну, а минимум две. Или больше. В разных местах разные. Отступление от палитры карается обычно превращением всего в глубоко черный цвет.
+(26) Обычная проблема с рисованием картинок для 1С в том, что не пользуются 1Сной палитрой, а редактируют картинку в редакторе при стандартной палитре. И в картинку попадают цвета, визуально не отличимые от палитры 1С (результат банального сглаживания пр
(27) а в paint net палитру от клюшек подключить мона?
(27) дело еще не только в палитре.
Например, как у автора в обработке — на форме и в пофигураторе — всё супер, в предварительном просмотре и при печати — картинка «уехала» …
(28) не знаю, я его видел последний раз года два назад. Кажется еще будут проблемы эти палитры использовать. Несколько лет назад пробовал на фотошопе, было все нормально, делал картинки. Сейчас попробовал загрузить палитры ГИМПом — одни рыжие цвета. Непонятно. Может у кого есть фотошоп? Проверьте ради интереса, плиз.
(30) уsteep наверняка есть, обещал сделать
Ёпрст , я заметил еще одну хрень в 1С
например на форме есть реквизит Картинка, идетификатор Логотип
код
Логотип.УстановитьКартинку (Объект); срабатывает на ура
Логотип.Сохранить(<Имяфайла>) тоже работает, но то что сохраняет имеет размер, но не открывается никаким редактором…
но в тоже время если в другой объект картинка написать
ДругаяКартинка.Загрузить(<ИмяФайла>) все чих-пых )))
(31) там неправильный заголовок будет у сохраненной картинки.. так сказать, кастрированный bmp — вот и не отображает.
Я не помню, был где-то конвертер, чтоб 1с-ные картинки в нормальный bmp сохранять
Прочитал топик…дааа, господа дизайнеры — уж поверьте 1с и фотошоп несовместимы))), и действительно приходится извращаться чтобы получить приемлемый результат картинки на мокселе.
Я в свое время опытным путем пришел к такому решению:
картинку вставляем в Excel, там из стандартного набора берем инструмент «Установить прозрачный цвет» и убираем им белый (или какой другой) фон.
Естественно, чтобы результат был более-менее приемлемым, картинка должна быть достаточно однородной по цветам.
Далее через клипбоард копируем-вставляем картинку из Excel в 1С.
Еще можно вспомнить такое «чудесное» поведение 1С. Просто открытый моксель с картинкой (что в Предприятии, что в Конфигураторе) просто бессовестно начинает отжирать память (отжираемая память увеличивается!)
Так что автору за простой способ — респект!
(33) Спасибо за комментрарий, очень приятно
(33) на предварительном просмотри и при печати , при таком способе, картинка либо будет иметь непрозрачный фон, либо «уедет» в размерах.
Я пока знаю только 1 способ нормальной печати картинки с прозрачным фоном..
но он слишком громоздкий.
(35) и на предпросмотре и при печати — все ок — прозрачность остается и цвета нормальные.
Я постоянно этим способом вставляю всякие поздравлялки к праздникам на печ. форму отгрузочного документа. Правда картинку в grayscale перевожу, ибо печатается все-равно на черно-белом принтере, и серая картинка на форме меньше весит
(36) тест прикрепи — не верю.
(37) ну ёбтить…. 😉
лови…
Еще, если мне не изменяет память, для сей процедуры подходит ТОЛЬКО Excel 95 — 2003 (2007 не катит, Word не катит)
(37) ну для вывода на печать можно немного «извратится» и дописать процедуру
таблица сохранить как Excel сохраняет правильно и красиво
распечать лист , а потом его удалить — пользователь и не заметит разницы (если только у него нет EXCEL)
(38) с цветной картинкой такой фокус не прокатит..
А я нашел способ как и в цвете выложить чтобы печатало — стандартным способом !! Сейчас выложу
твою мать..
Этот способ я и так знаю — ЭТО — внедренный Объект от мелкософта, ЭТО — не КАРТИНКА.
+42 и весит такой моксель — будь здоров… а ты в (33) утверждал, что это обычная картинка, скопированная с офиса, а не внедренный OLE- объект
Выложил — комментируем )))
+43 и память тебе изменяет.. там пофик, что это за ole-объект.
ЗЫ: на данный момент, это единственный способ печати картинки с прозрачным фоном, без искажений..
Даже всякие ocx-ы, типа activemmp и 1сbmp не дают нужного результ
(44) и.. где оно ?
(43) «просто» скопирована из ОФИСА — все сделано по инструкции , за одним маленьким исключением. И все чих-пых
(44) комментирую — размер уехал, что в предварительном просмотре, что на печати.
(47) но уже лучше , намного лучше — можно подогнать один раз и все будет и ОТОБРАЖАТЬСЯ и ПЕЧАТАТЬСЯ как нужно.
+47 сделать такую картинку — как 2 пальца об асфальт — в открытом офисе (ворд это или эксель — пофик) копировать сразу 2 объекта, в 1с-ине вставлять … вставится 1 картинка, но размер её уезжает при печате/просмотре.
(49) затрахаешься..это пройденный этап.
(51) Не будь таким злым. Для тебя это пройденный этап, а для кто — то вообще не понимает о чем речь. «Затрахаешся » — ну и хорошо, если долго мучится , что нибудь получится.
+52 и «полностью рабочий» убери из заголовка — это не правда..
🙂
(52) я просто константирую факты..
У тебя сейчас картика «уехала» + изменила пропорции…
если картинок несколько и нужна точность — например, если картинка — это бланк/печать и т.д, то упаришься подгонять таким способом…и потратишь кучу времени.
А результат всё равно будет плачевным.
(42) в моем примере ЭТО именно КАРТИНКА, а не внедренный объект!
(40) да, с цветным куском принт-скрина экрана — не получается, но я и раньше в (33) говорил про однородность изображения 😀
(40) Да, с цветом сходу (кусок принт-скрина экрана) не получается
(42) в моем примере это именно КАРТИНКА, вставленная с офиса
Ёпрст, ты никак бъешься (или недавно бился) над задачей типа: «Автоматизация печати документов с синей печатью контрагента»? 😀
(56) ПОЛНОСТЬЮ СОГЛАСЕН!!!! 👿 поэтому два раза запостил… первый раз не увидел, подумал, что не дошло
(55) В твоём примере — ЭТО OLE-ОБЪЕКТ MS Word
(57) не, я эту задачу еще решал году в 2001-ом …потом в 2005-ом, когда релиз сменился..
и вот недавно опять — нужно моксель в pdf запихать с картинкой с прозрачным фоном, теперь жду УжастаБухгалтера, когда он в йокселе реализует конвертацию в pdf
+60 Просто есть засада, если такую форму отправить на любой pdf принтер (хоть от Adobe, хоть на PDFCreator, или еще какой, неважно) — то картинка будет с белым фоном..в pdf…
Тут-то и ж….
Единственный выход пока, конвертить йокселем в
(59) вот ведь ёпрст…)) 😳 щас с серым еще посмотрю…
(60) и как решил в 2001-м -5-м, если вкратце ?
тест
(61) только новыми сообщениями можно увидеть, что напечаталось 🙂
В старых релизах, достаточно было в экселе выставить картинки прозрачный фон и скопипастить в 1с-ину.. + всякие ocx были (вот это
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=115&lid=1244
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=111&lid=2725)
или это
В новых релизах — болт: картинка становилась с серым фоном в предприятии… А потом, на кубани Uho показал, как делать с помощью OLE-объектов… это тоже самое, что и у вас.. на форму кладешь OLE-объект ворда или экселя, в открытом офисе втыкаешь картинку ну и т.д..
(59) А вот это посмотри — тоже ОБЪЕКТ? у меня как картинка
(65) да блин. Создать картинку , именно картинку — не проблема. И у вас это — картинка.
Только вот проблема — её правильно распечатать — нажми на предпросмотр в самом пофигураторе — поймешь, о чем я.
(66) да все нормально на предпросмотре!!! в работу уже запустил — на туже счет-фактуру, что с дедом морозом была!
(66) Трабла в том, что сей … ммм … фокус НЕ ВСЕГДА удается повторить! я к этой картинке в дополнение хотел георгиевкую ленту еще в другое место прилепить — не получается — черный фон вместо прозрачности при вставке 😥
(66) ActiveBmp и bmp_1C из (64) поста — сейчас (27-й релиз) имеет смысл попробовать?
(67)>>>да все нормально на предпросмотре!!!
Это нормально — по твоему ?
+70 картинка обрезается, при печати — тоже.
(68) повторить легко — копируй 2 объекта одновременно в открытом ворде/экселе.
(70) Ага, у меня тоже обрезается совсем чуток, только справа… сначала даже не заметил..
Но цвет — прозрачный! 😉
(71) и, кстати, с 2007-го офиса — не получается никак — вместо прозрачности — белый фон
на (69) ответь
(73) Попробуй подогнать печать таким способом — умаешься..
Проще уж OLE-объект воткнуть — там и пропорции правильные и всё печатается как надо.
Размер только — ого-го..
(69) размеры плавают… можешь скачать — сам увидишь — при печати ж..а
🙂
(76) ну тогда и качать не буду 😉 вобщем проблема открыта…