<?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='\
Как вставить штрихкод в документ ворда, когда удаленному пользователю запрещено использование внедренных ActiveX-ов и не установлены шрифты, аналогичные ean13.ttf с диска ИТС?
Компонента поможет 😉
(0) В 7.7 не рисует.
Объект нормально создается, а контейнер пустой.
Отзывчивый ты наш…:))))
(3) Ты про что?
(2) Размеры контейнера какие? Попробуй использовать привязки.
(5) Какие привязки?
Контейнер на всю форму должен быть?
(6) Ну класс растягивания что-ли.
Возможно размер контейнера больше, чем форма, потому сам штрихкод находится за пределами формы.
Я вообщем, завтра до 7-ки доберусь, посмотрю.
(6) И методы, как в 8-ке используешь?
ШК.ШиринаШтрихкода = ШиринаШтрихкода;
ШК.ВысотаШтрихкода = ВысотаШтрихкода;
ШК.Штрихкод = Штрихкод;
ШК.ВыводитьТекст = ВыводитьТекст;
Попытка
ШК.ТипШтрихкода = ТипШтрихкода;
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Попытка
ШК.Сгенерировать();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Если после генерации ошибки нет, попробуй сохранить в файл — будет ли там картинка.
(7) Извиняюсь, работает.
Почему-то подумал, что без генерации должен отображаться какой-нибудь умолчальный.
(10) Хе… :))) Не, ну можно сделать и умолчальный…
Хорошо бы сразу дать ссылочку на скачивание 1С++ класса…
вопрос: без него никак?
Василий, а стоит ли внутри какая-нибудь «защита» при невозможности генерации требуемого ШК? например, если ШК допускает только цифры, а нерадивый разработчег вбабахал туда нецифровые символы — возвращает ли метод Сгенерировать код возврата? типа 0 — плохо, 1 — ок.
…???
(4)http://infostart.ru/projects/4200/?p=1#comm20
(13) Срабатывает исключение.
А вообще, метод Сгенерировать() — возвращает результат, типа «булево».
Одно мне не ясно .. нафига всё это нужно ?…
Главное, активихс запрещен, а вот ВК — нет…
гы…
🙂
(12) Продолжаешь лениться в изучении 1С++.
Продолжаешь пугаться слова «класс».
АктивИкс это ВСТРОЕННЫЙ класс, без него никак ;))
Он нужен для показа активиксов на форме.
У меня ощущение, что ты не в курсе вообще, что дает работа с любыми активиксами непосредственно на форме.
(17) АктивИксы запрещены, внедренные в ворд и на стороне покупателя (к примеру). А ВК — это для генерации (на стороне продавца).
А зачем весь этот изврат, типовая компонента не подходит что ли? я все делал с помощью ее и отображал на форме и карточки печатал с закодированным ФИО в виде ШК, смысл? Для чего это надо???
(20) см 1 и 19 комменты.
А ответьте убогому — зачем типовая компонента, зачем ActiveX, что трудно реализовать алгоритм формирования штрихкода и использовать соответствующий шрифт ttf?
Я так уже лет 5 живу, и никаких хитрых «помогалочек» не нужно
или разобраться с чужим активиксом проще, чем прочесть алгоритм формирования штрихкода и реализовать его?
(22) Вы документы, сохраненные в экзеле клиентам (к примеру) тоже с этими соответствующими шрифтами высылаете?
(23) не боись — вышлем в jpeg-е :))
я как-то больше pdf-аю…
но в общем — да, прикладываю шрифт (как и сама 1С для своих регламентированных)
с другой стороны нет у меня таких постоянных клиентов, может раз в год появляется — так что «сытый пешему не товарсчь»
(18) НЕ! не пугаюсь!! уже работает один класс — ввод в ТЗ напрямую в ячейки!! 😉 Времени просто особо нет и то что можно без особого изврата без классов — то без классов…
(26) Путаешь пользовательские классы и встроенные.
Хотя встроенные наверно лучше называть объектами.
(10) Добавил предварительну. генерацию и свойство «Авторазмер»
(27) не путаю, вроде.. в (26) речь идет именно о пользовательском классе
(25) я бы таких любителей пдф-ания на месте расстреливал… придет заявка в пдфе на 10 листах да еще в таблицеподобной форме — чем мне эту заявку оттуда АВТОМАТОМ выковыривать?
(20) типовая компонента позволяет рисовать ITF14..?
(30) ну к счастью для мирососуществования «бодливой корове» аллах…. уменьшил возможности…
ежели приходит заявка для автоматической обработки, то каким образом этому процессу способствует штрихкод (я так понимаю, что ежели есть штрихкод, то видимо для печати и последующего сканирования, ежели для программного разбора — то зачем ввобще туда штрихкод вкрячивать?)
8о\r
может я в своем поступательном развитии еще не дошел до автоматического преобразования штрихкода из активикса в сигналы сомпорта — ну так звиняйте дяинька, что мое самадхи вашему по колено
ну и в качестве жеста доброй воли — вместо напрасного расхода боеприпаса попробуйте в следующий раз договориться с контрагентом о формате обмена данными. Говорят коммуникация — залог взаимовыгодного сотрудничества… я правда не проверял
;о))
(32) в (30) ругаюсь на любителей обмена информацией в формате ПДФ, ШК тут никаким боком, ясен пень, не относится…
…
ну как попробуете с ашаном или метро ЛИЧНО договориться о нужном и удобном для вас формате обмена — сообщите!
(31) И часто ты рисуешь в ITF14??? Мне изо всех ШК за 10 лет понадобились только EAN-8,13 и Code39,128 все — ну и вот у меня вопрос куда и под какие задачи это нужно?
Идея хорошая
(34) ты видать просто не представляешь степени изощренности клиентов 😉
Dwiss — Попробуй офис 2007 версии стандарт.
(36) Точно Сергей, изощренности у них хватет 🙂
(37) Что мне в нем пробовать и зачем?
Dwiss — на твой (20) пост. в офисе 2007 стандарт всех таких возможностей нет.А Делать нада.
(39) А надо ли — задйся вопрсом, разве нельзя все сделать из 1с не используя офис.
Можно. Но форма договора особенно если частенько изменяется и вносятся изменения… Лучше формировать из ворда. Я вот своих кадровиков пересадил на ворд. теперь шарашат трудовые договора из ворда только так. причем если какие то новшества меня не дергают понапрасну а сами вносят в шаблон дополнения. Ну это все дело вкуса знаете ли.
— добавлена генерация 2D-кода QR Code
е! вау! автор жжот!
(43) Кстати, очень даже веселая штучка оказалась.. Я даже русские буквы закодировал и распознал 🙂
(44) Для QR спецсканер нужен?
(45) Типа тогоhttp://www.barscanner.ru/event.php/event=1288
Но я распознавал из картинки (BarcodeReader мой)
(46) думает ли аффтар 😉 расширять список распознаваемых ШК?
(47) а каких, например?
(48)ИМХО, произвольный набор пикселов. Трехмерный, естественно :))
ye// там где про сканер — там еще 2D всякие есть… если уж делать — так подорвать бизнес всем халявщикам… 😉
(50) А зачем всякие 2Д, если этого достаточно? Смысла, думаю, нет…
в принципе да…
Ждем новых заманух! 😉
dushelov, а можно выложить обработку для 7.7. Скачивал с Вашего сайта, так там демка на 3 процедуры. Если можно. Заранее благодарен.
(54) Берете любой пример работы с активиксом с 1С++ и используете методы компоненты.
dushelov спасибо огромное за QR Code!
у меня небольшая проблема с сохранением картинки из обработки, метод СохранитьКартинку() отрабатывает возвращает истина, а файла никакого не сохраняется. компоненту регистрировал, разложил библиотеки в in, system32,
.net установлен
другие коды например EAN13 нормально сохраняются в картинку, если после EAN13 сформировать QR Code и сохранить, то сохраняется опять EAN13, посмотри пожалуйста в чем дело.
ребята подскажите как на макет добавить этот объект, там нет ActiveX в меню объектов для вставки в таблицу 🙁
dushelov, для того чтобы эта обработка стала бестселлером среди штрихкодеров, еще бы добавить DataMatrix, и PDF417
platform for all 2D code users with two-dimensional coding and decoding platform provide technical support and development assistance. 2D code types include : PDF417, Qr_Code. DataMatrix and MaxCode, Aztec, etc. (2006-09-28, Visual C++, 169KB, Downloads 138)
описание на китайском…
Не могу опубликовать сообщения со ссылками и описаниями библиотек, много интересного нашел а опубликовать не получается… может это оттого что на англицком?
дот нет Компонента на все штрих-коды включая Datamatrix и PDF417, для виндовых форм, поддерживает управляемый код, генерит все картинки, незнаю как опубликовать оригинальное описание, сюда не пропускает тексты на английском, а описывать все это на русском неохота 🙁
примеры на вижл бейсике
Datamatrix decoder, примеры на С
SDK — для мобильных платформ:
читалка на яве для всех 2D штрихкодов.
PDF417, QR_CODE, DATAMATRIX controls and examples, it is applicable
(2008-07-03, MultiPlatform, 2318KB,)
(63) Только то, что она «крякнутая», то уже использование не желательное!
(57) Сейчас посмотрю
(57) Обновил.
(67) я не уверен что она крякнутая, может она купленная?
(70) Открой архив…
(69) Спасибо, я заменил библиотеки, теперь при нажатии выполнить в тестовой обработке выдает «Невозможно загрузить файл или сборку QRcode version=1.0.3476.19169 или один из зависимых от них компонентов. Найденное определение манифеста сборки не соответствует ссылке на сборку.»
пытался зарегать компонент снова на компе где стояла предыдущая версия, и на другом где ее не было, при запуске файла «reg.bat» выдает тоже — «Failed to load dependency QRcode of assemly Dushelov.barcode1C… Найденное определение манифеста сборки не соответствует ссылке на сборку.»
Посмотри пожалуйста что там еще не так…
(71) точно варез, мы тут в глубинке не так чувствительны к лицензионности нам очень далеки эти проблемы, прошу прощения если что 🙂
+(72) забыл сказать что при этом обработка отлично формирует остальные ШК, за исключением QR. видимо проблема в очередной сборке QRcode.dll
У меня тоже QRcode не сработал
Обновил.
Люди, подскажите все-таки — как вывести штрихкод в макет под 8.1 ?
В макет вставить поле картинки и при выводе на печать туда выводить картинку из компоненты.
Авторство вещь важная, но ненужно доводить его до само выпячивания, в названиях Соmобъектов или процедурах. Ему самое место в скромной кнопкой about. 🙂 — А так очень достойная разработка.
(79) При чем тут самовыпячивание? Мелкософт тоже самовыпячивается, везде MS, как и апл, как и все остальные. Это — бренд, а не самовыпячивание.
(80) Пральна. Стесняться не надо. Автор имеет полное право на любое название.
У меня одна из ВК назывется semen.dll, а ее объект MyCatSemen.
Прототип сейчас храпит рядом со мной под кондёром.
бррр… есть проблема, EAN-13, штрихкод 4811424058982, продукт реально существует и корел генерит штрихкод под него… а обработка выдает «EEAN13-3: Country assigning manufacturer code not found»… это чё за зверь?
есть возможность немного доработать?
нужно чтобы над штрихкодом выводился заголовок (простая строка рус.+лат.+цифирки) и галочка «выводить заголовок».
а вообще, мы пользуемся и радуемся!
(83) Для QR Code ?
нет, для code128 или других простых типов штрихкодов
У меня проблема с кодировкой кирилицы. Установив вашу компоненту и запустив обработку ГенерацияШтрихкода.epf. в поле штрихкод я набрал для примера «Добрый день». Получил картинку 2D-кода (QR Code) потом я сосканировал ее на сайте (http://zxing.org/w/decode.jspx — Online Decoder) я получил Äîáðûé äåíü (пробовал изменять кодировки в браузере не помогает). Тот же результат я получил если сканировать распечатаную картинку телефоном. Подскажите пожалуйста в чем проблема?
(86) А разме в штрихкодах испольуется кириллица?
(85) Это — «ВыводитьТекст»
Прикольно!
Вот бы ещё для такую же ВК для web клиента 8.2.
Если в обработке убрать галочку «Выводить текст» а в поле штрихкод набрать «Добрый день» то результат сосканированный на сайте (http://zxing.org/w/decode.jspx — Online Decoder) получил Äîáðûé äåíü. Это проблемма в компоненте или я делаю что-то не так?
(90) «ВыводитьТекст» тут совсем не при чем. Тот пост был адресован (85)
Вы где-то видели использование кириллицы в штрихкодах?
(89) Так в 8.2 она и используется у меня.
В контексте сервера работает, генерит картинку и на клиент выводит уже готовую картинку на макет.
Если я генерирую штрихкод например на сайте (http://qrcc.ru/generator.php) и пишу текст «Добрый день» , тогда сосканировав картинку на сайте (http://zxing.org/w/decode.jspx — Online Decoder) я получаю результат ===> «Добрый день» .
Использование кирилицы в штрихкодах есть необходимость у меня есть задача загнать в штрихкод 2D платежное поручение в макете счета-фактуры, когда покупатель прийдет с этим счетом в банк касир сосканирует в свою программу клиент-банк и не будет тратить время на набор платежа. У моего клиента из-за долгого набора оператора в банке образуется очередь в кассу.
У меня вопрос задачу описанную в (93) возможно выполнить используя вашу компоненту или она не умеет пока работать с кирилицей?
(94) Посмотрим…
(88) «Выводить текст» — это выводить текст штрихкода, а «Выводить заголовок» — это выводить заголовок.
Например, заголовок — «пирожок с вишней», штрихкод — «pirog001»;
заголовок — «пирожок с капустой», штрихкод — «pirog023»
Всем добрый день.
Помогите пожалуйста справиться с установкой новичку (можно сказать полному «нулю» 😳 ).
Нужно установить в 1С генератор штрих-кода. Microsoft .NET есть.
reg.bat запустила. Что дальше? в 1С в меню «Формы» не вижу…
Ау! Ребята. Действительно очень надо.
Подскажите, что дальше делать! 1С-8.1.
+(78) Как это сделать практически не подскажешь, хоть кусочки кода… как это делается???
Как достать картинку из компоненты чтоб вставить в поле картинки… Просто сохранить а потом удалить?
(100) Именно так.