<?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='\
Советую посмотреть еще вот вэту сторону — возможностей больше, хоть и требуется установленный Microsoft .NET Framework 2.0
Если не поленюсь или будет интерес, добавлю функционала.
Пока что обработку можно воспринимать ещё и как учебный материал в части использования средств работы с файлами БСП (создание элементов файлов, обновление версий).
Такое есть пожелание. Если используется БСП или требуется какая-то определённая версия типовой конфы, то желательно, чтобы перед вызовом функций/методов общих модулей проверять версию БСП и/или конфы. И ниже определённой версии не запускаться.
Windows 7 x64, клиент-серверный вариант, сервер 1С:Предприятия — x64, на другой машине. В рабочий каталог пользователя не устанавливается. В отладчике выдаёт пустую строку. Каталог я руками менял и перевходил в базу. Можно ли реализовать установку компоненты во временный каталог, на текущий сеанс запуска 1С:Предприятия?
Версия конфигурации — УНФ, 1.2.3.2.
(4)
Это и так есть и было изначально, ещё с варианта для 10.3.
Добавил обработку КопированиеИзображенияИзБуфераОбмена82 — УТ1107.epf для Управления Торговлей версий 11.0.6.3 (тестовый релиз) и возможно поздних.
В УТ 11.0.6.3, вернее в БСП 1.1.1.12, изменились наименования некоторых модулей, механизм присоединённых файлов и многое другое.
Ещё один апдейт КопированиеИзображенияИзБуфераОбмена82 — УТ1107.epf, вернее устранение последствий перетасования процедур и модулей в БСП.
Продолжаем жрать кактус..
И ещё много фиксов в КопированиеИзображенияИзБуфераОбмена82 — УТ1107.epf
И продолжаем жрать кактус….
И ещё немного фиксов … Как хорошо было на УТ 11.0.5…
На УТ 11.0.6.7 у всех работает без ошибок? Или лень писать?
Я так понимаю нет групповой обработки объектов? В принципе с небольшой доработкой под себя отличная тема. Благодарю.
(11) Обработка является развитием этой работыhttp://infostart.ru/public/19932/ , которая в свою очередь делалась для облегчения процесса научного копи-пастинга изображений или из графического редактора или напрямую с сайтов.
Какой-либо групповой обработки не предусматривалось.
Добавлен вариант обработки для конфигурации Розница 2. Функционал и код практически идентичны, различие только в используемых модулях и вызовах процедур для работы с файлами в этой конфигурации.
Как выяснилось, вариант для Розницы 2 работает в Управление небольшой фирмой 1.3
Как выяснилось, вариант для Розницы 2 работает в Управление небольшой фирмой 1.3
в Управление небольшой фирмой 1.3 не работает и Розница 2 кстати тоже, при открытии вот чего пишет
{Форма.Форма.Форма(122,10)}: Переменная не определена (РаботаСФайлами)
илище(ФайлКартинки,
Возврат <<?>>РаботаСФайлами.ПолучитьДанныеФайлаИНавигационнуюСсылкуВерсииВоВременномХран
Не имейте мне мозг, работает. КопированиеИзображенияИзБуфераОбменаУФ_Розница2_82.epf
Управление небольшой фирмой, редакция 1.3 (1.3.1.4)
Наверное, не тот файл открыл.
Разуй глаза и посмотри При скачивании обращайте внимание на варианты файлов
Не имейте мне мозг, работает. КопированиеИзображенияИзБуфераОбменаУФ_Розница2_82 .epf
Управление небольшой фирмой, редакция 1.3 (1.3.1.4)
Наверное, не тот файл открыл.
Разуй глаза и посмотри При скачивании обращайте внимание на варианты файлов
Ладно не кипишуй, не заметил что файлов там несколько. Спасибо что ткнул носом. Все заработало
Спасибо,все работает.Пригодилось.
отлично
Хорошая обработина. Как раз пригодилась.
Добавлен вариант обработки для УТ 11.0.7.8.
Вариант обработки для Розницы 2.0.2 работает в Рознице 2.0.3
Перестала работать в версии УНФ 1.3.2.5, пишет недостаточно фактических параметров при записи.
НСтр(«ru = ‘» + «Не удалось записать основное изображение! %1′»)),
(22) Выползи из темы и вкурись, что написано красным жирным шрифтом на основной странице.
Поясняю, в версии УНФ 1.3.1.4 обработка работала за что спасибо, но после обновления версии до 1.3.2.5 перестала работать.
Скачал заново но оказалось та же самая КопированиеИзображенияИзБуфераОбменаУФ_Розница2_82 1.0.7.
(24) Ну не знаю, у меня всё работает в УНФ 1.3.2.5. Сами разбирайтесь, почему у вас косяк.
Файл перезалил на всякий случай, но он прежний, от 17 мая 2011 года.
Может быть глупый вопрос, но:
1) Добавил обработку в УТ 11.0.7.19 как дополнительные отчёты и обработки
2) Назначил пользователей для быстрого доступа
3) Назначил разделы
При попытке открыть из меню Дополнительные обработки выдается ошибка:
Что нужно подкрутить?
(27) Открой базу под учёткой администратора, потом открой обработку через меню Файл. Компонента зарегистрируется, после чего можно открывать из справочника под обычной учёткой.
Под учёткой администратора имеется в виду учётная запись пользователя операционной системы, а не пользователь ИБ с правами администрирования.
(29) учётка пользователя ОС имеет админские права.
UPD. сорри, не увидел пред-предыдущее сообщение. Сейчас попробую.
В Управлении небольшой фирмой 1.4 тоже работает.
Исправлены ошибки в варианте для Управления торговлей линии 11.0.7.8
Вариант для УТ 11.0.7.8 работает в УТ 11.0.8
Пофиксены некоторые ошибки для варианта УНФ 1.3, Розница 2
Пофиксены некоторые ошибки и добавлена улучшенная проверка ссылки на изображение для варианта УНФ 1.3/1.4, Розница 2.0.3, Управление торговлей 11.0.8
как картинку из буфера таскаешь?
Добавлен вариант для конфигураций, основанных на Библиотеке стандартных подсистем 1.2.3.1. В настоящий момент это Розница 2.0.4.5
вопрос от дятла:
не работает обработка в Win 7 Pro 64x.
пишет clipoard.dll не зарегистрирована.
указать — не помагает.
в чём причина?
(39) В описании программы и в посте (28) написано. Надо было разуть глаза и прочитать всё, прежде чем в приват переться.
(40) знаешь. я захожу только админом и на компе тоже админ. и далее, прежде чем тебя спрашивать — прочитал всё здесь (включая и описание и комменты).
поэтому и пришлось переться. извини, что обидел. похоже проблема (кроме меня дятла-пердуна) в 64x — как решитьто?
(41) Ну не знаю. У меня на Винде 7 корпоративной, 64-х разрядной работает, так что разбирайтесь сами, как хотите.
может каких деталей нет в описании?
делал так:
скачал, открываю в 1С (пользователи — и ОС и 1С, админы).
пишет ошибку — «компонента clipboard.dll не найдена…………».
далее из «Действия — Установить» указывал папки и где есть этот файл и чистые новые папки (пробовал много вариантов).
ноль — не работает.
(43) Отладчиком пройдитесь.
прошёлся:
в строке 262 формы обработки «КопированиеИзображенияИзБуфераОбмена82 — УТ11078.epf» получается «Ложь».
файл есть в папке.
ПолноеИмяClipboardDll = «S:1С 8-28.2.15.301inclipboard.dll».
ну и сообщение про ошибку, далее.
тоже самое (таже строка) и при указании другого каталога (через меню).
(45) S: это сетевой диск. 1С его, наверное, не видит. Попробуйте указать нормальный, полный путь, вида C:Program Files (x86)1cv828.2.15.319in.
Действия — Установить ….
S — это локальный диск. просто обозвал его админ так. SSD он вообще, поэтому наверное.
в этот каталог 1С — установлена 1C. bin и др. её каталоги — там например.
в папке «C:Program Files (x86)…» есть только папка «common». вобще конечно странно, но думаю изза диска это тоже сделали.
переустановить 1С в «C:Program Files (x86)» ?
Действия — Установить ….
пробовал — разные каталоги — тотже результат. куда нужно?
(48) У меня нет Win 7 Pro 64x, и я не знаю тонкостей её поведения. Разбирайтесь сами, как хотите.
разобрался наконец — UAC нужно было отключить. теперь всё работает.
(50) Ну и хорошо. Внёс в описание программы.
на превьюшке видно что обработка на управляемой форме. Для толстого клиента есть варианты?
(52) Есть.http://infostart.ru/public/19932/
Добавлен вариант для конфигураций, основанных на БСП 2.1.2 и позднее (Розница 2.0.8 , УНФ 1.4.6, возможно УТ 11.1)
Вариант проверен также в Рознице 2.0.6.4 и УТ 11.1.2.8
Руки у меня кривые, видать. Не хочет компоненту подключать, ПодключитьВнешнююКомпоненту возвращает ложь, я уж её и в макет конфы сунул, и как библиотеку зарегил. Дело было на клиенте, Win2003, 1С 8.2.17.169
что не так, помимо головного мозга?
(56) Попробуй UAC отключить, запустить обработку, потом включить назад.
(57) И так уж всё на небезопасном минимуме стоит, всё дозволено, и сам — админ. Нейдёт, однако.
(58) Тогда ничем не помогу. Вопрос к операционной системе или к библиотеке clipboard.
Вариант для конфигураций, основанных на БСП 2.1.2, работает также на УТ 11.1.6.
Хорошо хоть 1С больше не колбасит подсистему прикрепляемых файлов.
Спасибо большое. Очень пригодилась
Для себя в базе УТ 11.1 доработал возможность хранения картинок также и для характеристик номенклатуры и адаптировал для этих целей данную обработку. еще раз огромное спасибо !
Добрый вечер ! Обработка шикарная, уже два года пользуюсь. Один вопрос возник, не получается у меня её запустить в веб-клиенте. Очень нужно удаленному сотруднику доступ предоставить именно через веб клиент. Firefox ругается что clipboard.dll не установлен. IE что расширение для работы с файлами не подключено.
(62) В веб-клиенте с ней не работал. Если так надо, за тысячу рублей возьмусь.
Е(63)
Устраивает. Куда платить? Может почту оставите я конфигурацию скину.
(64) Не надо пока конфигураций. Лучше здесь напишите, какая именно и какой вариант обработки. Чую, что в веб-клиенте компонента может вообще не работать по причине com-овской природы, но обосновать не могу.
КопированиеИзображенияИзБуфераОбмена82 — УТ11078.epf версия 1.0.7
Управление торговлей для Казахстана — 3.0.2.19
Обработка сообщает ошибку, потом запускается и сразу отваливается. Момент работы даже поймал.
Интересно, в УТ 11.2 кто-нибудь пользуется?
В тонком клиенте длл совсем не работает?
ПодключитьВнешнююКомпоненту возвращает Ложь
В справке пишут:
А в описании этого метода примечание:
Надо в 1с вставить картинку из буфера обмена ? Работать с изображением из буфера обмена в 1с версий 8.1 , 8.2 , 8.3 из Windows XP- windows10?
Пока возможно скачать разработку 2010 годаhttps://infostart.ru/public/19932/ без списания стартмони в 2018, 2019, 2012 году бесплатно. В макете обработки есть dll-ка clipboard.dll 511кб ( 523264б ), версия 1.0.0.5
Возникает ошибка 80004005 при регистрации ( c:Program Files1cv82>regsvr32 clipboard.dll ) в командной строке?
Попросту, надо запустить cmd «Командная строка (Администратор)» и зарегистрировать библиотеку
Очень простой код
Показать
Тип не определен (Addin.Clipboard) ? Понадобиться запустить cmd «Командная строка (Администратор)» и зарегистрировать библиотеку
regsvr32 «c:Program Files1cv82clipboard.dll»
В итоге, в рунете появятся бОльше качественных и полезных фото))
В целом, для тех кто не в пожизненной теме — C# . Кто с уважением посматривает на кнопку «Заказать установку этой обработки». На дворе 2018год. Уже Python as an Excel scripting language Для 1с+Python from PIL import Image и subprocess.Popen в помощь! 🙂